diff -Nru eclipse-rse-3.1.2/debian/changelog eclipse-rse-3.4.2/debian/changelog --- eclipse-rse-3.1.2/debian/changelog 2013-03-21 20:48:30.000000000 +0000 +++ eclipse-rse-3.4.2/debian/changelog 2013-05-31 20:59:58.000000000 +0000 @@ -1,9 +1,31 @@ -eclipse-rse (3.1.2-1build1) raring; urgency=low +eclipse-rse (3.4.2-1) unstable; urgency=low - * No-change rebuild to fix libcommons-net2-java dependency. - (LP: #1158182) + * New upstream release. + * Add d/get-orig-source. + * Removed obsolete d/fetch-eclipse-source.exclude. + * Use xz compression for upstream tarball. + * Bump Standards-Version to 3.9.4. + * Removed obsolete DM-Upload-Allowed field from d/control. + * Updated upstream homepage. + * Canonicalize Vcs-* fields. + * Removed default-jre | java5-runtime | java6-runtime from Depends. - -- Graham Inggs Thu, 21 Mar 2013 21:48:30 +0100 + -- Jakub Adam Tue, 21 May 2013 13:59:00 +0200 + +eclipse-rse (3.4.0-1) experimental; urgency=low + + * New upstream release. + * Remove eclipse-emf and tofrodos from dependencies. + * Add Jakub Adam to Uploaders. + * Removed useless d/*.properties. + * Updated d/watch. + * Bump Standards-Version to 3.9.3. + * Split package into eclipse-rse and eclipse-rse-sdk. + * Override codeless-jar lintian warnings for documentation bundles. + * Remove org.eclipse.tm.terminal feature from d/eclipse.features; + it is built as a part of org.eclipse.rse. + + -- Jakub Adam Thu, 13 Sep 2012 18:04:25 +0200 eclipse-rse (3.1.2-1) unstable; urgency=low diff -Nru eclipse-rse-3.1.2/debian/control eclipse-rse-3.4.2/debian/control --- eclipse-rse-3.1.2/debian/control 2013-03-21 20:48:26.000000000 +0000 +++ eclipse-rse-3.4.2/debian/control 2013-05-31 20:59:58.000000000 +0000 @@ -1,31 +1,24 @@ Source: eclipse-rse Section: java Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian Orbital Alignment Team -Uploaders: Niels Thykier , - Benjamin Drung +Maintainer: Debian Orbital Alignment Team +Uploaders: Niels Thykier , Jakub Adam Build-Depends: debhelper (>= 7), default-jdk, javahelper (>= 0.31~), - eclipse-emf (>= 2.4.1), eclipse-pde (>= 3.5.2), eclipse-platform (>= 3.5.2), libcommons-net2-java, - tofrodos, unzip, zip -Standards-Version: 3.8.4 -DM-Upload-Allowed: yes -Vcs-Git: git://git.debian.org/git/pkg-java/eclipse-rse.git -Vcs-Browser: http://git.debian.org/?p=pkg-java/eclipse-rse.git -Homepage: http://www.eclipse.org/dsdp/tm/ +Standards-Version: 3.9.4 +Vcs-Git: git://anonscm.debian.org/pkg-java/eclipse-rse.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/eclipse-rse.git +Homepage: http://www.eclipse.org/tm/ Package: eclipse-rse Architecture: all -Depends: default-jre | java5-runtime | java6-runtime, - eclipse-emf (>= 2.0.8), - eclipse-platform (>= 3.5.2), +Depends: eclipse-platform (>= 3.5.2), ${misc:Depends}, ${orbit:Depends} Description: Eclipse Remote System Explorer (RSE) @@ -39,3 +32,24 @@ * remote shell access (compiling with error navigation), * remote process handling through dstore agents, * and remote debugging through CDT / gdb. + +Package: eclipse-rse-sdk +Architecture: all +Depends: eclipse-rse (= ${binary:Version}), + ${misc:Depends}, + ${orbit:Depends} +Description: Eclipse Remote System Explorer (source and documentation) + Remote System Explorer is a framework and toolkit in Eclipse Workbench + that allows you to connect and work with a variety of remote systems. + . + RSE is a framework and toolkit in Eclipse Workbench, that allows you + to connect and work with a variety of remote systems, including + . + * remote file systems through SSH, FTP or dstore agents, + * remote shell access (compiling with error navigation), + * remote process handling through dstore agents, + * and remote debugging through CDT / gdb. + . + This package contains documentation and source for the Eclipse Remote + System Explorer. + diff -Nru eclipse-rse-3.1.2/debian/eclipse-rse-sdk.eh-install eclipse-rse-3.4.2/debian/eclipse-rse-sdk.eh-install --- eclipse-rse-3.1.2/debian/eclipse-rse-sdk.eh-install 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse-rse-sdk.eh-install 2013-05-31 20:59:58.000000000 +0000 @@ -0,0 +1 @@ +org.eclipse.rse.sdk diff -Nru eclipse-rse-3.1.2/debian/eclipse-rse-sdk.lintian-overrides eclipse-rse-3.4.2/debian/eclipse-rse-sdk.lintian-overrides --- eclipse-rse-3.1.2/debian/eclipse-rse-sdk.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse-rse-sdk.lintian-overrides 2013-05-31 20:59:58.000000000 +0000 @@ -0,0 +1,3 @@ +eclipse-rse-sdk: codeless-jar usr/share/eclipse/dropins/rse-sdk/eclipse/plugins/org.eclipse.dstore.doc.isv_*.jar +eclipse-rse-sdk: codeless-jar usr/share/eclipse/dropins/rse-sdk/eclipse/plugins/org.eclipse.rse.doc.isv_*.jar +eclipse-rse-sdk: codeless-jar usr/share/eclipse/dropins/rse-sdk/eclipse/plugins/org.eclipse.rse.sdk_*.jar diff -Nru eclipse-rse-3.1.2/debian/eclipse-rse.eh-install eclipse-rse-3.4.2/debian/eclipse-rse.eh-install --- eclipse-rse-3.1.2/debian/eclipse-rse.eh-install 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse-rse.eh-install 2013-05-31 20:59:58.000000000 +0000 @@ -0,0 +1 @@ +org.eclipse.rse diff -Nru eclipse-rse-3.1.2/debian/eclipse-rse.lintian-overrides eclipse-rse-3.4.2/debian/eclipse-rse.lintian-overrides --- eclipse-rse-3.1.2/debian/eclipse-rse.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse-rse.lintian-overrides 2013-05-31 20:59:58.000000000 +0000 @@ -0,0 +1,2 @@ +eclipse-rse: codeless-jar usr/share/eclipse/dropins/rse/eclipse/plugins/org.eclipse.rse.doc.user_*.jar +eclipse-rse: codeless-jar usr/share/eclipse/dropins/rse/eclipse/plugins/org.eclipse.rse_*.jar diff -Nru eclipse-rse-3.1.2/debian/eclipse.environment eclipse-rse-3.4.2/debian/eclipse.environment --- eclipse-rse-3.1.2/debian/eclipse.environment 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse.environment 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -org.eclipse.* -debian/*.properties diff -Nru eclipse-rse-3.1.2/debian/eclipse.features eclipse-rse-3.4.2/debian/eclipse.features --- eclipse-rse-3.1.2/debian/eclipse.features 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eclipse.features 2013-05-31 20:59:58.000000000 +0000 @@ -1,2 +1,2 @@ -org.eclipse.tm.terminal emf -org.eclipse.rse.sdk emf +org.eclipse.rse +org.eclipse.rse.sdk diff -Nru eclipse-rse-3.1.2/debian/eh-install eclipse-rse-3.4.2/debian/eh-install --- eclipse-rse-3.1.2/debian/eh-install 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/eh-install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -org.eclipse.tm.terminal -org.eclipse.rse.sdk diff -Nru eclipse-rse-3.1.2/debian/featureVersions.properties eclipse-rse-3.4.2/debian/featureVersions.properties --- eclipse-rse-3.1.2/debian/featureVersions.properties 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/featureVersions.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -# Tue Jul 28 12:43:22 EDT 2009 -org.eclipse.tm.discovery,0.0.0=v200905272300 -org.eclipse.rse,0.0.0=v200905272300 -org.eclipse.rse.core,0.0.0=v200905272300 -org.eclipse.rse.dstore,0.0.0=v200905272300 -org.eclipse.rse.examples,0.0.0=v200905272300 -org.eclipse.rse.ftp,0.0.0=v200905272300 -org.eclipse.rse.local,0.0.0=v200905272300 -org.eclipse.rse.sdk,0.0.0=v200905272300 -org.eclipse.rse.ssh,0.0.0=v200905272300 -org.eclipse.rse.telnet,0.0.0=v200905272300 -org.eclipse.rse.terminals,0.0.0=v200905272300 -org.eclipse.rse.tests,0.0.0=v200905272300 -org.eclipse.rse.useractions,0.0.0=v200905272300 -org.eclipse.tm.terminal,0.0.0=v200905272300 -org.eclipse.tm.terminal.sdk,0.0.0=v200905272300 -org.eclipse.tm.terminal.serial,0.0.0=v200905272300 -org.eclipse.tm.terminal.ssh,0.0.0=v200905272300 -org.eclipse.tm.terminal.telnet,0.0.0=v200905272300 -org.eclipse.tm.terminal.test,0.0.0=v200905272300 -org.eclipse.tm.terminal.view,0.0.0=v200905272300 -org.eclipse.rse.wince,0.0.0=v200905272300 diff -Nru eclipse-rse-3.1.2/debian/fetch-eclipse-source.exclude eclipse-rse-3.4.2/debian/fetch-eclipse-source.exclude --- eclipse-rse-3.1.2/debian/fetch-eclipse-source.exclude 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/fetch-eclipse-source.exclude 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -*/org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.xml -*/org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.xml diff -Nru eclipse-rse-3.1.2/debian/gbp.conf eclipse-rse-3.4.2/debian/gbp.conf --- eclipse-rse-3.1.2/debian/gbp.conf 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/gbp.conf 2013-05-31 20:59:58.000000000 +0000 @@ -1,2 +1,2 @@ [DEFAULT] -compression=bzip2 +compression=xz diff -Nru eclipse-rse-3.1.2/debian/get-orig-source eclipse-rse-3.4.2/debian/get-orig-source --- eclipse-rse-3.1.2/debian/get-orig-source 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/debian/get-orig-source 2013-05-31 20:59:58.000000000 +0000 @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +NAME=eclipse-rse +VERSION=3.4.2 +DEB_VERSION=${VERSION} + +ECLIPSE_GIT_WEB=http://git.eclipse.org/c + +rm -rf ${NAME}-${DEB_VERSION} + +VERSION_UNDERSCORE=$(echo $VERSION | sed "s/\./_/g") +REPO_NAME=org.eclipse.tm + +UPSTREAM_NAME=${REPO_NAME}-R${VERSION_UNDERSCORE} +TARBALL=${UPSTREAM_NAME}.tar.bz2 + +wget "$ECLIPSE_GIT_WEB/tm/$REPO_NAME.git/snapshot/$TARBALL" +tar xf $TARBALL +rm -f $TARBALL + +mv ${UPSTREAM_NAME} ${NAME}-${DEB_VERSION} +cd ${NAME}-${DEB_VERSION} + +mv rse/{doc,examples,features,plugins,tests}/org.eclipse.* . +mv terminal/{features,plugins}/org.eclipse.* . +rm -rf releng rse terminal wince + +find -type f -name .gitignore -delete +find -type f -name .cvsignore -delete +rm -f pom.xml dstoreTargets-git.xml +rm -f org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.xml \ + org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.xml +rm -rf *.source + +# remove empty directories +find . -depth -type d -empty -delete + +cd .. + +echo "Creating tarball '${NAME}_${DEB_VERSION}.orig.tar.xz'..." +tar -cJf ../${NAME}_${DEB_VERSION}.orig.tar.xz $NAME-$DEB_VERSION + +rm -rf ${NAME}-${DEB_VERSION} diff -Nru eclipse-rse-3.1.2/debian/pluginVersions.properties eclipse-rse-3.4.2/debian/pluginVersions.properties --- eclipse-rse-3.1.2/debian/pluginVersions.properties 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/pluginVersions.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -# Tue Jul 28 12:43:22 EDT 2009 -org.eclipse.rse.discovery,0.0.0=v200905272300 -org.eclipse.tm.discovery.doc.isv,0.0.0=v200905272300 -org.eclipse.tm.discovery.engine,0.0.0=v200905272300 -org.eclipse.tm.discovery.model,0.0.0=v200905272300 -org.eclipse.tm.discovery.model.edit,0.0.0=v200905272300 -org.eclipse.tm.discovery.protocol.dnssd,0.0.0=v200905272300 -org.eclipse.tm.discovery.transport.udp,0.0.0=v200905272300 -org.eclipse.tm.discovery.view,0.0.0=v200905272300 -org.eclipse.tm.discovery.wizard,0.0.0=v200905272300 -org.eclipse.dstore.core,0.0.0=v200906032235 -org.eclipse.dstore.doc.isv,0.0.0=v200905272300 -org.eclipse.dstore.extra,0.0.0=v200905272300 -org.eclipse.rse,0.0.0=v200905272300 -org.eclipse.rse.connectorservice.dstore,0.0.0=v200906032235 -org.eclipse.rse.connectorservice.local,0.0.0=v200905272300 -org.eclipse.rse.connectorservice.ssh,0.0.0=v200905272300 -org.eclipse.rse.connectorservice.telnet,0.0.0=v200905272300 -org.eclipse.rse.core,0.0.0=v200905272300 -org.eclipse.rse.doc.isv,0.0.0=v200905272300 -org.eclipse.rse.doc.user,0.0.0=v200905272300 -org.eclipse.rse.dstore.security,0.0.0=v200905272300 -org.eclipse.rse.efs,0.0.0=v200905272300 -org.eclipse.rse.efs.ui,0.0.0=v200905272300 -org.eclipse.rse.examples.daytime,0.0.0=v200905272300 -org.eclipse.rse.examples.tutorial,0.0.0=v200905272300 -org.eclipse.rse.files.ui,0.0.0=v200906102345 -org.eclipse.rse.importexport,0.0.0=v200906032235 -org.eclipse.rse.processes.ui,0.0.0=v200905272300 -org.eclipse.rse.sdk,0.0.0=v200905272300 -org.eclipse.rse.services.dstore,0.0.0=v200906102345 -org.eclipse.rse.services.files.ftp,0.0.0=v200905272300 -org.eclipse.rse.services.local,0.0.0=v200905272300 -org.eclipse.rse.services.ssh,0.0.0=v200905272300 -org.eclipse.rse.services.telnet,0.0.0=v200905272300 -org.eclipse.rse.services,0.0.0=v200906102345 -org.eclipse.rse.shells.ui,0.0.0=v200905272300 -org.eclipse.rse.subsystems.files.core,0.0.0=v200906102345 -org.eclipse.rse.subsystems.files.dstore,0.0.0=v200905272300 -org.eclipse.rse.subsystems.files.ftp,0.0.0=v200905272300 -org.eclipse.rse.subsystems.files.local,0.0.0=v200905272300 -org.eclipse.rse.subsystems.files.ssh,0.0.0=v200905272300 -org.eclipse.rse.subsystems.processes.core,0.0.0=v200905272300 -org.eclipse.rse.subsystems.processes.dstore,0.0.0=v200905272300 -org.eclipse.rse.subsystems.processes.local,0.0.0=v200905272300 -org.eclipse.rse.subsystems.processes.shell.linux,0.0.0=v200905272300 -org.eclipse.rse.subsystems.shells.core,0.0.0=v200905272300 -org.eclipse.rse.subsystems.shells.dstore,0.0.0=v200905272300 -org.eclipse.rse.subsystems.shells.local,0.0.0=v200905272300 -org.eclipse.rse.subsystems.shells.ssh,0.0.0=v200905272300 -org.eclipse.rse.subsystems.shells.telnet,0.0.0=v200905272300 -org.eclipse.rse.subsystems.terminals.core,0.0.0=v200905272300 -org.eclipse.rse.subsystems.terminals.ssh,0.0.0=v200905272300 -org.eclipse.rse.terminals.ui,0.0.0=v200905272300 -org.eclipse.rse.tests,0.0.0=v200905272300 -org.eclipse.rse.tests.framework,0.0.0=v200905272300 -org.eclipse.rse.ui,0.0.0=v200905272300 -org.eclipse.rse.useractions,0.0.0=v200905272300 -org.eclipse.tm.terminal,0.0.0=v200905272300 -org.eclipse.tm.terminal.serial,0.0.0=v200905272300 -org.eclipse.tm.terminal.ssh,0.0.0=v200905272300 -org.eclipse.tm.terminal.telnet,0.0.0=v200905272300 -org.eclipse.tm.terminal.test,0.0.0=v200905272300 -org.eclipse.tm.terminal.view,0.0.0=v200905272300 -org.eclipse.test,0.0.0=v20081002 -org.eclipse.ant.optional.junit,0.0.0=v20080717 -org.eclipse.rse.subsystems.wince,0.0.0=v200905272300 -org.eclipse.tm.rapi,0.0.0=v200905272300 -org.eclipse.tm.rapi.examples,0.0.0=v200905272300 -org.eclipse.tm.rapi.tests,0.0.0=v200905272300 diff -Nru eclipse-rse-3.1.2/debian/rules eclipse-rse-3.4.2/debian/rules --- eclipse-rse-3.1.2/debian/rules 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/rules 2013-05-31 20:59:58.000000000 +0000 @@ -7,5 +7,12 @@ override_jh_compilefeatures: jh_compilefeatures --build-opts '$(BUILD_OPTIONS)' --jvm-args '$(JVM_ARGS)' +RSE_SDK_INSTALLDIR := debian/eclipse-rse-sdk/usr/share/eclipse/dropins/rse-sdk/eclipse +override_jh_installeclipse: + jh_installeclipse + + find $(RSE_SDK_INSTALLDIR)/features -mindepth 1 -maxdepth 1 ! -name '*source_*' -and ! -name '*sdk_*' -exec rm -rf {} \; + find $(RSE_SDK_INSTALLDIR)/plugins -mindepth 1 -maxdepth 1 ! -name '*source_*' -and ! -name '*doc.isv_*' -and ! -name '*sdk_*' -exec rm -rf {} \; + %: dh $@ --with eclipse-helper diff -Nru eclipse-rse-3.1.2/debian/watch eclipse-rse-3.4.2/debian/watch --- eclipse-rse-3.1.2/debian/watch 2010-06-12 14:24:17.000000000 +0000 +++ eclipse-rse-3.4.2/debian/watch 2013-05-31 20:59:58.000000000 +0000 @@ -1,3 +1,3 @@ version=3 -opts=downloadurlmangle=s/index\.php/directory\.txt/ \ +opts=downloadurlmangle=s/index\.php/directory\.txt/,uversionmangle=s/^(\d+.\d+)$/$1.0/\ http://download.eclipse.org/dsdp/tm/downloads/index.php .*/R-([^-]+)-\d*/index\.php debian fetch-eclipse-source diff -Nru eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/.project eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/.project --- eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/.project 2002-10-01 17:07:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - org.eclipse.ant.optional.junit - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF 2008-07-17 20:13:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.ant.optional.junit -Bundle-Version: 3.2.200 -Fragment-Host: org.apache.ant;bundle-version="[1.6.5,2.0.0)" -Bundle-Localization: plugin -Require-Bundle: org.eclipse.core.runtime.compatibility, - org.junit -Bundle-Vendor: %providerName diff -Nru eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/about.html eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/about.html --- eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/about.html 2006-05-10 14:33:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

About This Content

- -

May 2, 2006

-

License

- -

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

- - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/build.properties eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/build.properties --- eclipse-rse-3.1.2/org.eclipse.ant.optional.junit/build.properties 2007-05-30 21:34:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.ant.optional.junit/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = about.html,\ - META-INF/ diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.dstore.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.dstore.core/.cvsignore 2006-04-10 19:48:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/.settings/.api_filters eclipse-rse-3.4.2/org.eclipse.dstore.core/.settings/.api_filters --- eclipse-rse-3.1.2/org.eclipse.dstore.core/.settings/.api_filters 2008-10-07 10:04:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/.settings/.api_filters 2013-02-12 20:26:45.000000000 +0000 @@ -1,17 +1,24 @@ + + + + + + + - + - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.dstore.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.dstore.core/META-INF/MANIFEST.MF 2009-07-30 13:34:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.dstore.core -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.3.101.qualifier Bundle-Activator: org.eclipse.dstore.core.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, @@ -19,10 +19,10 @@ org.eclipse.dstore.core.server, org.eclipse.dstore.core.util, org.eclipse.dstore.core.util.ssl, - org.eclipse.dstore.internal.core.client;x-internal:=true, - org.eclipse.dstore.internal.core.model;x-internal:=true, + org.eclipse.dstore.internal.core.client;x-friends:="org.eclipse.rse.connectorservice.dstore, org.eclipse.rse.services.dstore", + org.eclipse.dstore.internal.core.model;x-friends:="org.eclipse.rse.connectorservice.dstore, org.eclipse.rse.services.dstore", org.eclipse.dstore.internal.core.server;x-internal:=true, - org.eclipse.dstore.internal.core.util;x-internal:=true, + org.eclipse.dstore.internal.core.util;x-friends:="org.eclipse.rse.connectorservice.dstore, org.eclipse.rse.services.dstore", org.eclipse.dstore.internal.core.util.ssl;x-internal:=true Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.dstore.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.dstore.core/plugin.properties 2009-05-20 20:06:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/pom.xml eclipse-rse-3.4.2/org.eclipse.dstore.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.dstore.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.dstore.core + 3.3.101-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/client/ClientConnection.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/client/ClientConnection.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/client/ClientConnection.java 2009-05-14 07:44:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/client/ClientConnection.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,6 +21,7 @@ * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * David Dykstal (IBM) [235284] Cancel password change causes problem * David McKnight (IBM) - [257321] [dstore] "Error binding socket" should include port of the failed socket + * David McKnight (IBM) - [284950] [dstore] Error binding socket on relaunch *******************************************************************************/ package org.eclipse.dstore.core.client; @@ -37,6 +38,7 @@ import javax.net.SocketFactory; import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLException; import javax.net.ssl.SSLHandshakeException; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; @@ -512,12 +514,23 @@ catch (SSLHandshakeException e) { result = new ConnectionStatus(false, e, true, mgr.getUntrustedCerts()); + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); + return result; + } + catch (SSLException e) + { + _theSocket.close(); + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); + result = new ConnectionStatus(false, e, true, null); return result; } catch (Exception e) { - e.printStackTrace(); _theSocket.close(); + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); result = new ConnectionStatus(false, e); return result; } @@ -589,22 +602,32 @@ { result = new ConnectionStatus(false, msg); _isConnected = false; + + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); _theSocket.close(); } } catch (java.net.ConnectException e) { String msg = "Connection Refused."; //$NON-NLS-1$ + + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); msg += "\nMake sure that the DataStore server is running on " + _host + " under port " + _port + "."; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ result = new ConnectionStatus(false, msg); } catch (UnknownHostException uhe) { + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); _isConnected = false; result = new ConnectionStatus(_isConnected, uhe); } catch (IOException ioe) { + // reset port + setPort(_clientAttributes.getAttribute(DataStoreAttributes.A_HOST_PORT)); _isConnected = false; result = new ConnectionStatus(_isConnected, ioe); } @@ -909,7 +932,6 @@ { return IDataStoreCompatibilityHandler.HANDSHAKE_UNEXPECTED; } - } public boolean isKnownStatus(String status) diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/ClassByteStreamHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/ClassByteStreamHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/ClassByteStreamHandler.java 2008-05-02 15:26:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/ClassByteStreamHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2005, 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2005, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -158,6 +158,9 @@ */ public void run() { + _dataStore.trace("receiving class bytes"); //$NON-NLS-1$ + _dataStore.trace("\tsize="+_size); //$NON-NLS-1$ + _dataStore.trace("\tbuffer="+_buffer); //$NON-NLS-1$ try { PipedInputStream ins = new PipedInputStream(); @@ -168,7 +171,10 @@ outStream.close(); IRemoteClassInstance instance = loadInstance(ins); - runInstance(instance); + if (instance != null){ + _dataStore.trace("running class instance "+instance); //$NON-NLS-1$ + runInstance(instance); + } } catch (Exception e) @@ -204,7 +210,13 @@ else { // on server run and update client - instance.arrivedOnServer(); + _dataStore.trace("calling arrived on server"); //$NON-NLS-1$ + try { + instance.arrivedOnServer(); + } + catch (Exception e){ + _dataStore.trace(e); + } _dataStore.updateRemoteClassInstance(instance, getIdentifier()); } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/RemoteClassLoader.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/RemoteClassLoader.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/RemoteClassLoader.java 2009-05-20 20:52:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/java/RemoteClassLoader.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * David McKnight (IBM) - [244388] [dstore] Connection hangs when a miner not installed + * David McKnight (IBM) - [367264] [dstore] Trace should be written when load miner is failed. *******************************************************************************/ package org.eclipse.dstore.core.java; @@ -131,7 +132,11 @@ public boolean useCaching() { boolean useCaching = false; - String pref = _dataStore.getPreference(CACHING_PREFERENCE); + + // hard coding this to false for now since remote loading can cause problems + // and isn't intentionally used by anyone + String pref = "false"; //$NON-NLS-1$ + //String pref = _dataStore.getPreference(CACHING_PREFERENCE); if (pref != null && pref.equals("true")) //$NON-NLS-1$ { useCaching = true; @@ -171,8 +176,9 @@ */ protected Class findClass(String className) throws ClassNotFoundException { + _dataStore.trace("findClass "+className); //$NON-NLS-1$ + // first try using the datastore's local classloaders - ArrayList localLoaders = _dataStore.getLocalClassLoaders(); if (localLoaders != null) { @@ -184,9 +190,8 @@ theClass = ((ClassLoader)localLoaders.get(i)).loadClass(className); if (theClass != null) return theClass; } - catch (Exception e) - { - e.printStackTrace(); + catch (Exception e){ + _dataStore.trace(e); } } } @@ -197,15 +202,19 @@ Class theClass = super.findClass(className); if (theClass != null) { - //System.out.println("Using super's: " + className); return theClass; } } catch (Exception e) { - e.printStackTrace(); + if (!_useCaching){ + // no remote loading in this case + throw new ClassNotFoundException(className); + } } + + // DKM // only do lookup if the classname looks valid // don't want to be requesting rsecomm from client @@ -219,6 +228,7 @@ // search the class request repository to see if the class has been requested // already ClassRequest request; + _dataStore.trace("checking class repository..."); //$NON-NLS-1$ request = (ClassRequest) _dataStore.getClassRequestRepository().get(className); if (request == null) @@ -229,7 +239,7 @@ { try { - + _dataStore.trace("checking cache"); //$NON-NLS-1$ Class theClass = _urlClassLoader.findCachedClass(className); //System.out.println("Using cached: " + className); @@ -280,7 +290,7 @@ */ public synchronized void receiveClass(String className, byte[] bytes, int size) { - // System.out.println("receiving "+className); + _dataStore.trace("receiving "+className); //$NON-NLS-1$ // check the class request repository to see if the class is there ClassRequest request = (ClassRequest) _dataStore.getClassRequestRepository().get(className); if (request != null) @@ -299,14 +309,21 @@ Class receivedClass = null; try { - // System.out.println("defining "+className+"..."); + _dataStore.trace("defining "+className+"..."); //$NON-NLS-2$ // try to define the class. If any dependent classes cannot be // found the JRE implementation will call findClass to look for them. // Thus we could end up with a stack of requests all waiting until the // classes with no dependent classes load. receivedClass = defineClass(className, bytes, 0, size); + if (receivedClass == null){ + try { + receivedClass = findClass(className); + } + catch (Exception e){ + } + } - // System.out.println("...finished defining "+className); + _dataStore.trace("...finished defining "+className); //$NON-NLS-1$ } catch (NoClassDefFoundError e) { @@ -369,7 +386,7 @@ // SUCCESS! The class has been received, and defined, so just // load it into the class request object. This action will // also notify threads waiting for the class - // System.out.println("notifying requesters"); + _dataStore.trace("notifying requesters"); request.setLoadedClass(receivedClass); if (useCaching()) { @@ -385,7 +402,7 @@ */ protected void requestClassInThread(String className) { - // System.out.println("requesting (in thread)"+className); + _dataStore.trace("requesting (in thread)"+className); LoadClassThread thread = new LoadClassThread(className); thread.start(); } @@ -413,9 +430,9 @@ _dataStore.requestClass(className); // wait for a response - // System.out.println("thread to wait: "+Thread.currentThread().getName()); + _dataStore.trace("thread to wait: "+Thread.currentThread().getName()); if (!request.isLoaded()) request.waitForResponse(); - // System.out.println("thread finished waiting: "+Thread.currentThread().getName()); + _dataStore.trace("thread finished waiting: "+Thread.currentThread().getName()); if (request.isLoaded()) return request.getLoadedClass(); else { // remove the request so that if another one comes in for the @@ -428,9 +445,9 @@ else if (!request.isLoaded()) { // class has already been requested, wait for it to load - // System.out.println("requested elsewhere, thread to wait: "+Thread.currentThread().getName()); + _dataStore.trace("requested elsewhere, thread to wait: "+Thread.currentThread().getName()); if (!request.isLoaded()) request.waitForResponse(); - // System.out.println("requested elsewhere, thread finished waiting: "+Thread.currentThread().getName()); + _dataStore.trace("requested elsewhere, thread finished waiting: "+Thread.currentThread().getName()); if (request.isLoaded()) return request.getLoadedClass(); else throw new ClassNotFoundException(className); } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/Miner.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/Miner.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/Miner.java 2008-05-20 18:05:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/Miner.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,11 @@ * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers * David McKnight (IBM) - [232004] [dstore][multithread] some miner finish() is not terminated sometimes + * David McKnight (IBM) - [328060] [dstore] command queue in Miner should be synchronized + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [373507] [dstore][multithread] reduce heap memory on disconnect for server + * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck + * David McKnight (IBM) - [383544] [dstore] Better handling needed for Errors in miners *******************************************************************************/ package org.eclipse.dstore.core.miners; @@ -26,6 +31,7 @@ import java.util.List; import java.util.ResourceBundle; +import org.eclipse.dstore.core.model.Client; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; @@ -55,7 +61,6 @@ public DataElement _minerTransient; - private boolean _initialized; private boolean _connected; private IExternalLoader _loader; @@ -127,24 +132,26 @@ */ public void finish() { - DataElement root = _dataStore.getMinerRoot(); + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "Miner.finish()"); //$NON-NLS-1$ + } + synchronized (_commandQueue){ + _commandQueue.clear(); + } + DataElement root = _dataStore.getMinerRoot(); _minerData.removeNestedData(); _minerElement.removeNestedData(); - _dataStore.update(_minerElement); - if (root.getNestedData() != null) - { + if (root != null && root.getNestedData() != null){ root.getNestedData().remove(_minerElement); + root.setExpanded(false); + root.setUpdated(false); } - root.setExpanded(false); - root.setUpdated(false); - - _dataStore.update(root); - super.finish(); } + /** * Interface to retrieve an NL enabled resource bundle. * Override this function to get access to a real resource bundle. @@ -216,7 +223,11 @@ { try { - DataElement cmd = (DataElement)_commandQueue.remove(0); + DataElement cmd = null; + synchronized (_commandQueue){ + cmd = (DataElement)_commandQueue.remove(0); + } + if (cmd != null){ command(cmd); } @@ -229,7 +240,9 @@ public final void requestCommand(DataElement command) { - _commandQueue.add(command); + synchronized (_commandQueue){ + _commandQueue.add(command); + } notifyInput(); } @@ -298,6 +311,7 @@ } else { + Client client = _dataStore.getClient(); try { status = handleCommand(command); @@ -306,6 +320,11 @@ { //e.printStackTrace(); _dataStore.trace(e); + if (client != null) { + client.getLogger().logError(this.getClass().toString(), "Exception in Miner.command()", e); //$NON-NLS-1$ + } + + status.setAttribute(DE.A_VALUE, "Failed with Exception:"+getStack(e)); //$NON-NLS-1$ status.setAttribute(DE.A_NAME, DataStoreResources.model_done); //status.setAttribute(DE.A_SOURCE, getStack(e)); @@ -318,10 +337,17 @@ exc = "Exception"; //$NON-NLS-1$ _dataStore.createObject(status, DataStoreResources.model_error, exc); } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Error er) { er.printStackTrace(); _dataStore.trace(er); + if (client != null) { + client.getLogger().logError(this.getClass().toString(), "Error in Miner.command()", er); //$NON-NLS-1$ + client.getLogger().logInfo(this.getClass().toString(), "Finishing due to error condition"); //$NON-NLS-1$ + } _dataStore.finish(); if (SystemServiceManager.getInstance().getSystemService() == null) diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java 2009-07-17 13:13:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/miners/MinerThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java 2009-07-08 22:08:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,14 +14,22 @@ * Contributors: * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) [281712] [dstore] Warning message is needed when disk is full + * David McKnight (IBM) [367424] [dstore] upload mechanism should provide backups of files + * David McKnight (IBM) [380023] [dstore] remote file permissions lost after upload + * David McKnight (IBM) [385630] [dstore] backup files created during upload should be removed when upload successful + * David McKnight (IBM) [400251] [dstore] backup files cause problem when parent folder is read-only *******************************************************************************/ package org.eclipse.dstore.core.model; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; +import org.eclipse.dstore.core.server.SecuredThread; + /** *

* The ByteStreamHandler class is used to abstract file read and write operations @@ -41,15 +49,29 @@ protected DataStore _dataStore; protected DataElement _log; protected static final String FILEMSG_REMOTE_SAVE_FAILED = "RSEF5006"; //$NON-NLS-1$ - + + // for file backups + private boolean _doBackups = true; + private boolean _keepBackups = false; + /** - * Contructor + * Constructor * @param dataStore the DataStore instance */ public ByteStreamHandler(DataStore dataStore, DataElement log) - { + { _dataStore = dataStore; _log = log; + + String doBackups = System.getProperty("backupfiles"); //$NON-NLS-1$ + _doBackups = (doBackups == null || doBackups.equals("true")); //$NON-NLS-1$ + + if (_doBackups){ + String keepBackups = System.getProperty("keepbackupfiles"); //$NON-NLS-1$ + + // default is not NOT keep backups + _keepBackups = (keepBackups != null && keepBackups.equals("true")); //$NON-NLS-1$ + } } public String getId() @@ -57,6 +79,100 @@ return getClass().getName(); } + class DeleteBackupThread extends SecuredThread { + private File _currentFile; + private File _backupFile; + private long _initialLength; + public DeleteBackupThread(DataStore dataStore, File currentFile, File backupFile){ + super(dataStore); + _currentFile = currentFile; + _backupFile = backupFile; + _initialLength = _currentFile.length(); // get initial length so we can see if upload is still happening + } + + public void run(){ + super.run(); + boolean doneDelete = false; + + while (!doneDelete){ + try { + Thread.sleep(10000); // wait 10 seconds + } + catch (InterruptedException e){ + } + + // make sure there was no disconnect + if (!_dataStore.isConnected()){ + // keep the backup + doneDelete = true; + } + else { + long curLength = _currentFile.length(); + if (curLength == _initialLength){ // looks like total upload is complete + _backupFile.delete(); + doneDelete = true; + } + else { + _initialLength = curLength; + } + } + } + } + } + + private void deleteBackupFile(File currentFile, File backupFile){ + if (backupFile != null && !_keepBackups){ // only matters if there is a backup file + DeleteBackupThread thread = new DeleteBackupThread(_dataStore, currentFile, backupFile); + thread.start(); + } + } + + private void backupFile(File file, File backupFile){ + + /* this is nice but orginal file permissions not perserved + if(!file.renameTo(backupFile) && backupFile.exists()) { + backupFile.delete(); + file.renameTo(backupFile); + } + */ + + /* in order to preserve original permissions for orignal file we can't rename + * instead we need to copy the file over + */ + FileInputStream inputStream = null; + FileOutputStream backupFileStream = null; + try { + inputStream = new FileInputStream(file); + backupFileStream = new FileOutputStream(backupFile); + + byte[] buffer = new byte[512000]; + long totalSize = file.length(); + int totalRead = 0; + + while (totalRead < totalSize){ + int available = inputStream.available(); + available = (available < 512000) ? available : 512000; + + int bytesRead = inputStream.read(buffer, 0, available); + if (bytesRead == -1) { + break; + } + backupFileStream.write(buffer, 0, bytesRead); + totalRead += bytesRead; + } + } catch (FileNotFoundException e) { + } catch (IOException e){ + } finally { + try { + inputStream.close(); + backupFileStream.close(); + } + catch (IOException e){ + } + } + } + + /** * Save a file in the specified location. This method is called by the * DataStore when the communication layer receives a file transfer @@ -79,16 +195,27 @@ { // need to create directories as well File file = new File(fileName); + File backupFile = null; + File parent = new File(file.getParent()); if (!file.exists()) - { - File parent = new File(file.getParent()); + { parent.mkdirs(); } else { + if (!_dataStore.isVirtual()){ // only applies to server + // backup file on upload by default + if (_doBackups && parent.canWrite()){ + // backup the file first + String n = file.getName(); + backupFile = new File(parent, '.' + n + '~'); + _dataStore.trace("Backing up as "+backupFile.getAbsolutePath()); //$NON-NLS-1$ + backupFile(file, backupFile); + } + } } - File newFile = new File(fileName); + File newFile = new File(fileName); FileOutputStream fileStream = new FileOutputStream(newFile); if (binary) @@ -104,6 +231,8 @@ } fileStream.close(); + + deleteBackupFile(newFile, backupFile); if (status == null) return; status.setAttribute(DE.A_SOURCE, "success"); //$NON-NLS-1$ @@ -152,9 +281,9 @@ { // need to create directories as well File file = new File(fileName); + File parent = new File(file.getParent()); if (!file.exists()) - { - File parent = new File(file.getParent()); + { parent.mkdirs(); File newFile = new File(fileName); @@ -194,6 +323,7 @@ outStream.close(); } + if (status == null) return; status.setAttribute(DE.A_SOURCE, "success"); //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataElement.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataElement.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataElement.java 2008-09-25 18:28:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataElement.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,13 @@ * * Contributors: * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [373507] [dstore][multithread] reduce heap memory on disconnect for server + * David McKnight (IBM) - [380158] [dstore] DataStore.command() fails when multiple commands issue simultaneously + * David McKnight (IBM) - [385793] [dstore] DataStore spirit mechanism and other memory improvements needed + * David McKnight (IBM) - [389286] [dstore] element delete should not clear _attributes since elements get recycled + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [391065] [dstore][regression] DataElement with "" type treated as deleted (when it's not) + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.core.model; @@ -22,7 +29,6 @@ import org.eclipse.dstore.core.util.StringCompare; import org.eclipse.dstore.extra.IDataElement; -import org.eclipse.dstore.internal.core.util.DataElementRemover; import org.eclipse.dstore.internal.extra.DataElementActionFilter; import org.eclipse.dstore.internal.extra.DesktopElement; import org.eclipse.dstore.internal.extra.PropertySource; @@ -70,7 +76,6 @@ { _dataStore = null; _parent = null; - DataElementRemover.addToCreatedCount(); } /** @@ -82,13 +87,17 @@ { _dataStore = dataStore; _parent = null; - DataElementRemover.addToCreatedCount(); } + /* Apparently having this method causes the GC to delay + * cleanup for DataElements. For a product this delayed cleanup + * can potentially result in an OOM so, at the expense of the + * memory logging function, we need to take this out. protected void finalize() { DataElementRemover.addToGCedCount(); } + */ /** * Initializes a DataElement to be reference to some other DataElement. @@ -293,6 +302,7 @@ public void reInitAsTransient(String attributes[]) { _attributes = attributes; + setAttribute(DE.A_ID, DataStoreResources.model_transient); _isReference = false; _isDescriptor = false; @@ -324,18 +334,18 @@ /** * Indicates whether the DataElement is deleted or not. * - * @return whehther the element is deleted or not + * @return whether the element is deleted or not */ public boolean isDeleted() { - if (_attributes == null) + if (_attributes == null || _attributes[0] == null) { return true; } String valueAttribute = getAttribute(DE.A_VALUE); - if (valueAttribute != null && valueAttribute.equals(DataStoreResources.DELETED)) + if (valueAttribute != null && valueAttribute.equals(DataStoreResources.DELETED) && !isDescriptor()) { return true; } @@ -582,20 +592,19 @@ */ public DataElement get(int index) { - if (_nestedData == null) - { + if (_nestedData == null){ return null; } else { - if (getNestedSize() > index) - { - Object obj = _nestedData.get(index); - return (DataElement) obj; - } - else - { - return null; + synchronized(_nestedData){ // bug 380158, sync needed to properly do concurrent commands + if (_nestedData.size() > index){ + Object obj = _nestedData.get(index); + return (DataElement) obj; + } + else { + return null; + } } } } @@ -876,7 +885,21 @@ */ public void setSpirit(boolean flag) { - _isSpirit = flag; + if (flag && isDescriptor()){ + // descriptors should not be spirited + } + else { + _isSpirit = flag; + String refType = getAttribute(DE.A_REF_TYPE); + if (refType != null){ + if (_isSpirit && !refType.equals(DataStoreResources.SPIRIT)) { + setAttribute(DE.A_REF_TYPE, DataStoreResources.SPIRIT); + } + else if (refType.equals(DataStoreResources.SPIRIT)){ // if it was a spirit, change it back + setAttribute(DE.A_REF_TYPE, DataStoreResources.VALUE); + } + } + } } /** @@ -1435,6 +1458,8 @@ + getSource() + "\n\tDepth:\t" //$NON-NLS-1$ + _depth + + "\n\tisSpirit:\t" //$NON-NLS-1$ + + _isSpirit + "\n\tDataStore:\t" //$NON-NLS-1$ + _dataStore.getName() + "\n}\n"; //$NON-NLS-1$ @@ -1558,7 +1583,6 @@ _isUpdated = false; _descriptor = typeDescriptor; - String depthStr = getAttribute(DE.A_DEPTH); if (depthStr != null && depthStr.length() > 0) { @@ -1597,14 +1621,16 @@ } String type = getAttribute(DE.A_TYPE); - if (type.equals(DE.T_OBJECT_DESCRIPTOR) - || type.equals(DE.T_COMMAND_DESCRIPTOR) - || type.equals(DE.T_RELATION_DESCRIPTOR) - || type.equals(DE.T_ABSTRACT_OBJECT_DESCRIPTOR) - || type.equals(DE.T_ABSTRACT_COMMAND_DESCRIPTOR) - || type.equals(DE.T_ABSTRACT_RELATION_DESCRIPTOR)) - { - _isDescriptor = true; + if (type != null){ + if (type.equals(DE.T_OBJECT_DESCRIPTOR) + || type.equals(DE.T_COMMAND_DESCRIPTOR) + || type.equals(DE.T_RELATION_DESCRIPTOR) + || type.equals(DE.T_ABSTRACT_OBJECT_DESCRIPTOR) + || type.equals(DE.T_ABSTRACT_COMMAND_DESCRIPTOR) + || type.equals(DE.T_ABSTRACT_RELATION_DESCRIPTOR)) + { + _isDescriptor = true; + } } if (_nestedData != null) @@ -1621,13 +1647,9 @@ { for (int i = 0; i < _attributes.length; i++) { - String att = _attributes[i]; - if (att != null) - { - att = null; - } + _attributes[i] = ""; //$NON-NLS-1$ } - + // do not delete _attributes, since we recycle elements } if (_nestedData != null) @@ -1653,10 +1675,10 @@ { // set delete attribute - setAttribute(DE.A_SOURCE, null); + setAttribute(DE.A_SOURCE, ""); //$NON-NLS-1$ setAttribute(DE.A_VALUE, DataStoreResources.DELETED); - setAttribute(DE.A_TYPE, null); - setAttribute(DE.A_NAME, null); + setAttribute(DE.A_TYPE, ""); //$NON-NLS-1$ + setAttribute(DE.A_NAME, ""); //$NON-NLS-1$ _isUpdated = false; _isExpanded = true; diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java 2009-08-24 16:51:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -31,6 +31,21 @@ * David McKnight (IBM) - [285151] [dstore] Potential threading problem in DataStore (open call) * David McKnight (IBM) - [285301] [dstore] 100% CPU if user does not have write access to $HOME * David McKnight (IBM) - [287457] [dstore] problems with disconnect when readonly trace file + * David McKnight (IBM) - [289891] [dstore] StringIndexOutOfBoundsException in getUserPreferencesDirectory when DSTORE_LOG_DIRECTORY is "" + * David McKnight (IBM) - [294933] [dstore] RSE goes into loop + * David McKnight (IBM) - [331922] [dstore] enable DataElement recycling + * David McKnight (IBM) - [336257] [dstore] leading file.searator in DSTORE_LOG_DIRECTORY not handled + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [340080] [dstore] empty string should not be allowed as a DataElement ID + * David McKnight (IBM) - [351993] [dstore] not able to connect to server if .eclipse folder not available + * David McKnight (IBM) - [366070] [dstore] fix for bug 351993 won't allow tracing if .dstoreTrace doesn't exist + * David McKnight (IBM) - [367096] [dstore] DataElement.isSpirit() may return true for newly created DStore objects + * David McKnight (IBM) - [370260] [dstore] log the RSE version in server traces + * David McKnight (IBM) - [373507] [dstore][multithread] reduce heap memory on disconnect for server + * David McKnight (IBM) - [385097] [dstore] DataStore spirit mechanism is not enabled + * David McKnight (IBM) - [385793] [dstore] DataStore spirit mechanism and other memory improvements needed + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.core.model; @@ -66,6 +81,7 @@ import org.eclipse.dstore.extra.IDomainNotifier; import org.eclipse.dstore.internal.core.client.ClientCommandHandler; import org.eclipse.dstore.internal.core.model.DefaultByteConverter; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.dstore.internal.core.server.ServerUpdateHandler; import org.eclipse.dstore.internal.core.util.DataElementRemover; import org.eclipse.dstore.internal.core.util.XMLgenerator; @@ -143,11 +159,14 @@ private Random _random; private int _initialSize; + private int _MAX_FREE = 10000; private File _traceFileHandle; private RandomAccessFile _traceFile; private boolean _tracingOn; + private boolean _queriedSpiritState = false; // for the client - so we don't keep sending down the same query + private boolean _spiritModeOn = false; private boolean _spiritCommandReceived = false; private File _memLoggingFileHandle; @@ -175,6 +194,15 @@ private Client _client; /** + * Indicates the RSE plugin version that corresponds with this DataStore. This is only used + * for tracing so that users can determine which version of the org.eclipse.dstore.core plugin + * this came from. + * + * This needs to be updated for each major release. + */ + private String _RSE_version = "3.4.2"; //$NON-NLS-1$ + + /** * Creates a new DataStore instance * * @param attributes the default attributes of the DataStore @@ -188,7 +216,7 @@ _isConnected = false; _logTimes = false; setSpiritModeOnState(); - _initialSize = _spiritModeOn && !isVirtual() ? SPIRIT_ON_INITIAL_SIZE : 100000; + _initialSize = _spiritModeOn && !isVirtual() ? SPIRIT_ON_INITIAL_SIZE : 10000; initialize(); } @@ -264,7 +292,7 @@ if (isVirtual()) _spiritModeOn = true; else { - String doSpirit = System.getProperty("DSTORE_SPIRIT_ON"); //$NON-NLS-1$ + String doSpirit = System.getProperty(IDataStoreSystemProperties.DSTORE_SPIRIT_ON); _spiritModeOn = (doSpirit != null && doSpirit.equals("true")); //$NON-NLS-1$ } } @@ -844,7 +872,9 @@ */ public int getNumElements() { - return _hashMap.size(); + synchronized (_hashMap){ + return _hashMap.size(); + } } /** @@ -921,9 +951,6 @@ reference.reInit(parent, realObject, relationType); parent.addNestedData(reference, false); - String sugId = reference.getId(); - _hashMap.put(sugId, reference); - refresh(parent); return reference; @@ -975,9 +1002,6 @@ parent.addNestedData(reference, false); - String sugId = reference.getId(); - _hashMap.put(sugId, reference); - if (doRefresh) { refresh(parent); @@ -1046,19 +1070,12 @@ toReference.reInit(parent, realObject, toRelation); parent.addNestedData(toReference, false); - - String toId = toReference.getId(); - _hashMap.put(toId, toReference); - // reference with "from" relationship DataElement fromReference = createElement(); fromReference.reInit(realObject, parent, fromRelation); realObject.addNestedData(fromReference, false); - - String fromId = fromReference.getId(); - _hashMap.put(fromId, fromReference); refresh(parent); @@ -1093,10 +1110,6 @@ } parent.addNestedData(toReference, false); - - String toId = toReference.getId(); - _hashMap.put(toId, toReference); - // reference with "from" relationship DataElement fromReference = createElement(); @@ -1112,9 +1125,6 @@ realObject.addNestedData(fromReference, false); - String fromId = fromReference.getId(); - _hashMap.put(fromId, fromReference); - refresh(parent); @@ -1169,7 +1179,7 @@ public DataElement createTransientObject(String attributes[]) { - DataElement newObject = createElement(); + DataElement newObject = new DataElement(this); newObject.reInitAsTransient(attributes); return newObject; @@ -1829,7 +1839,9 @@ */ public boolean contains(String id) { - return _hashMap.containsKey(id); + synchronized (_hashMap){ + return _hashMap.containsKey(id); + } } /** @@ -2260,17 +2272,26 @@ return synchronizedCommand(cmd, _dummy); } + /** + * Client calls this to start the spiriting mechanism on the server. The return value shouldn't be reliable here. + * Originally this was a synchronized command but that can slow connect time. Since no one should use the return value here, + * + * @return whether the server spirit state has been queried + */ public boolean queryServerSpiritState() { - DataElement spirittype = findObjectDescriptor(IDataStoreConstants.DATASTORE_SPIRIT_DESCRIPTOR); - if (spirittype == null) return false; - DataElement cmd = localDescriptorQuery(spirittype, IDataStoreConstants.C_START_SPIRIT, 2); - if (cmd == null) return false; - - DataElement status = synchronizedCommand(cmd, _dummy); - if ((status != null) && status.getName().equals(DataStoreResources.model_done)) - return true; - else return false; + if (!_queriedSpiritState){ + DataElement spirittype = findObjectDescriptor(IDataStoreConstants.DATASTORE_SPIRIT_DESCRIPTOR); + if (spirittype != null){ + DataElement cmd = localDescriptorQuery(spirittype, IDataStoreConstants.C_START_SPIRIT, 2); + + if (cmd != null){ + command(cmd, _dummy); // start + _queriedSpiritState = true; + } + } + } + return _queriedSpiritState; } public DataElement queryHostJVM() @@ -2488,7 +2509,7 @@ */ public DataElement command(DataElement commandDescriptor, ArrayList arguments, DataElement dataObject) { - return command(commandDescriptor, arguments, dataObject, false); + return command(commandDescriptor, arguments, dataObject, true); } /** @@ -2504,7 +2525,8 @@ { if (_commandHandler != null) { - return _commandHandler.command(commandDescriptor, arguments, dataObject, true, immediate); + // as per bug #396440, default is now to not use references + return _commandHandler.command(commandDescriptor, arguments, dataObject, false, immediate); } return null; } @@ -2535,7 +2557,8 @@ { if (_commandHandler != null) { - return _commandHandler.command(commandDescriptor, arg, dataObject, true, immediate); + // as per bug #396440, default is now to not use references + return _commandHandler.command(commandDescriptor, arg, dataObject, false, immediate); } return null; } @@ -2549,6 +2572,7 @@ */ public DataElement command(DataElement commandDescriptor, DataElement dataObject) { + // as per bug #396440, default is now to not use references return command(commandDescriptor, dataObject, false); } @@ -2609,9 +2633,35 @@ flush(_descriptorRoot); flush(_dummy); flush(_root); - + flush(_externalRoot); + + // make sure these aren't null set since + // Miners need them on shutdown + // _logRoot = null; + // _minerRoot = null; + + _hostRoot = null; + _tempRoot = null; + _descriptorRoot = null; + _dummy = null; + _root = null; + _externalRoot = null; + _status = null; + _ticket = null; + + // clear the maps + _classReqRepository.clear(); + _cmdDescriptorMap.clear(); + _hashMap.clear(); + _lastCreatedElements.clear(); + _localClassLoaders.clear(); + _objDescriptorMap.clear(); + _relDescriptorMap.clear(); + + _remoteLoader = null; } + /** * Delete information from the DataStore contained by an element. * @@ -2691,7 +2741,10 @@ public void addToRecycled(DataElement toRecycle) { - if (!_recycled.contains(toRecycle)) _recycled.add(0, toRecycle); + synchronized (_recycled){ + if (!_recycled.contains(toRecycle)) + _recycled.add(0, toRecycle); + } } /** @@ -2803,39 +2856,26 @@ return results; } - if (root.isDeleted()) + if (root.isDeleted() && !results.contains(root)) { results.add(root); } List searchList = root.getNestedData(); - - if (searchList != null) - { - for (int i = 0; i < searchList.size(); i++) - { + if (searchList != null){ + for (int i = 0; i < searchList.size(); i++){ DataElement child = (DataElement) searchList.get(i); - if (child != null) - { - synchronized (child) - { - if (child.isDeleted() && !results.contains(child)) - { - - results.add(child); - if (!child.isReference()) - { - if (depth > 0) - { - List sResults = findDeleted(child, depth - 1); - for (int j = 0; j < sResults.size(); j++) - { - results.add(sResults.get(j)); - } + if (child != null){ + if (child.isDeleted() && !results.contains(child)){ + results.add(child); + if (!child.isReference()){ + if (depth > 0){ + List sResults = findDeleted(child, depth - 1); + for (int j = 0; j < sResults.size(); j++){ + results.add(sResults.get(j)); } - - } + } } } } @@ -3120,8 +3160,10 @@ */ public DataElement find(String id) { - DataElement result = (DataElement) _hashMap.get(id); - return result; + synchronized (_hashMap){ + DataElement result = (DataElement) _hashMap.get(id); + return result; + } } /** @@ -3584,17 +3626,25 @@ _userPreferencesDirectory = _userPreferencesDirectory + File.separator; } - // for bug 282599, log directory allows customization of log location relative to user dir - String logDirectory = System.getProperty("DSTORE_LOG_DIRECTORY"); //$NON-NLS-1$ + // for bug 282599, + String logDirectory = System.getProperty(IDataStoreSystemProperties.DSTORE_LOG_DIRECTORY); if (logDirectory == null){ logDirectory = ".eclipse" + File.separator + "RSE" + File.separator; //$NON-NLS-1$//$NON-NLS-2$ } - // append a '/' if not there - if (logDirectory.charAt( logDirectory.length() -1 ) != File.separatorChar ) { - logDirectory = logDirectory + File.separator; + + if (logDirectory.length() > 0){ + // append a '/' if not there + if (logDirectory.charAt( logDirectory.length() -1 ) != File.separatorChar ) { + logDirectory = logDirectory + File.separator; + } + + // remove the '/' if first char + if (logDirectory.charAt(0) == File.separatorChar){ + logDirectory = logDirectory.substring(1); + } } - _userPreferencesDirectory = _userPreferencesDirectory + logDirectory + clientUserID; + _userPreferencesDirectory = _userPreferencesDirectory + logDirectory + clientUserID; File dirFile = new File(_userPreferencesDirectory); if (!dirFile.exists()) { @@ -3634,7 +3684,7 @@ // if the idle is 0 or not set then it is considered indefinite. // The server is considered idle for the period of which no commands are // received in server command handler - String serverIdleShutdownTimeout = System.getProperty("DSTORE_IDLE_SHUTDOWN_TIMEOUT"); //$NON-NLS-1$ + String serverIdleShutdownTimeout = System.getProperty(IDataStoreSystemProperties.DSTORE_IDLE_SHUTDOWN_TIMEOUT); if (serverIdleShutdownTimeout != null) { _serverIdleShutdownTimeout = Integer.parseInt(serverIdleShutdownTimeout); @@ -3643,7 +3693,7 @@ } - String tracingProperty = System.getProperty("DSTORE_TRACING_ON"); //$NON-NLS-1$ + String tracingProperty = System.getProperty(IDataStoreSystemProperties.DSTORE_TRACING_ON); if (tracingProperty != null && tracingProperty.equals("true")) //$NON-NLS-1$ { _tracingOn = true; @@ -3658,14 +3708,26 @@ if (SystemServiceManager.getInstance().getSystemService() == null){ String logDir = getUserPreferencesDirectory(); _traceFileHandle = new File(logDir, ".dstoreTrace"); //$NON-NLS-1$ - - try - { - _traceFile = new RandomAccessFile(_traceFileHandle, "rw"); //$NON-NLS-1$ - startTracing(); + if (!_traceFileHandle.exists()){ + try { // try to create it + _traceFileHandle.createNewFile(); + } catch (IOException e) { + } } - catch (IOException e) - { + if (_traceFileHandle.canWrite()){ + try + { + _traceFile = new RandomAccessFile(_traceFileHandle, "rw"); //$NON-NLS-1$ + startTracing(); + } + catch (IOException e) + { + // turn tracing off if there's a problem + _tracingOn = false; + } + } + else { + _tracingOn = false; } } } @@ -3692,21 +3754,34 @@ { if (!isVirtual() && _deRemover == null) { - String memLogging = System.getProperty("DSTORE_MEMLOGGING_ON"); //$NON-NLS-1$ + String memLogging = System.getProperty(IDataStoreSystemProperties.DSTORE_MEMLOGGING_ON); _memLoggingOn = (memLogging != null && memLogging.equals("true")); //$NON-NLS-1$ if (_memLoggingOn) { String logDir = getUserPreferencesDirectory(); _memLoggingFileHandle = new File(logDir, ".dstoreMemLogging"); //$NON-NLS-1$ - - try - { - _memLogFile = new RandomAccessFile(_memLoggingFileHandle, "rw"); //$NON-NLS-1$ - startMemLogging(); + // need this check, otherwise, we don't create this log file + if (!_memLoggingFileHandle.exists()){ + try { // try to create it + _memLoggingFileHandle.createNewFile(); + } catch (IOException e) { + } } - catch (IOException e) - { + if (_memLoggingFileHandle.canWrite()){ + try + { + _memLogFile = new RandomAccessFile(_memLoggingFileHandle, "rw"); //$NON-NLS-1$ + startMemLogging(); + } + catch (IOException e) + { + // turn mem logging off if there's a problem + _memLoggingOn = false; + } + } + else { + _memLoggingOn = false; } } _deRemover = new DataElementRemover(this); @@ -3851,9 +3926,11 @@ */ private void initElements(int size) { - for (int i = 0; i < size; i++) - { - _recycled.add(new DataElement(this)); + synchronized (_recycled){ + for (int i = 0; i < size; i++) + { + _recycled.add(new DataElement(this)); + } } } @@ -3869,23 +3946,14 @@ int numRecycled = _recycled.size(); - if (numRecycled > 1) - { - synchronized (_recycled) - { - - /* - if (numRecycled > _MAX_FREE) - { + if (numRecycled > 0){ + synchronized (_recycled){ + if (numRecycled > _MAX_FREE){ int numRemoved = numRecycled - _MAX_FREE; - for (int i = 1; i <= numRemoved; i++) - { - DataElement toRemove = (DataElement)_recycled.remove(numRemoved - i); - toRemove = null; - } - } - */ - + for (int i = numRemoved - 1; i >=0; i--){ + _recycled.remove(i); + } + } newObject = (DataElement) _recycled.remove((_recycled.size() - 1)); } } @@ -3893,7 +3961,7 @@ { newObject = new DataElement(this); } - + newObject.setSpirit(false); newObject.setUpdated(false); updateLastCreated(newObject); return newObject; @@ -3955,6 +4023,7 @@ synchronized (_hashMap) { _hashMap.remove(id); + addToRecycled(toDelete); } if (!isConnected() && from != null) @@ -3966,16 +4035,16 @@ private void disconnectObjectHelper(DataElement toDisconnect, int depth) { - if (depth > 0) - { + if (depth > 0){ depth--; _deRemover.addToQueueForRemoval(toDisconnect); - for (int i = 0; i < toDisconnect.getNestedSize(); i++) - { - DataElement subDisconnect = toDisconnect.get(i); - if (subDisconnect != null && subDisconnect.getDataStore() == this && !subDisconnect.isSpirit()) - { - disconnectObjectHelper(subDisconnect, depth); + List nestedData = toDisconnect.getNestedData(); + if (nestedData != null){ + for (int i = 0; i < nestedData.size(); i++){ + DataElement subDisconnect = (DataElement)nestedData.get(i); + if (subDisconnect != null && !subDisconnect.isSpirit() && !subDisconnect.isDescriptor() && !subDisconnect.isReference()){ + disconnectObjectHelper(subDisconnect, depth); + } } } } @@ -3983,26 +4052,20 @@ private String makeIdUnique(String id) { - - if (!_hashMap.containsKey(id)) + boolean containsKey = false; + synchronized (_hashMap){ + containsKey = _hashMap.containsKey(id); + } + + if (!containsKey && id.length() > 0) { return id; } else { return generateId(); - /* - String newId = String.valueOf(_random.nextInt()); - while (_hashMap.containsKey(newId)) - { - newId = String.valueOf(_random.nextInt()); - } - - return newId; - */ } - } private String generateId(DataElement parent, String type, String name) @@ -4019,16 +4082,13 @@ */ protected String generateId() { - //return "" + _uniqueNumber++; - ///* String newId = String.valueOf(_random.nextInt()); - while (_hashMap.containsKey(newId)) + while (contains(newId)) { newId = String.valueOf(_random.nextInt()); } return newId; -// */ } public void startTracing() @@ -4045,6 +4105,7 @@ trace("-----------------------------------------"); //$NON-NLS-1$ trace("Start Tracing at " + System.currentTimeMillis()); //$NON-NLS-1$ + trace("DataStore version: "+ _RSE_version); //$NON-NLS-1$ } } @@ -4139,6 +4200,14 @@ // which causes havoc for iSeries caching when switching between offline / online //if (isVirtual()) // flush(); + + if (!isVirtual()){ // only on server + if (getClient() != null){ + getClient().getLogger().logInfo(this.getName(), "DataStore.finish() - flush()"); //$NON-NLS-1$ + } + flush(); + } + if (_deRemover != null){ _deRemover.finish(); } @@ -4337,12 +4406,13 @@ } protected void assignCacheJar() - { + { String cacheDirectory = getCacheDirectory(); File cacheJar = new File(cacheDirectory + REMOTE_CLASS_CACHE_JARFILE_NAME + JARFILE_EXTENSION); File nextCacheJar = new File(cacheDirectory + REMOTE_CLASS_CACHE_JARFILE_NAME + "_next" + JARFILE_EXTENSION); //$NON-NLS-1$ - if (nextCacheJar.exists()) nextCacheJar.renameTo(cacheJar); - if (!cacheJar.exists()) + if (nextCacheJar.exists()) + nextCacheJar.renameTo(cacheJar); + if (!cacheJar.exists() && cacheJar.canWrite()) { try { @@ -4350,6 +4420,8 @@ cacheOut.putNextEntry(new JarEntry("/")); //$NON-NLS-1$ cacheOut.closeEntry(); cacheOut.close(); + + _cacheJar = cacheJar; } catch (IOException e) { @@ -4358,11 +4430,11 @@ return; } } + else { + _cacheJar = null; + } - _cacheJar = cacheJar; - if (!_cacheJar.canWrite()){ // can't write this..don't bother with cache - _cacheJar = null; - } + } protected String getCacheDirectory() @@ -4496,13 +4568,20 @@ { if (_tracingOn) { _traceFileHandle = new File(logDir, ".dstoreTrace"); //$NON-NLS-1$ - try - { - _traceFile = new RandomAccessFile(_traceFileHandle, "rw"); //$NON-NLS-1$ - startTracing(); + if (_traceFileHandle.canWrite()){ + try + { + _traceFile = new RandomAccessFile(_traceFileHandle, "rw"); //$NON-NLS-1$ + startTracing(); + } + catch (IOException e) + { + // turn tracing off if there's a problem + _tracingOn = false; + } } - catch (IOException e) - { + else { + _tracingOn = false; } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStoreSchema.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStoreSchema.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStoreSchema.java 2008-05-02 15:26:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStoreSchema.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,8 @@ * * Contributors: * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [385097] [dstore] DataStore spirit mechanism is not enabled + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) ********************************************************************************/ package org.eclipse.dstore.core.model; @@ -190,9 +192,6 @@ // miner-specific descriptors are defined in the miners when they extend the schema // these first elements are the most fundamental -// DataElement uiCmdD = _dataStore.createObject(schemaRoot, DE.T_UI_COMMAND_DESCRIPTOR, DE.T_UI_COMMAND_DESCRIPTOR); - _dataStore.createObject(schemaRoot, DE.T_UI_COMMAND_DESCRIPTOR, DE.T_UI_COMMAND_DESCRIPTOR); - _commandDescriptor = _dataStore.createCommandDescriptor(schemaRoot, DE.T_COMMAND_DESCRIPTOR); _objectDescriptor = _dataStore.createObjectDescriptor(schemaRoot, DE.T_OBJECT_DESCRIPTOR); _relationDescriptor = _dataStore.createRelationDescriptor(schemaRoot, DE.T_RELATION_DESCRIPTOR); @@ -332,7 +331,11 @@ _dataStore.createCommandDescriptor(rootD, "Notification", "*", C_NOTIFICATION, false); //$NON-NLS-1$ //$NON-NLS-2$ _dataStore.createCommandDescriptor(rootD, "Send Input", "*", C_SEND_INPUT, false); //$NON-NLS-1$ //$NON-NLS-2$ - + + // spirit stuff + DataElement spiritnode = _dataStore.createObjectDescriptor(_dataStore.getDescriptorRoot(), IDataStoreConstants.DATASTORE_SPIRIT_DESCRIPTOR); + _dataStore.createCommandDescriptor(spiritnode, "StartSpirit", "DataElementRemover", IDataStoreConstants.C_START_SPIRIT); //$NON-NLS-1$ //$NON-NLS-2$ + // both ends have this base schema, so mark each descriptor as updated for (int i = 0; i < schemaRoot.getNestedSize(); i++) diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java 2008-05-19 19:28:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/UpdateHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,15 +14,19 @@ * Contributors: * David McKnight (IBM) [202822] should not be synchronizing on clean method * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [385793] [dstore] DataStore spirit mechanism and other memory improvements needed + * David McKnight (IBM) - [389286] [dstore] element delete should not clear _attributes since elements get recycled + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.core.model; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import org.eclipse.dstore.core.java.IRemoteClassInstance; -import org.eclipse.dstore.internal.core.util.DataElementRemover; /** *

@@ -72,46 +76,83 @@ clean(object, 2); } + + private void unmap(DataElement element) + { + if (element.isDeleted() || element.isSpirit()){ + HashMap map = _dataStore.getHashMap(); + synchronized (map){ + String id = element.getId(); + // _dataStore.memLog("unmapping " + id); + map.remove(id); + _dataStore.addToRecycled(element); + } + } + } + protected void clean(DataElement object, int depth) { - if ((depth > 0) && (object != null) && object.getNestedSize() > 0) - { - List deletedList = _dataStore.findDeleted(object); + boolean isServer = !_dataStore.isVirtual(); + if ((depth > 0) && object != null){ + if (object.isSpirit() || object.isDeleted()){ + DataElement parent = object.getParent(); + cleanChildren(object); + unmap(object); + if (object.isSpirit() && isServer){ + // officially delete this now + object.delete(); + } + if (isServer){ + object.clear(); + } + if (parent != null){ + synchronized (parent){ + parent.removeNestedData(object); + } + } + } + else if (object.getNestedSize() > 0){ + cleanChildren(object); + } + } + // remove objects under temproot + DataElement tmpRoot = _dataStore.getTempRoot(); + if (tmpRoot != null){ + tmpRoot.removeNestedData(); + } + } - for (int i = 0; i < deletedList.size(); i++) - { + + /* + protected void clean(DataElement object, int depth) + { + boolean isServer = !_dataStore.isVirtual(); + if ((depth > 0) && object != null){ + List deletedList = _dataStore.findDeleted(object); + for (int i = 0; i < deletedList.size(); i++){ DataElement child = (DataElement) deletedList.get(i); - if (child != null && child.isDeleted()) - { + if (child != null && child.isDeleted()){ DataElement parent = child.getParent(); - DataElementRemover.addToRemovedCount(); cleanChildren(child); // clean the children - - if (child.isSpirit()) - { - // officially delete this now - child.delete(); + unmap(child); + if (child.isSpirit() && isServer){ + // officially delete this now + child.delete(); } - child.clear(); - if (parent != null) - { - synchronized (parent) - { + if (parent != null){ + synchronized (parent){ parent.removeNestedData(child); } } - // _dataStore.addToRecycled(child); } } deletedList.clear(); } - // delete objects under temproot - _dataStore.getTempRoot().removeNestedData(); - } +*/ /** * Recursively clean children for deletion @@ -119,21 +160,25 @@ */ protected void cleanChildren(DataElement parent) { + boolean isServer = !_dataStore.isVirtual(); List nestedData = parent.getNestedData(); - if (nestedData != null) - { - for (int i = 0; i < nestedData.size(); i++){ - DataElement child = (DataElement)nestedData.get(i); - cleanChildren(child); - - if (child.isSpirit()) - { - // officially delete this now - child.delete(); + if (nestedData != null){ + synchronized (nestedData){ + for (int i = nestedData.size() - 1; i >= 0; i--){ + DataElement child = (DataElement)nestedData.get(i); + if (child.isSpirit() || child.isDeleted()){ + cleanChildren(child); + unmap(child); + + if (isServer){ + // officially delete this now + child.delete(); + child.clear(); + } + nestedData.remove(child); + } + } } - child.clear(); - parent.removeNestedData(child); - } } } @@ -163,43 +208,40 @@ * @param object an object to get updated * @param immediate true indicates that this object should be first in the queue */ - public void update(DataElement object, boolean immediate) - { - synchronized (_dataObjects) - { - if (immediate) - { - _dataObjects.add(0, object); - // none of this immediate stuff - just put it at the beginning - //handle(); + public void update(DataElement object, boolean immediate){ + if (object != null){ + String type = object.getType(); + boolean statusDone = false; + boolean isStatus = DataStoreResources.model_status.equals(type); + if (isStatus){ + statusDone = DataStoreResources.model_done.equals(object.getName()) || DataStoreResources.model_done.equals(object.getValue()); } - else - { - if (!_dataObjects.contains(object)) - { - _dataObjects.add(object); + synchronized (_dataObjects){ + if (immediate){ + _dataObjects.add(0, object); } - else - { - - if (_dataStore != null && object != null && !object.isDeleted()) - { - if (object.getType().equals(DataStoreResources.model_status)) - { - if (object.getName().equals(DataStoreResources.model_done)) - { - //DKM + else { + if (!_dataObjects.contains(object)){ + _dataObjects.add(object); + } + else { + if (_dataStore != null && object != null && !object.isDeleted()){ + if (isStatus && statusDone){ // move to the back of the queue // this is done so that if status that was already queued changed to done in between // requests, and had not yet been transferred over comm layer, the completed status // object does not come back to client (as "done") before the results of a query _dataObjects.remove(object); - _dataObjects.add(object); + _dataObjects.add(object); } } } } } + if (_dataStore != null && !_dataStore.isVirtual() && isStatus && statusDone){ + _dataStore.disconnectObject(object.getParent()); // spirit the command and its children + // _dataStore.disconnectObject(object); + } } notifyInput(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java 2009-07-17 13:13:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ConnectionEstablisher.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,6 +24,13 @@ * Noriaki Takatsu (IBM) - [242968] [multithread] serverSocket must be closed when an exception happens in Accept * David McKnight (IBM) - [257321] [dstore] "Error binding socket" should include port of the failed socket * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue + * Noriaki Takatsu (IBM) - [289678][api][breaking] ServerSocket creation in multiple IP addresses + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [368072] [dstore][ssl] no exception logged upon bind error + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect + * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck + * David McKnight (IBM) - [388472] [dstore] need alternative option for getting at server hostname + * David McKnight (IBM) - [390681] [dstore] need to merge differences between HEAD stream and 3.2 in ConnectionEstablisher.finished() *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -49,6 +56,7 @@ import org.eclipse.dstore.core.model.DataStore; import org.eclipse.dstore.core.model.DataStoreAttributes; import org.eclipse.dstore.core.model.ISSLProperties; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.dstore.internal.core.server.ServerAttributes; import org.eclipse.dstore.internal.core.server.ServerCommandHandler; import org.eclipse.dstore.internal.core.server.ServerReturnCodes; @@ -72,7 +80,7 @@ private ServerSocket _serverSocket; - private static boolean _continue; + private boolean _continue; private ArrayList _receivers; @@ -139,6 +147,25 @@ { setup(port, timeout, ticket); } + + /** + * Creates a ConnectionEstablisher. Communication occurs + * on the specified port and the specified IP address, + * a timeout value indicates the idle wait time + * before shutting down, and ticket specified the required + * ticket for a client to present in order to work with the DataStore. + * + * @param port the number of the socket port + * @param backlog listen backlog + * @param bindAddr the local IP address to bind to + * @param timeout the idle duration to wait before shutting down + * @param ticket validation id required by the client to access the DataStore + * @since 3.2 + */ + public ConnectionEstablisher(String port, int backlog, InetAddress bindAddr, String timeout, String ticket) + { + setup(port, backlog, bindAddr, timeout, ticket); + } /** @@ -189,16 +216,41 @@ /** * Tells the connection establisher to clean up and shutdown */ + /** + * Tells the connection establisher to clean up and shutdown + */ public void finished(ServerReceiver receiver) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher.finished()"); //$NON-NLS-1$ + } + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing sender"); //$NON-NLS-1$ + } _updateHandler.removeSenderWith(receiver.socket()); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing receiver"); //$NON-NLS-1$ + } _receivers.remove(receiver); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - removing preference listener"); //$NON-NLS-1$ + } _dataStore.removeDataStorePreferenceListener(receiver); //if (_receivers.size() == 0) { _continue = false; - _commandHandler.finish(); + _commandHandler.finish(); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - finishing update handler"); //$NON-NLS-1$ + } _updateHandler.finish(); + + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ConnectionEstablisher - finishing DataStore"); //$NON-NLS-1$ + } _dataStore.finish(); System.out.println(ServerReturnCodes.RC_FINISHED); @@ -207,6 +259,7 @@ } } + private void waitForConnections() { while (_continue == true) @@ -282,7 +335,7 @@ - private ServerSocket createSocket(String portStr) throws UnknownHostException + private ServerSocket createSocket(String portStr, int backlog, InetAddress bindAddr) throws UnknownHostException { ServerSocket serverSocket = null; SSLContext sslContext = null; @@ -328,7 +381,13 @@ { try { - serverSocket = sslContext.getServerSocketFactory().createServerSocket(i); + serverSocket = sslContext.getServerSocketFactory().createServerSocket(i, backlog, bindAddr); + } + catch (BindException e) + { + _msg = ServerReturnCodes.RC_BIND_ERROR + " on port " + port + ": " + e.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$ + System.err.println(_msg); + _dataStore.trace(_msg); } catch (Exception e) { @@ -336,7 +395,19 @@ } else { - serverSocket = new ServerSocket(i); + try + { + serverSocket = new ServerSocket(i, backlog, bindAddr); + } + catch (BindException e) + { + _msg = ServerReturnCodes.RC_BIND_ERROR + " on port " + port + ": " + e.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$ + System.err.println(_msg); + _dataStore.trace(_msg); + } + catch (Exception e) + { + } } } catch (Exception e) @@ -363,11 +434,12 @@ { try { - serverSocket = sslContext.getServerSocketFactory().createServerSocket(port); + serverSocket = sslContext.getServerSocketFactory().createServerSocket(port, backlog, bindAddr); } catch (BindException e){ _msg = ServerReturnCodes.RC_BIND_ERROR + " on port " + port + ": " + e.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$ System.err.println(_msg); + _dataStore.trace(_msg); } catch (Exception e) { @@ -378,11 +450,12 @@ { try { - serverSocket = new ServerSocket(port); + serverSocket = new ServerSocket(port, backlog, bindAddr); } catch (BindException e){ _msg = ServerReturnCodes.RC_BIND_ERROR + " on port " + port + ": " + e.getMessage(); //$NON-NLS-1$ //$NON-NLS-2$ System.err.println(_msg); + _dataStore.trace(_msg); } catch (Exception e) { @@ -392,7 +465,7 @@ } return serverSocket; } - + /** * Create the DataStore and initializes it's handlers and communications. * @@ -402,6 +475,20 @@ */ private void setup(String portStr, String timeoutStr, String ticketStr) { + setup(portStr, 50, null, timeoutStr, ticketStr); + } + + /** + * Create the DataStore and initializes it's handlers and communications. + * + * @param portStr the number of the socket port + * @param backlog listen backlog + * @param bindAddr the local IP address to bind to + * @param timeoutStr the idle duration to wait before shutting down + * @param ticketStr validation id required by the client to access the DataStore + */ + private void setup(String portStr, int backlog, InetAddress bindAddr, String timeoutStr, String ticketStr) + { _maxConnections = 1; @@ -435,7 +522,7 @@ try { - _serverSocket = createSocket(portStr); + _serverSocket = createSocket(portStr, backlog, bindAddr); if (_serverSocket == null) { _continue = false; @@ -460,14 +547,7 @@ System.err.println(ServerReturnCodes.RC_SUCCESS); System.err.println(_serverSocket.getLocalPort()); _msg = ServerReturnCodes.RC_SUCCESS; - try - { - System.err.println("Server running on: " + InetAddress.getLocalHost().getHostName()); //$NON-NLS-1$ - } - catch (UnknownHostException e) - { - // keep running - } + System.err.println("Server running on: " + ServerAttributes.getHostName()); //$NON-NLS-1$ } } catch (UnknownHostException e) @@ -509,7 +589,7 @@ PrintWriter writer = new PrintWriter(bwriter); String version = DataStoreAttributes.DATASTORE_VERSION; - String preferenceVersion = System.getProperty("DSTORE_VERSION"); //$NON-NLS-1$ + String preferenceVersion = System.getProperty(IDataStoreSystemProperties.DSTORE_VERSION); if (preferenceVersion != null && preferenceVersion.length() > 0){ version = preferenceVersion; } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/IServerLogger.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/IServerLogger.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/IServerLogger.java 2008-06-04 09:13:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/IServerLogger.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. + * Copyright (c) 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,12 +11,17 @@ * Contributors: * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients + * David McKnight (IBM) - [305272] [dstore][multithread] log close in ServerLogger *******************************************************************************/ package org.eclipse.dstore.core.server; /** * @since 3.0 + * @noimplement This interface is not intended to be implemented by clients. + * Server logger implementations must subclass + * {@link ServerLogger} rather than implementing this + * interface directly. */ public interface IServerLogger { @@ -51,4 +56,10 @@ * @param message Message text to be logged. */ public void logDebugMessage(String minerName, String message); + + /** + * closeLogFileStream + * @since 3.2 + */ + public void closeLogFileStream(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/SecuredThread.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/SecuredThread.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/SecuredThread.java 2008-06-04 10:50:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/SecuredThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. + * Copyright (c) 2008, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,8 @@ * Contributors: * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * Noriaki Takatsu (IBM) - [228335] [dstore][multithread] start() in SecuredThread class + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [373459] [dstore][multithread] duplicate finish() calls during idle timeout *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -122,6 +124,9 @@ */ public void run() { + if (_dataStore != null && _dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "SecuredThread.run()..."); //$NON-NLS-1$ + } try { ISystemService systemService = SystemServiceManager.getInstance().getSystemService(); @@ -129,12 +134,18 @@ systemService.setThreadSecurity(_dataStore.getClient()); } } + catch (OutOfMemoryError err){ + System.exit(-1); + } catch (Throwable e) { e.printStackTrace(new PrintWriter(System.err)); } super.run(); + if (_dataStore != null && _dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "... end of SecuredThread.run()"); //$NON-NLS-1$ + } } /** @@ -169,5 +180,14 @@ } } */ + + public void start(){ + try { + super.start(); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/Server.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/Server.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/Server.java 2008-06-04 10:50:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/Server.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,10 +16,12 @@ * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * Noriaki Takatsu (IBM) - [289678][api][breaking] ServerSocket creation in multiple IP addresses *******************************************************************************/ package org.eclipse.dstore.core.server; +import java.net.InetAddress; import java.util.StringTokenizer; import org.eclipse.dstore.internal.core.server.ServerReturnCodes; @@ -157,6 +159,24 @@ { _establisher = new ConnectionEstablisher(port, timeout, ticket); } + + /** + * Creates a new Server that waits on the specified socket port and + * the specified IP address with the backlog for + * the specified time interval before shutting down. + * + * @param port the number of the socket port to wait on + * @param backlog listen backlog + * @param bindAddr the local IP address to bind to + * @param timeout the idle time to wait before shutting down + * @param ticket the ticket that the client needs to interact with the DataStore + * @since 3.2 + */ + public Server(String port, int backlog, InetAddress bindAddr, String timeout, String ticket) + { + _establisher = new ConnectionEstablisher(port, backlog, bindAddr, timeout, ticket); + } + /** diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerLauncher.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerLauncher.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerLauncher.java 2008-09-03 19:24:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerLauncher.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,9 @@ * David McKnight (IBM) - [193426] don't display exceptions * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed * David McKnight (IBM) - [245714] [dstore] Multiple user ID/password prompts and connect fails + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [378878] [dstore] Need ability to log handshake messages from the authentication/server process to ServerLauncher + * David McKnight (IBM) - [388472] [dstore] need alternative option for getting at server hostname *******************************************************************************/ package org.eclipse.dstore.core.server; @@ -26,12 +29,14 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.io.RandomAccessFile; import java.net.BindException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Date; import javax.net.ssl.HandshakeCompletedEvent; import javax.net.ssl.HandshakeCompletedListener; @@ -42,6 +47,8 @@ import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.IDataStoreConstants; import org.eclipse.dstore.core.model.ISSLProperties; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; +import org.eclipse.dstore.internal.core.server.ServerAttributes; import org.eclipse.dstore.internal.core.server.ServerReturnCodes; import org.eclipse.dstore.internal.core.server.ServerSSLProperties; import org.eclipse.dstore.internal.core.util.ssl.DStoreSSLContext; @@ -96,7 +103,9 @@ _reader = new BufferedReader(new InputStreamReader(_socket .getInputStream(), DE.ENCODING_UTF_8)); } catch (java.io.IOException e) { - System.out.println("ServerLauncher:" + e); //$NON-NLS-1$ + String msg = "ServerLauncher:" + e; //$NON-NLS-1$ + System.out.println(msg); + logError(msg, e); } } @@ -141,11 +150,15 @@ _serverProcess.waitFor(); } catch (Exception e) { - System.out.println("ServerLauncher:" + e); //$NON-NLS-1$ + String msg = "ServerLauncher:" + e; //$NON-NLS-1$ + System.out.println(msg); + logError(msg, e); } } - System.out.println("finished on port " + _port); //$NON-NLS-1$ + String msg = "finished on port " + _port; //$NON-NLS-1$ + System.out.println(msg); + _outReader = null; _errReader = null; _serverProcess = null; @@ -266,7 +279,7 @@ // contains the authorization // script path // - String authPath = System.getProperty("RSE.AUTH"); //$NON-NLS-1$ + String authPath = System.getProperty(IDataStoreSystemProperties.RSE_AUTH); File authFile = null; if (authPath != null && authPath.length() > 0) { @@ -332,6 +345,7 @@ launchStatus = "success"; //$NON-NLS-1$ } + logMessage("launch status = "+launchStatus); //$NON-NLS-1$ if ((launchStatus == null) || !launchStatus.equals("success")) //$NON-NLS-1$ { _writer.println(IDataStoreConstants.AUTHENTICATION_FAILED); @@ -341,6 +355,7 @@ // look for the server startup string, it needs to occur // somewhere in the line. String status = _errReader.readLine(); + logMessage("status = "+status); //$NON-NLS-1$ while (status!=null && (status.indexOf(ServerReturnCodes.RC_DSTORE_SERVER_MAGIC) < 0)) { status = _errReader.readLine(); @@ -358,7 +373,9 @@ _writer.println(_port); _writer.println(ticket); - System.out.println("launched new server on " + _port); //$NON-NLS-1$ + String msg = "launched new server on " + _port; //$NON-NLS-1$ + System.out.println(msg); + logMessage(msg); connected = true; } else @@ -398,16 +415,20 @@ } catch (IOException e) { - System.out.println("ServerLauncher:" + e); //$NON-NLS-1$ + String msg = "ServerLauncher:" + e; //$NON-NLS-1$ + System.out.println(msg); + logError(msg, e); } return connected; } public void handshakeCompleted(HandshakeCompletedEvent event) { - System.out.println("handshake completed"); //$NON-NLS-1$ + String msg = "handshake completed"; //$NON-NLS-1$ + System.out.println(msg); System.out.println(event); - + + logMessage(msg); } } @@ -421,13 +442,16 @@ private ISSLProperties _sslProperties; + private boolean _logDaemon = false; + private RandomAccessFile _logFile = null; + public static int DEFAULT_DAEMON_PORT = 4075; /** * Constructor */ public ServerLauncher() { - String pluginPath = System.getProperty("A_PLUGIN_PATH"); //$NON-NLS-1$ + String pluginPath = System.getProperty(IDataStoreSystemProperties.A_PLUGIN_PATH); if (pluginPath == null) { System.out.println("A_PLUGIN_PATH is not defined"); //$NON-NLS-1$ System.exit(-1); @@ -449,7 +473,7 @@ * the port for the daemon socket to run on */ public ServerLauncher(String portStr) { - String pluginPath = System.getProperty("A_PLUGIN_PATH"); //$NON-NLS-1$ + String pluginPath = System.getProperty(IDataStoreSystemProperties.A_PLUGIN_PATH); if (pluginPath == null) { System.out.println("A_PLUGIN_PATH is not defined"); //$NON-NLS-1$ System.exit(-1); @@ -472,7 +496,7 @@ * the port range for launched servers */ public ServerLauncher(String portStr, String serverPortRange) { - String pluginPath = System.getProperty("A_PLUGIN_PATH"); //$NON-NLS-1$ + String pluginPath = System.getProperty(IDataStoreSystemProperties.A_PLUGIN_PATH); if (pluginPath == null) { System.out.println("A_PLUGIN_PATH is not defined"); //$NON-NLS-1$ System.exit(-1); @@ -501,6 +525,31 @@ * @param portStr the daemon port */ public void init(String portStr) { + + String logdaemonLocation = System.getProperty("logdaemonpath"); //$NON-NLS-1$ + if (logdaemonLocation != null && logdaemonLocation.length() > 0){ + // create temp file for logging + File traceFileHandle = new File(logdaemonLocation); + if (!traceFileHandle.exists()){ + try { // try to create it + traceFileHandle.createNewFile(); + } catch (IOException e) { + } + } + if (traceFileHandle.canWrite()){ + try { + _logFile = new RandomAccessFile(traceFileHandle, "rw"); //$NON-NLS-1$ + _logFile.seek(traceFileHandle.length()); + + logMessage("-----------------------------------------"); //$NON-NLS-1$ + logMessage("Start Tracing at " + System.currentTimeMillis()); //$NON-NLS-1$ + _logDaemon = true; + } + catch (Exception e){ + } + } + } + // create server socket from port _sslProperties = new ServerSSLProperties(); @@ -540,23 +589,27 @@ if (_serverSocket != null && _serverSocket.getLocalPort() > 0) { socketBound = true; - System.out.println("Daemon running on: " //$NON-NLS-1$ - + InetAddress.getLocalHost().getHostName() - + ", port: " + i); //$NON-NLS-1$ + String msg = "Daemon running on: " + ServerAttributes.getHostName() + ", port: " + i; //$NON-NLS-1$ //$NON-NLS-2$ + System.out.println(msg); + logMessage(msg); } } catch (UnknownHostException e) { - System.err - .println("Networking problem, can't resolve local host"); //$NON-NLS-1$ + String msg = "Networking problem, can't resolve local host"; //$NON-NLS-1$ + System.err.println(msg); // don't display exceptions 193426 - //e.printStackTrace(); + logError(msg, e); System.exit(-1); } catch (BindException e) { - System.err.println("socket taken on " + i); //$NON-NLS-1$ + String msg = "socket taken on " + i; //$NON-NLS-1$ + System.err.println(msg); + logError(msg, e); // keep going } catch (IOException e) { - System.err.println("Failure to create ServerSocket"); //$NON-NLS-1$ + String msg = "Failure to create ServerSocket"; //$NON-NLS-1$ + System.err.println(msg); // don't display exceptions 193426 //e.printStackTrace(); + logError(msg, e); System.exit(-1); } @@ -579,28 +632,70 @@ // don't display exceptions 193426 //e.printStackTrace(); System.err.println(e.getMessage()); + logError(e.getMessage(), e); System.exit(-1); } } else { _serverSocket = new ServerSocket(port); } - System.out.println("Daemon running on: " //$NON-NLS-1$ - + InetAddress.getLocalHost().getHostName() + ", port: " //$NON-NLS-1$ - + port); + + String msg = "Daemon running on: " //$NON-NLS-1$ + + ServerAttributes.getHostName() + ", port: " //$NON-NLS-1$ + + port; + + System.out.println(msg); + logMessage(msg); } catch (UnknownHostException e) { - System.err - .println("Networking problem, can't resolve local host"); //$NON-NLS-1$ + String msg = "Networking problem, can't resolve local host"; //$NON-NLS-1$ + System.err.println(msg); // don't display exceptions 193426 //e.printStackTrace(); + logError(msg, e); System.exit(-1); } catch (IOException e) { - System.err.println("Failure to create ServerSocket"); //$NON-NLS-1$ + String msg = "Failure to create ServerSocket"; //$NON-NLS-1$ + System.err.println(msg); // don't display exceptions 193426 //e.printStackTrace(); + logError(msg, e); System.exit(-1); } } } + + private void logMessage(String msg){ + if (_logDaemon && _logFile != null){ + try { + _logFile.writeBytes((new Date()).toString() + ": "); //$NON-NLS-1$ + _logFile.writeBytes(msg); + _logFile.writeBytes(System.getProperty("line.separator")); //$NON-NLS-1$ + } + catch (IOException e) + { + } + } + } + + private void logError(String msg, Throwable e){ + if (_logDaemon && _logFile != null){ + try { + _logFile.writeBytes((new Date()).toString() + ": "); //$NON-NLS-1$ + _logFile.writeBytes(msg); + _logFile.writeBytes(System.getProperty("line.separator")); //$NON-NLS-1$ + + StackTraceElement[] stack = e.getStackTrace(); + for (int i = 0;i 0){ try { logFileMax = Integer.parseInt(logFileMaxStr); @@ -131,7 +169,9 @@ logFile.createNewFile(); found = true; } - catch (IOException e){} + catch (IOException e){ + return null; + } } else { // if the file exists, check it's size @@ -158,7 +198,7 @@ public void logInfo(String minerName, String message) { if (!initialized) initialize(); - String loggerLogLevel = System.getProperty("DSTORE_LOGGER_LOG_LEVEL"); //$NON-NLS-1$ + String loggerLogLevel = System.getProperty(IDataStoreSystemProperties.DSTORE_LOGGER_LOG_LEVEL); if (loggerLogLevel != null){ try { log_level = Integer.parseInt(loggerLogLevel); @@ -191,7 +231,7 @@ public void logWarning(String minerName, String message) { if (!initialized) initialize(); - String loggerLogLevel = System.getProperty("DSTORE_LOGGER_LOG_LEVEL"); //$NON-NLS-1$ + String loggerLogLevel = System.getProperty(IDataStoreSystemProperties.DSTORE_LOGGER_LOG_LEVEL); if (loggerLogLevel != null){ try { log_level = Integer.parseInt(loggerLogLevel); @@ -227,7 +267,7 @@ if (!initialized) initialize(); - String loggerLogLevel = System.getProperty("DSTORE_LOGGER_LOG_LEVEL"); //$NON-NLS-1$ + String loggerLogLevel = System.getProperty(IDataStoreSystemProperties.DSTORE_LOGGER_LOG_LEVEL); if (loggerLogLevel != null){ try { log_level = Integer.parseInt(loggerLogLevel); @@ -263,7 +303,7 @@ if (!initialized) initialize(); - String loggerLogLevel = System.getProperty("DSTORE_LOGGER_LOG_LEVEL"); //$NON-NLS-1$ + String loggerLogLevel = System.getProperty(IDataStoreSystemProperties.DSTORE_LOGGER_LOG_LEVEL); if (loggerLogLevel != null){ try { log_level = Integer.parseInt(loggerLogLevel); diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java 2009-07-17 13:13:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/server/ServerReceiver.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,12 +18,15 @@ * Noriaki Takatsu (IBM) - [257666] [multithread] TCP/IP socket connection is not closed * David McKnight (IBM) - [257666] modified original patch to simplify * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue + * Noriaki Takatsu (IBM) - [289234][multithread][api] Reset and Restart KeepAliveRequestThread + * David McKnight (IBM) - [385793] [dstore] DataStore spirit mechanism and other memory improvements needed *******************************************************************************/ package org.eclipse.dstore.core.server; import java.io.IOException; import java.net.Socket; +import java.util.List; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.util.Receiver; @@ -37,7 +40,10 @@ */ public class ServerReceiver extends Receiver { - + private DataElement _log; + private int _maxLog = 20; + private int _logIndex = 0; + private ConnectionEstablisher _connection; /** @@ -50,6 +56,7 @@ { super(socket, connection.getDataStore()); _connection = connection; + _log = _dataStore.getLogRoot(); } @@ -66,8 +73,25 @@ { DataElement rootOutput = documentObject.get(a); - DataElement log = _dataStore.getLogRoot(); - log.addNestedData(rootOutput, false); + // max log + List logged = _log.getNestedData(); + if (logged == null){ + _log.addNestedData(rootOutput, false); + _logIndex++; + } + else { + if (_logIndex > _maxLog){ + _logIndex = 0; // reset logindex + } + + if (logged.size() > _logIndex){ + logged.set(_logIndex, rootOutput); + } + else { + logged.add(_logIndex, rootOutput); + } + _logIndex++; + } if (rootOutput.getName().equals("C_EXIT")) //$NON-NLS-1$ { @@ -118,5 +142,4 @@ System.out.println(IOe); } } - } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/CommandGenerator.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/CommandGenerator.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/CommandGenerator.java 2008-06-04 10:51:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/CommandGenerator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,8 @@ * Contributors: * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.core.util; @@ -42,7 +44,6 @@ private DataStore _dataStore = null; private DataElement _log = null; - static private int _id = 0; /** * Constructor @@ -142,7 +143,7 @@ */ public DataElement generateCommand(DataElement commandDescriptor, ArrayList arguments, DataElement dataObject, boolean refArg) { - + //refArg = false; DataElement commandObject = createCommand(commandDescriptor); if (commandObject != null) { @@ -150,14 +151,21 @@ commandObject.setAttribute(DE.A_VALUE, commandDescriptor.getName()); - if (dataObject.isUpdated() && !dataObject.isSpirit()) + if (refArg && !dataObject.isSpirit()) { _dataStore.createReference(commandObject, dataObject,DataStoreResources.model_contents); } else { - dataObject.setPendingTransfer(true); - commandObject.addNestedData(dataObject, false); + dataObject.setPendingTransfer(true); + if (dataObject.isSpirit() && _dataStore.isVirtual()){ + // resurrecting spirited element + dataObject.setSpirit(false); + // clear out old data - otherwise, we can end up with duplicates + dataObject.removeNestedData(); + } + + commandObject.addNestedData(dataObject, false); } if (arguments != null) @@ -167,7 +175,7 @@ DataElement arg = (DataElement) arguments.get(i); if (arg != null) { - if (!arg.isUpdated() || arg.isSpirit()) + if (!arg.isUpdated() || arg.isSpirit() || !refArg) { commandObject.addNestedData(arg, false); } @@ -199,24 +207,30 @@ */ public DataElement generateCommand(DataElement commandDescriptor, DataElement arg, DataElement dataObject, boolean refArg) { - _id++; + //refArg = false; DataElement commandObject = createCommand(commandDescriptor); if (commandObject != null) { commandObject.setAttribute(DE.A_VALUE, commandDescriptor.getName()); clearDeleted(dataObject); - if ((refArg || dataObject.isUpdated()) && !dataObject.isSpirit()) + if (refArg && !dataObject.isSpirit()) { _dataStore.createReference(commandObject, dataObject,DataStoreResources.model_contents); } else { dataObject.setPendingTransfer(true); + if (dataObject.isSpirit() && _dataStore.isVirtual()){ + // resurrecting spirited element + dataObject.setSpirit(false); + // clear out old data - otherwise, we can end up with duplicates + dataObject.removeNestedData(); + } commandObject.addNestedData(dataObject, false); } - if (!arg.isUpdated() || arg.isSpirit()) + if (!arg.isUpdated() || arg.isSpirit() || !refArg) { commandObject.addNestedData(arg, false); } @@ -244,21 +258,26 @@ */ public DataElement generateCommand(DataElement commandDescriptor, DataElement dataObject, boolean refArg) { - _id++; - + //refArg = false; DataElement commandObject = createCommand(commandDescriptor); if (commandObject != null) { commandObject.setAttribute(DE.A_VALUE, commandDescriptor.getName()); clearDeleted(dataObject); - if ((refArg || dataObject.isUpdated()) && !dataObject.isSpirit()) + if (refArg && !dataObject.isSpirit()) { _dataStore.createReference(commandObject, dataObject,DataStoreResources.model_arguments); } else { dataObject.setPendingTransfer(true); + if (dataObject.isSpirit() && _dataStore.isVirtual()){ + // resurrecting spirited element + dataObject.setSpirit(false); + // clear out old data - otherwise, we can end up with duplicates + dataObject.removeNestedData(); + } commandObject.addNestedData(dataObject, false); } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/Receiver.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/Receiver.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/Receiver.java 2009-05-20 20:06:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/core/util/Receiver.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,9 @@ * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * Noriaki Takatsu (IBM) - [289234][multithread][api] Reset and Restart KeepAliveRequestThread + * David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect + * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck *******************************************************************************/ package org.eclipse.dstore.core.util; @@ -97,6 +100,9 @@ public void finish() { _canExit = true; + + // one final call here to cleanup parser + handleInput(); } /** @@ -161,7 +167,7 @@ { // something really bad happened _canExit = true; - if (_xmlParser.getPanicException() != null) + if (_xmlParser.getPanicException() != null && (_dataStore != null && _dataStore.isConnected())) handleError(_xmlParser.getPanicException()); } } @@ -184,6 +190,7 @@ { return _socket; } + /** * Implemented to provide a means of handling received input @@ -217,4 +224,16 @@ } } + + /** + * Interrupt the current KeepAliveRequest thread and restart + * the KeepAliveRequest thread with the specified timeout + * + * @param timeout when the KeepAliveRequest thread is expired + * @since 3.3 + */ + public void resetKeepAliveRequest(long timeout) + { + _xmlParser.resetKeepAliveRequest(timeout, socket()); + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientAttributes.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientAttributes.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientAttributes.java 2007-05-24 13:59:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientAttributes.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support *******************************************************************************/ package org.eclipse.dstore.internal.core.client; @@ -22,6 +22,7 @@ import java.net.UnknownHostException; import org.eclipse.dstore.core.model.DataStoreAttributes; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; /** * ClientAttributes is a container of communication related @@ -39,7 +40,7 @@ try { - String pluginPath = System.getProperty("A_PLUGIN_PATH"); //$NON-NLS-1$ + String pluginPath = System.getProperty(IDataStoreSystemProperties.A_PLUGIN_PATH); if ((pluginPath != null) && (pluginPath.length() > 0)) { setAttribute(A_PLUGIN_PATH, pluginPath + File.separator); diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientCommandHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientCommandHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientCommandHandler.java 2009-04-20 18:37:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/client/ClientCommandHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,11 +15,11 @@ * David McKnight (IBM) [220123][dstore] Configurable timeout on irresponsiveness * David McKnight (IBM) [222168][dstore] Buffer in DataElement is not sent * David McKnight (IBM) [246826][dstore] KeepAlive does not work correctly + * David McKnight (IBM) [306853][dstore] RD/z client hang after browse copy book command *******************************************************************************/ package org.eclipse.dstore.internal.core.client; - -import org.eclipse.dstore.core.java.IRemoteClassInstance; + import org.eclipse.dstore.core.java.IRemoteClassInstance; import org.eclipse.dstore.core.model.CommandHandler; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; @@ -28,6 +28,7 @@ import org.eclipse.dstore.internal.core.util.Sender; + /** * The ClientCommandHandler is reponsible for maintaining * a queue of commands and periodically sending commands @@ -225,7 +226,7 @@ while (_commands.size() > 0) { DataElement command = null; - //synchronized (_commands) + synchronized (_commands) { command = (DataElement)_commands.remove(0); } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/IDataStoreSystemProperties.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/IDataStoreSystemProperties.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/IDataStoreSystemProperties.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/model/IDataStoreSystemProperties.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2011 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + *******************************************************************************/ + +package org.eclipse.dstore.internal.core.model; + +public interface IDataStoreSystemProperties { + + /***************************************************************** + * Tracing + *****************************************************************/ + // log directory allows customization of log location relative to user dir + public static final String DSTORE_LOG_DIRECTORY="DSTORE_LOG_DIRECTORY"; //$NON-NLS-1$ + + // indicates whether dstore tracing is on or not ("true" or "false") + public static final String DSTORE_TRACING_ON="DSTORE_TRACING_ON"; //$NON-NLS-1$ + + + /***************************************************************** + * Idle Shutdown + *****************************************************************/ + // indicates how long to wait on an idle connection before disconnecting + // a value of 0 disables this + public static final String DSTORE_IDLE_SHUTDOWN_TIMEOUT="DSTORE_IDLE_SHUTDOWN_TIMEOUT"; //$NON-NLS-1$ + + /***************************************************************** + * Version + *****************************************************************/ + // indicates the dstore protocol version - rarely updated since the protocol itself is stable + public static final String DSTORE_VERSION="DSTORE_VERSION"; //$NON-NLS-1$ + + + /***************************************************************** + * SSL + *****************************************************************/ + // for custom default certificate alias used in SSL mode + public static final String DSTORE_DEFAULT_CERTIFICATE_ALIAS="DSTORE_DEFAULT_CERTIFICATE_ALIAS"; //$NON-NLS-1$ + + /***************************************************************** + * Spiriting + *****************************************************************/ + // used to determine whether spirting is on ("true" or "false") + public static final String DSTORE_SPIRIT_ON="DSTORE_SPIRIT_ON"; //$NON-NLS-1$ + + // used to determine whether memlogging is on ("true" or "false") + public static final String DSTORE_MEMLOGGING_ON="DSTORE_MEMLOGGING_ON"; //$NON-NLS-1$ + + + /***************************************************************** + * Server Logger + *****************************************************************/ + // used to determine the logger level: + // 0 is ERROR + // 1 is WARNING + // 2 is INFO + // 3 is DEBUG + public static final String DSTORE_LOGGER_LOG_LEVEL="DSTORE_LOGGER_LOG_LEVEL"; //$NON-NLS-1$ + + // used to determine the maximum log file size. A new log file gets created when the max is exceeded + public static final String RSECOMM_LOGFILE_MAX="RSECOMM_LOGFILE_MAX"; //$NON-NLS-1$ + + /***************************************************************** + * RSE shell + *****************************************************************/ + // allows for custom shell invocation + public static final String DSTORE_SHELL_INVOCATION="DSTORE_SHELL_INVOCATION"; //$NON-NLS-1$ + + // the maximum line length in a shell before wrap + public static final String DSTORE_SHELL_MAX_LINE="DSTORE_SHELL_MAX_LINE"; //$NON-NLS-1$ + + // special encoding to use when reading IO + public static final String DSTORE_STDIN_ENCODING="dstore.stdin.encoding"; //$NON-NLS-1$ + + /***************************************************************** + * Search + *****************************************************************/ + // tells search to only search unique folders ("true" or "false") + public static final String DSTORE_SEARCH_ONLY_UNIQUE_FOLDERS="DSTORE_SEARCH_ONLY_UNIQUE_FOLDERS"; //$NON-NLS-1$ + + // used for memory management - default is .8 + public static final String SEARCH_THRESHOLD="search.threshold"; //$NON-NLS-1$ + + /***************************************************************** + * Daemon + *****************************************************************/ + // used to customized authentication program (normally we use auth.pl) + public static final String RSE_AUTH="RSE.AUTH"; //$NON-NLS-1$ + + // path to the server jars + public static final String A_PLUGIN_PATH="A_PLUGIN_PATH"; //$NON-NLS-1$ + + + /***************************************************************** + * TCPNODELAY option + *****************************************************************/ + // specifying this as true disables Nagle's algorithm + public static final String DSTORE_TCP_NO_DELAY="DSTORE_TCP_NO_DELAY"; //$NON-NLS-1$ + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java 2009-05-20 20:06:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/MinerLoader.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * * Contributors: * David McKnight (IBM) - [244388] [dstore] Connection hangs when a miner not installed + * David McKnight (IBM) - [367264] [dstore] Trace should be written when load miner is failed. *******************************************************************************/ package org.eclipse.dstore.internal.core.server; @@ -213,25 +214,25 @@ } catch (NoClassDefFoundError e) { - e.printStackTrace(); + _dataStore.trace(e); handleNoClassFound(e.getMessage().replace('/','.')); } catch (ClassNotFoundException e) { - e.printStackTrace(); + _dataStore.trace(e); handleNoClassFound(name); } catch (InstantiationException e) { - e.printStackTrace(); + _dataStore.trace(e); } catch (IllegalAccessException e) { - e.printStackTrace(); + _dataStore.trace(e); } catch (Exception e) { - e.printStackTrace(); + _dataStore.trace(e); } } else @@ -350,7 +351,6 @@ //if (remoteLoader.canLoad(source)) if(true) { - //System.out.println("using RemoteClassLoader"); return remoteLoader; } @@ -359,7 +359,6 @@ ExternalLoader loader = (ExternalLoader) _loaders.get(i); if (loader.canLoad(source)) { - // System.out.println("using local loader"); return loader; } else diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerAttributes.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerAttributes.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerAttributes.java 2007-05-24 13:59:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerAttributes.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,16 +12,22 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [388472] [dstore] need alternative option for getting at server hostname *******************************************************************************/ package org.eclipse.dstore.internal.core.server; +import java.io.BufferedReader; import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.net.InetAddress; import java.net.UnknownHostException; import org.eclipse.dstore.core.model.DataStoreAttributes; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; /** * This class is used to store attributes that are required @@ -37,37 +43,59 @@ { super(); - try + String pluginPath = System.getProperty(IDataStoreSystemProperties.A_PLUGIN_PATH); + if (pluginPath != null) pluginPath = pluginPath.trim(); + if ((pluginPath != null) && (pluginPath.length() > 0)) { - String pluginPath = System.getProperty("A_PLUGIN_PATH"); //$NON-NLS-1$ - if (pluginPath != null) pluginPath = pluginPath.trim(); - if ((pluginPath != null) && (pluginPath.length() > 0)) - { - File f = new File(pluginPath); - try - { - pluginPath = f.getCanonicalPath(); - } - catch (Exception e) - { - pluginPath = f.getAbsolutePath(); - } - - setAttribute(A_PLUGIN_PATH, pluginPath + File.separator); - } - else - { - setAttribute(A_PLUGIN_PATH, "/home/"); //$NON-NLS-1$ - } - - setAttribute(A_LOCAL_NAME, InetAddress.getLocalHost().getHostName()); - - setAttribute(A_HOST_NAME, "server_host"); //$NON-NLS-1$ - setAttribute(A_HOST_PATH, "/home/"); //$NON-NLS-1$ + File f = new File(pluginPath); + try + { + pluginPath = f.getCanonicalPath(); + } + catch (Exception e) + { + pluginPath = f.getAbsolutePath(); + } + + setAttribute(A_PLUGIN_PATH, pluginPath + File.separator); } - catch (UnknownHostException e) + else { + setAttribute(A_PLUGIN_PATH, "/home/"); //$NON-NLS-1$ } + setAttribute(A_LOCAL_NAME, getHostName()); + + setAttribute(A_HOST_NAME, "server_host"); //$NON-NLS-1$ + setAttribute(A_HOST_PATH, "/home/"); //$NON-NLS-1$ + } + + /** + * Returns the server hostname, avoiding use of InetAddress.getLocalHost().getHostName() if possible + * @return the hostname + */ + public static String getHostName(){ + String hostname = System.getProperty("hostname"); //$NON-NLS-1$ + if (hostname == null || hostname.length() == 0){ + String readHostname = System.getProperty("read.hostname"); //$NON-NLS-1$ + if (readHostname != null && readHostname.equals("true")){ //$NON-NLS-1$ + try { + Process p = Runtime.getRuntime().exec("hostname"); //$NON-NLS-1$ + InputStream inStream = p.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(inStream)); + hostname = reader.readLine(); + } catch (IOException e) { + } + } + if (hostname == null || hostname.length() == 0){ // still no hostname + try { + hostname = InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + } + } + // set this so we don't have to do it again + System.setProperty("hostname", hostname); //$NON-NLS-1$ + } + return hostname; } -} +} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java 2009-07-17 13:13:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerCommandHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,12 +16,18 @@ * David McKnight (IBM) - [244388] [dstore] Connection hangs when a miner not installed * David McKnight (IBM) - [278341] [dstore] Disconnect on idle causes the client hang * Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue + * David McKnight (IBM) - [294933] [dstore] RSE goes into loop + * David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect + * David McKnight (IBM) - [373459] [dstore][multithread] duplicate finish() calls during idle timeout + * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck *******************************************************************************/ package org.eclipse.dstore.internal.core.server; import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import org.eclipse.dstore.core.java.IRemoteClassInstance; @@ -37,7 +43,7 @@ import org.eclipse.dstore.core.server.SystemServiceManager; /** - * The ServerCommandHandler is reponsible for maintaining + * The ServerCommandHandler is responsible for maintaining * a queue of commands and periodically routing commands * from the queue to the appropriate miners. */ @@ -47,6 +53,7 @@ { private long _timeout; private boolean _serverTimedOut = false; + private boolean _serverDone = false; public ServerIdleThread(long timeout) { @@ -55,28 +62,38 @@ public void run() { - while (!_serverTimedOut) + while (!_serverTimedOut && !_serverDone) { + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ServerIdleThread.waitForTimeout()..."); //$NON-NLS-1$ + } waitForTimeout(); } if (_serverTimedOut) { - _dataStore.getCommandHandler().finish(); - _dataStore.getUpdateHandler().finish(); - _dataStore.finish(); - System.out.println(ServerReturnCodes.RC_FINISHED); if (_dataStore.getClient() != null) { - _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "Server timeout"); + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "Server timeout"); //$NON-NLS-1$ } - + + System.out.println(ServerReturnCodes.RC_FINISHED); + // only exit if there's no service manager - if (SystemServiceManager.getInstance().getSystemService() == null){ + if (SystemServiceManager.getInstance().getSystemService() == null){ + _dataStore.getCommandHandler().finish(); + _dataStore.getUpdateHandler().finish(); + _dataStore.finish(); System.exit(0); } else { - _dataStore.getClient().disconnectServerReceiver(); + _dataStore.getClient().disconnectServerReceiver(); } } + else if (_serverDone){ + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "Server complete so existing server idle thread"); //$NON-NLS-1$ + } + + } } protected synchronized void waitForTimeout() @@ -198,8 +215,32 @@ */ public void finish() { - if (_minerLoader != null) + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ServerCommandHandler.finish()"); //$NON-NLS-1$ + } + + if (_serverIdleThread != null){ + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ServerCommandHandler clearing server idle thread"); //$NON-NLS-1$ + } + + if (_serverIdleThread.isAlive()){ + _serverIdleThread._serverDone = true; + _serverIdleThread.interrupt(); + } + _serverIdleThread = null; + } + + + if (_minerLoader != null){ + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ServerCommandHandler.finish() - calling finishMiners..."); //$NON-NLS-1$ + } _minerLoader.finishMiners(); + if (_dataStore.getClient() != null) { + _dataStore.getClient().getLogger().logInfo(this.getClass().toString(), "ServerCommandHandler.finish() - ...completed calling finishMiners"); //$NON-NLS-1$ + } + } super.finish(); } @@ -271,10 +312,15 @@ clientTicket.setAttribute(DE.A_VALUE,DataStoreResources.model_valid); DataElement host = _dataStore.getHostRoot(); - _dataStore.getHashMap().remove(host.getId()); + HashMap map = _dataStore.getHashMap(); + synchronized (map){ + map.remove(host.getId()); + } host.setAttribute(DE.A_ID, "host." + serverTicket.getName()); //$NON-NLS-1$ - _dataStore.getHashMap().put(host.getId(), host); + synchronized (map){ + map.put(host.getId(), host); + } _dataStore.update(host); } else @@ -336,6 +382,7 @@ String property = dataObject.getName(); String value = dataObject.getValue(); _dataStore.setPreference(property, value); + status.setAttribute(DE.A_NAME,DataStoreResources.model_done); } else if (commandName.equals(DataStoreSchema.C_QUERY_INSTALL)) { diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerUpdateHandler.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerUpdateHandler.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerUpdateHandler.java 2009-04-20 18:37:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/server/ServerUpdateHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,8 @@ * David McKnight (IBM) [222168][dstore] Buffer in DataElement is not sent * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) [246826][dstore] KeepAlive does not work correctly + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) [388873][dstore] ServerUpdateHandler _senders list should be synchronized *******************************************************************************/ package org.eclipse.dstore.internal.core.server; @@ -158,7 +160,9 @@ */ public void addSender(Sender sender) { - _senders.add(sender); + synchronized(_senders){ + _senders.add(sender); + } } /** @@ -167,7 +171,9 @@ */ public void removeSender(Sender sender) { - _senders.remove(sender); + synchronized (_senders){ + _senders.remove(sender); + } if (_senders.size() == 0) { finish(); @@ -207,10 +213,12 @@ document.setPendingTransfer(true); document.setParent(null); - for (int j = 0; j < _senders.size(); j++) - { - Sender sender = (Sender) _senders.get(j); - sender.sendFile(document, bytes, size, binary); + synchronized (_senders){ + for (int j = 0; j < _senders.size(); j++) + { + Sender sender = (Sender) _senders.get(j); + sender.sendFile(document, bytes, size, binary); + } } } @@ -245,11 +253,12 @@ document.setAttribute(DE.A_SOURCE, path); document.setPendingTransfer(true); document.setParent(null); - - for (int j = 0; j < _senders.size(); j++) - { - Sender sender = (Sender) _senders.get(j); - sender.sendAppendFile(document, bytes, size, binary); + synchronized (_senders){ + for (int j = 0; j < _senders.size(); j++) + { + Sender sender = (Sender) _senders.get(j); + sender.sendAppendFile(document, bytes, size, binary); + } } } @@ -261,7 +270,12 @@ { if (!_dataObjects.isEmpty() || _pendingKeepAliveConfirmation != null || _pendingKeepAliveRequest != null || !_classesToSend.isEmpty()) { - sendUpdates(); + try { + sendUpdates(); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } } } @@ -281,19 +295,21 @@ _commandGenerator.generateResponse(document, _dataObjects); - for (int j = 0; j < _senders.size(); j++) - { - Sender sender = (Sender) _senders.get(j); - sender.sendDocument(document, 5); - if (_pendingKeepAliveConfirmation != null) - { - sender.sendKeepAliveConfirmation(_pendingKeepAliveConfirmation); - _pendingKeepAliveConfirmation = null; - } - if (_pendingKeepAliveRequest != null) + synchronized (_senders){ + for (int j = 0; j < _senders.size(); j++) { - sender.sendKeepAliveRequest(_pendingKeepAliveRequest); - _pendingKeepAliveRequest = null; + Sender sender = (Sender) _senders.get(j); + sender.sendDocument(document, 5); + if (_pendingKeepAliveConfirmation != null) + { + sender.sendKeepAliveConfirmation(_pendingKeepAliveConfirmation); + _pendingKeepAliveConfirmation = null; + } + if (_pendingKeepAliveRequest != null) + { + sender.sendKeepAliveRequest(_pendingKeepAliveRequest); + _pendingKeepAliveRequest = null; + } } } @@ -316,11 +332,13 @@ synchronized (_classesToSend) { document = (DataElement)_classesToSend.remove(0); + synchronized (_senders){ for (int i = 0; i < _senders.size(); i++) { Sender sender = (Sender) _senders.get(i); sender.sendClass(document); } + } } } @@ -334,15 +352,17 @@ */ public void removeSenderWith(Socket socket) { - for (int i = 0; i < _senders.size(); i++) - { - Sender sender = (Sender) _senders.get(i); - if (sender.socket() == socket) + synchronized (_senders){ + for (int i = 0; i < _senders.size(); i++) { - // sender sends last ack before death - DataElement document = _dataStore.createObject(null, DataStoreResources.DOCUMENT_TYPE, "exit", "exit"); //$NON-NLS-1$ //$NON-NLS-2$ - sender.sendDocument(document, 2); - removeSender(sender); + Sender sender = (Sender) _senders.get(i); + if (sender.socket() == socket) + { + // sender sends last ack before death + DataElement document = _dataStore.createObject(null, DataStoreResources.DOCUMENT_TYPE, "exit", "exit"); //$NON-NLS-1$ //$NON-NLS-2$ + sender.sendDocument(document, 2); + removeSender(sender); + } } } } @@ -361,12 +381,13 @@ document.setParent(null); //DataElement document = _dataStore.createObject(null, DataStoreResources.REQUEST_CLASS_TYPE, className); - for (int j = 0; j < _senders.size(); j++) - { - Sender sender = (Sender) _senders.get(j); - sender.requestClass(document); - } - + synchronized (_senders){ + for (int j = 0; j < _senders.size(); j++) + { + Sender sender = (Sender) _senders.get(j); + sender.requestClass(document); + } + } } @@ -378,10 +399,12 @@ document.setPendingTransfer(true); document.setParent(null); - for (int j = 0; j < _senders.size(); j++) - { - Sender sender = (Sender) _senders.get(j); - sender.sendRemoteClassRunnable(document, runnable); + synchronized (_senders){ + for (int j = 0; j < _senders.size(); j++) + { + Sender sender = (Sender) _senders.get(j); + sender.sendRemoteClassRunnable(document, runnable); + } } notifyInput(); } @@ -471,10 +494,12 @@ */ public void setGenerateBuffer(boolean flag) { - for (int i = 0; i < _senders.size(); i++) - { - Sender sender = (Sender)_senders.get(i); - sender.setGenerateBuffer(flag); + synchronized (_senders){ + for (int i = 0; i < _senders.size(); i++) + { + Sender sender = (Sender)_senders.get(i); + sender.setGenerateBuffer(flag); + } } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/DataElementRemover.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/DataElementRemover.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/DataElementRemover.java 2009-02-10 21:28:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/DataElementRemover.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,49 +15,73 @@ * David McKnight (IBM) - [202822] don't need to remove children from map here * David McKnight (IBM) - [255390] check memory to determine whether to queue * David McKnight (IBM) - [261644] [dstore] remote search improvements + * David McKnight (IBM) - [294933] [dstore] RSE goes into loop + * David McKnight (IBM) - [331922] [dstore] enable DataElement recycling + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect + * David McKnight (IBM) - [373507] [dstore][multithread] reduce heap memory on disconnect for server + * David McKnight (IBM) - [385097] [dstore] DataStore spirit mechanism is not enabled + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.internal.core.util; import java.util.ArrayList; -import java.util.LinkedList; +import java.util.HashMap; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; +import org.eclipse.dstore.core.model.DataStoreResources; import org.eclipse.dstore.core.model.Handler; -import org.eclipse.dstore.core.model.IDataStoreConstants; + public class DataElementRemover extends Handler -{ - private LinkedList _queue; - private static int numRemoved = 0; - private static int numDisconnected = 0; - private static int numCreated = 0; - private static int numGCed = 0; +{ + protected class QueueItem + { + public DataElement dataElement; + public long timeStamp; + + public QueueItem(DataElement element, long stamp) + { + dataElement = element; + timeStamp = stamp; + } + + public boolean equals(QueueItem item){ + return item.dataElement == dataElement; + } + } + + private ArrayList _queue; // The following determine how DataElements are chosen to be removed once they // are in the queue for removal. // The queue is checked every _intervalTime milliseconds and all elements // that are older than _expiryTime milliseconds are removed. - public static final int DEFAULT_EXPIRY_TIME = 600; // in seconds + public static final int DEFAULT_EXPIRY_TIME = 60; // in seconds public static final int DEFAULT_INTERVAL_TIME = 60; // in seconds - private int _intervalTime = DEFAULT_INTERVAL_TIME * 10; - private int _expiryTime = DEFAULT_EXPIRY_TIME * 10; + private int _intervalTime = DEFAULT_INTERVAL_TIME * 1000; + private int _expiryTime = DEFAULT_EXPIRY_TIME * 1000; public static final String EXPIRY_TIME_PROPERTY_NAME = "SPIRIT_EXPIRY_TIME"; //$NON-NLS-1$ public static final String INTERVAL_TIME_PROPERTY_NAME = "SPIRIT_INTERVAL_TIME"; //$NON-NLS-1$ public MemoryManager _memoryManager; + private int _lastLive = 0; + private int _lastFree = 0; + private long _lastMem = 0; + + private boolean DEBUG = false; // extra tracing of hashmap when on + private long _lastDumpTime = System.currentTimeMillis(); + public DataElementRemover(DataStore dataStore) { super(); - _memoryManager = MemoryManager.getInstance(dataStore); + _memoryManager = new MemoryManager(dataStore); _dataStore = dataStore; - _queue = new LinkedList(); + _queue = new ArrayList(); getTimes(); setWaitTime(_intervalTime); - DataElement spiritnode = _dataStore.createObjectDescriptor(_dataStore.getDescriptorRoot(), IDataStoreConstants.DATASTORE_SPIRIT_DESCRIPTOR); - _dataStore.createCommandDescriptor(spiritnode, "StartSpirit", "DataElementRemover", IDataStoreConstants.C_START_SPIRIT); //$NON-NLS-1$ //$NON-NLS-2$ - _dataStore.refresh(_dataStore.getDescriptorRoot()); } protected void getTimes() @@ -70,7 +94,6 @@ catch (Exception e) { System.out.println("Invalid spirit expiry time property, using default."); //$NON-NLS-1$ - _expiryTime = DEFAULT_EXPIRY_TIME; } try { @@ -80,46 +103,31 @@ catch (Exception e) { System.out.println("Invalid spirit interval time property, using default."); //$NON-NLS-1$ - _intervalTime = DEFAULT_INTERVAL_TIME; } } - public static void addToRemovedCount() - { - numRemoved++; - } - - public static void addToCreatedCount() - { - numCreated++; - } - - public static void addToGCedCount() - { - numGCed++; - } - public synchronized void addToQueueForRemoval(DataElement element) - { - synchronized (_queue) - { - if(isMemoryThresholdExceeded()) { - if(element.isSpirit()) { - unmap(element); + public synchronized void addToQueueForRemoval(DataElement element){ + if(isMemoryThresholdExceeded()) { + // do immediate clearing of queue since we're low on memory + clearQueue(true); + return; + } + if (_dataStore.isDoSpirit() && + !element.isReference() && + !element.isSpirit() && + !element.isDescriptor() && + !element.isDeleted()){ + //_dataStore.memLog("queuing " + element); + QueueItem item = new QueueItem(element, System.currentTimeMillis()); + if (!_queue.contains(item)){ + synchronized (_queue){ + _queue.add(item); } - - // do immediate clearing of queue since we're low on memory - clearQueue(true); - return; - } - if (_dataStore.isDoSpirit() && _dataStore == element.getDataStore()) - { - QueueItem item = new QueueItem(element, System.currentTimeMillis()); - _queue.add(item); + notifyInput(); } } - notifyInput(); } private boolean isMemoryThresholdExceeded(){ @@ -131,84 +139,79 @@ clearQueue(false); } - public synchronized void clearQueue(boolean force) - { - synchronized (_queue) - { - _dataStore.memLog(" "); //$NON-NLS-1$ - int disconnected = 0; - if (!_dataStore.isDoSpirit()) - { - if (_queue.size() > 0) - { - _dataStore.memLog("Clearing queue of size " + _queue.size() + ". DSTORE_SPIRIT_ON not set or set to false."); //$NON-NLS-1$ //$NON-NLS-2$ - _queue.clear(); - } - _dataStore.memLog("Total heap size: " + Runtime.getRuntime().totalMemory()); //$NON-NLS-1$ - _dataStore.memLog("Elements created so far: " + numCreated); //$NON-NLS-1$ - _dataStore.memLog("Elements disconnected so far: " + numDisconnected); //$NON-NLS-1$ - _dataStore.memLog("Spirit elements cleaned so far: " + numRemoved); //$NON-NLS-1$ - _dataStore.memLog("DataElements GCed so far: " + numGCed); //$NON-NLS-1$ - return; - } - _dataStore.memLog("Total heap size before disconnection: " + Runtime.getRuntime().totalMemory()); //$NON-NLS-1$ - - _dataStore.memLog("Size of queue: " + _queue.size()); //$NON-NLS-1$ - - ArrayList toRefresh = new ArrayList(); - while (_queue.size() > 0 && (force || System.currentTimeMillis() - ((QueueItem) _queue.getFirst()).timeStamp > _expiryTime)) - { - DataElement toBeDisconnected = ((QueueItem) _queue.removeFirst()).dataElement; - if (!toBeDisconnected.isSpirit()) - { - toBeDisconnected.setSpirit(true); - toBeDisconnected.setUpdated(false); - DataElement parent = toBeDisconnected.getParent(); - if (!toRefresh.contains(parent)) - { - //System.out.println("disconnect parent:"+parent.getName()); - toRefresh.add(toBeDisconnected.getParent()); - } - //_dataStore.refresh(toBeDisconnected); - disconnected++; - numDisconnected++; - } - else - { - //_dataStore.memLog(toBeDisconnected.toString()); - } - unmap(toBeDisconnected); - } - - _dataStore.refresh(toRefresh); + private void logMemory(){ + long mem = Runtime.getRuntime().totalMemory(); + int liveElements = _dataStore.getNumElements(); + int freeElements = _dataStore.getNumRecycled(); + + if (mem != _lastMem || liveElements != _lastLive || freeElements != _lastFree){ + _dataStore.memLog(" "); //$NON-NLS-1$ + _dataStore.memLog("Total heap size: " + mem); //$NON-NLS-1$ + _dataStore.memLog("Number of live DataStore elements: " + liveElements); //$NON-NLS-1$ + _dataStore.memLog("Number of free DataStore elements: " + freeElements); //$NON-NLS-1$ - _dataStore.memLog("Disconnected " + disconnected + " DataElements."); //$NON-NLS-1$ //$NON-NLS-2$ - _dataStore.memLog("Elements created so far: " + numCreated); //$NON-NLS-1$ - _dataStore.memLog("Elements disconnected so far: " + numDisconnected); //$NON-NLS-1$ - _dataStore.memLog("Spirit elements cleaned so far: " + numRemoved); //$NON-NLS-1$ - _dataStore.memLog("DataElements GCed so far: " + numGCed); //$NON-NLS-1$ - System.gc(); + _lastMem = mem; + _lastLive = liveElements; + _lastFree = freeElements; } } - private void unmap(DataElement element) - { - _dataStore.getHashMap().remove(element.getId()); - } - - - protected class QueueItem - { - public DataElement dataElement; - public long timeStamp; - - public QueueItem(DataElement element, long stamp) - { - dataElement = element; - timeStamp = stamp; + public synchronized void clearQueue(boolean force){ + if (!_dataStore.isDoSpirit()){ // spiriting disabled + if (_queue.size() > 0) { + _dataStore.memLog("Clearing queue of size " + _queue.size() + ". DSTORE_SPIRIT_ON not set or set to false."); //$NON-NLS-1$ //$NON-NLS-2$ + synchronized (_queue){ + _queue.clear(); + } + } + logMemory(); + return; + } + else { // spiriting enabled + if (_queue.size() > 0){ + int queueSize = _queue.size(); + + ArrayList toRefresh = new ArrayList(); + long currentTime = System.currentTimeMillis(); + for (int i = queueSize - 1; i >= 0; i--){ + QueueItem qitem = null; + synchronized (_queue){ + qitem = (QueueItem)_queue.get(i); + } + long deltaTime = currentTime - qitem.timeStamp; + if (force || (deltaTime > _expiryTime)){ + DataElement toBeDisconnected = qitem.dataElement; + toBeDisconnected.setSpirit(true); + toBeDisconnected.setUpdated(false); + DataElement parent = toBeDisconnected.getParent(); + if (!toRefresh.contains(parent)){ + toRefresh.add(parent); + } + synchronized (_queue){ // if spirited, dequeue + _queue.remove(i); + } + } + } + if (!toRefresh.isEmpty()){ + // refresh parents of spirited items + _dataStore.refresh(toRefresh); + System.gc(); + } + // print dump of elements on interval + if (DEBUG){ + if (currentTime - _lastDumpTime > 100000){ + _lastDumpTime = currentTime; + printHashmap(); + } + } + + logMemory(); + } } } + + /** * Runs the handler loop in a thread. */ @@ -218,7 +221,7 @@ { try { - Thread.sleep(100000); // wait 100 seconds + Thread.sleep(_intervalTime); Thread.yield(); } catch (InterruptedException e) @@ -230,5 +233,38 @@ handle(); } } + + // just used for tracing + private void printHashmap(){ + _dataStore.memLog(" "); //$NON-NLS-1$ + _dataStore.memLog("------------------------------Current Hashmap--------------------------------:"); //$NON-NLS-1$ + HashMap map = _dataStore.getHashMap(); + synchronized (map){ + DataElement[] elements = (DataElement[])map.values().toArray(new DataElement[map.size()]); + for (int i = 0; i < elements.length; i++){ + DataElement element = elements[i]; + if (!element.isDescriptor()){ + String type = element.getType(); + if (type.equals(DataStoreResources.model_abstracted_by) || + type.equals(DataStoreResources.model_abstracts) || + type.equals("Environment Variable") || + type.equals("system.property")){ + // schema and environment stuff + } + else { + if (type.equals(DataStoreResources.model_status)){ + String value = element.getValue(); + DataElement parent = element.getParent(); + _dataStore.memLog("Command: " + parent.getName() + " is " + value); + } + else { + _dataStore.memLog(element.toString()); + } + } + } + } + } + _dataStore.memLog("-----------------------------------------------------------------------------:"); //$NON-NLS-1$ + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/MemoryManager.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/MemoryManager.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/MemoryManager.java 2009-05-27 18:46:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/MemoryManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. + * Copyright (c) 2009, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,8 @@ * Contributors: * David McKnight (IBM) - [261644] [dstore] remote search improvements * David McKnight (IBM) - [277764] [dstore][regression] IllegalAccessException thrown when connecting to a running server + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect ********************************************************************************/ package org.eclipse.dstore.internal.core.util; @@ -22,26 +24,20 @@ import org.eclipse.dstore.core.model.DataStore; import org.eclipse.dstore.core.server.SystemServiceManager; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; public class MemoryManager { private Object mbean; - private static MemoryManager _instance; private DataStore _dataStore; - private MemoryManager(DataStore dataStore) { + public MemoryManager(DataStore dataStore) { init(); _dataStore = dataStore; } - public static MemoryManager getInstance(DataStore dataStore){ - if (_instance == null){ - _instance = new MemoryManager(dataStore); - } - return _instance; - } private void init(){ - String thresholdString = System.getProperty("search.threshold"); //$NON-NLS-1$ + String thresholdString = System.getProperty(IDataStoreSystemProperties.SEARCH_THRESHOLD); double threshold = 0.8; if(thresholdString != null && thresholdString.length() > 0) { threshold = Integer.parseInt(thresholdString) / 100.0; diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/Sender.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/Sender.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/Sender.java 2008-04-24 16:02:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/Sender.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,12 +13,21 @@ * * Contributors: * David McKnight (IBM) [222168][dstore] Buffer in DataElement is not sent + * David McKnight (IBM) [305218][dstore] problem reading double-byte characters through data socket layer + * David McKnight (IBM) [307541][dstore] fix for Bug 305218 breaks RDz connections + * David McKnight (IBM) [343939][dstore][windows] DBCS3.7 DBCS characters are corrupted in Files + * David McKnight (IBM) [347412][dstore] Need an option to set TCP NODELAYACKS + * David McKnight (IBM) [350315][dstore] regress change made for bug 305218 + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [367449] [dstore] allow custom encoding for data transport layer *******************************************************************************/ package org.eclipse.dstore.internal.core.util; import java.io.BufferedInputStream; import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; @@ -33,6 +42,7 @@ import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; /** * This class is used for sending data to a socket in the DataStore @@ -55,11 +65,24 @@ public Sender(Socket socket, DataStore dataStore) { _socket = socket; + _dataStore = dataStore; _xmlGenerator = new XMLgenerator(_dataStore); try { + String noDelayStr = System.getProperty(IDataStoreSystemProperties.DSTORE_TCP_NO_DELAY); + if (noDelayStr != null && noDelayStr.length() > 0){ + try { + boolean noDelay = Boolean.valueOf(noDelayStr).booleanValue(); + _socket.setTcpNoDelay(noDelay); + + noDelay = _socket.getTcpNoDelay(); + _dataStore.trace("tcp no delay set to " + noDelay); //$NON-NLS-1$ + } + catch (Exception e){ + } + } int bufferSize = _socket.getSendBufferSize(); _xmlGenerator.setBufferSize(bufferSize); } @@ -69,7 +92,15 @@ try { _outFile = new PrintStream(_socket.getOutputStream()); - _outData = new BufferedWriter(new OutputStreamWriter(_socket.getOutputStream(), DE.ENCODING_UTF_8)); + + String encoding = DE.ENCODING_UTF_8; + String serverEncoding = System.getProperty("DSTORE_SERVER_ENCODING"); //$NON-NLS-1$ + if (serverEncoding != null && serverEncoding.length() > 0){ + encoding = serverEncoding; + } + + OutputStreamWriter writer = new OutputStreamWriter(_socket.getOutputStream(), encoding); + _outData = new BufferedWriter(writer); _xmlGenerator.setFileWriter(_outFile); _xmlGenerator.setDataWriter(_outData); @@ -174,9 +205,21 @@ for (int i = 0; i < loaders.size(); i++) { ClassLoader loader = (ClassLoader) loaders.get(i); - + classInStream = loader.getResourceAsStream(className); classLocation = loader.getResource(className); + + if (classInStream == null && classLocation != null){ + try { + String file = classLocation.getFile(); + File f = new File(file); + if (f.exists()){ + classInStream = new FileInputStream(f); + } + } catch (Exception e) { + _dataStore.trace(e); + } + } if (classInStream != null && classLocation != null) break; } if (classLocation == null || classInStream == null) @@ -266,10 +309,14 @@ { synchronized (_outFile) { - - _xmlGenerator.empty(); - _xmlGenerator.generate(objectRoot, depth); - _xmlGenerator.flushData(); + try { + _xmlGenerator.empty(); + _xmlGenerator.generate(objectRoot, depth); + _xmlGenerator.flushData(); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLgenerator.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLgenerator.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLgenerator.java 2008-08-29 12:51:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLgenerator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,8 @@ * Contributors: * David McKnight (IBM) - [232233] [dstore] Buffer in DataElement is not retained * David McKnight (IBM) - [245481] [dstore] CR/LF not restored for new client/old server + * David McKnight (IBM) - [378136] [dstore] miner.finish is stuck + * David McKnight (IBM) - [399097] [dstore] xml generator should only ignore updated elements on server side *******************************************************************************/ package org.eclipse.dstore.internal.core.util; @@ -81,7 +83,7 @@ { _dataStore = dataStore; _state = EMPTY; - _bufferSize = 100000; + _bufferSize = 200000; // doubled this since it was a little on the small end before _document = new StringBuffer(_bufferSize); @@ -159,7 +161,7 @@ _document.append('\n'); int length = _document.length(); - if (length > _bufferSize) + if (length +1000 > _bufferSize) { flushData(); } @@ -519,32 +521,34 @@ */ public synchronized void generate(DataElement object, byte[] bytes, int size, boolean isAppend, boolean binary) { - String tagType = XMLparser.STR_FILE; - if (isAppend) - { - tagType += ".Append"; //$NON-NLS-1$ - } - if (binary) - { - tagType += ".Binary"; //$NON-NLS-1$ - } - - if (object != null) - { - startTag(tagType); - addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); - addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); - addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); - addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); - addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); - addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); - - addReferenceTypeAttribute(object); - - addAttribute(DE.P_DEPTH, "" + size); //$NON-NLS-1$ - addFile(bytes, size, binary); - - endTag(tagType); + if (_dataStore != null && (_dataStore.isVirtual() || _dataStore.isConnected())){ + String tagType = XMLparser.STR_FILE; + if (isAppend) + { + tagType += ".Append"; //$NON-NLS-1$ + } + if (binary) + { + tagType += ".Binary"; //$NON-NLS-1$ + } + + if (object != null) + { + startTag(tagType); + addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); + addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); + addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); + addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); + addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); + addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); + + addReferenceTypeAttribute(object); + + addAttribute(DE.P_DEPTH, "" + size); //$NON-NLS-1$ + addFile(bytes, size, binary); + + endTag(tagType); + } } } @@ -557,24 +561,27 @@ */ public synchronized void generate(DataElement object, byte[] bytes, int size) { - String tagType = XMLparser.STR_CLASS; + if (_dataStore != null && (_dataStore.isVirtual() || _dataStore.isConnected())){ - if (object != null) - { - startTag(tagType); - addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); - addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); - addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); - addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); - addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); - addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); + String tagType = XMLparser.STR_CLASS; - addReferenceTypeAttribute(object); + if (object != null) + { + startTag(tagType); + addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); + addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); + addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); + addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); + addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); + addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); - addAttribute(DE.P_DEPTH, "" + size); //$NON-NLS-1$ - addFile(bytes, size, true); + addReferenceTypeAttribute(object); - endTag(tagType); + addAttribute(DE.P_DEPTH, "" + size); //$NON-NLS-1$ + addFile(bytes, size, true); + + endTag(tagType); + } } } @@ -586,46 +593,49 @@ */ public void generate(DataElement object, int depth) { - if ((object != null) && (depth >= 0)) - { - String tagType = XMLparser.STR_DATAELEMENT; - - if (object.isUpdated() && !object.isPendingTransfer()) - { - } - else + if (_dataStore != null && (_dataStore.isVirtual() || _dataStore.isConnected())){ + if ((object != null) && (depth >= 0)) { - if (object.isDeleted() && _ignoreDeleted) + String tagType = XMLparser.STR_DATAELEMENT; + + // only ignore updated elements if this is the server-side + if (!_dataStore.isVirtual() && object.isUpdated() && !object.isPendingTransfer()) { } else { - object.setPendingTransfer(false); - - startTag(tagType); - addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); - addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); - addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); - addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); - addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); - addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); - - addReferenceTypeAttribute(object); - - addAttribute(DE.P_DEPTH, "" + object.depth()); //$NON-NLS-1$ - addData(object.getBuffer()); - object.setUpdated(true); - - if (!object.isReference() && depth >= 0) + if (object.isDeleted() && _ignoreDeleted) { - for (int i = 0; i < object.getNestedSize(); i++) + } + else + { + object.setPendingTransfer(false); + + startTag(tagType); + addAttribute(DE.P_TYPE, object.getAttribute(DE.A_TYPE)); + addAttribute(DE.P_ID, object.getAttribute(DE.A_ID)); + addAttribute(DE.P_NAME, object.getAttribute(DE.A_NAME)); + addAttribute(DE.P_VALUE, object.getAttribute(DE.A_VALUE)); + addAttribute(DE.P_SOURCE, object.getAttribute(DE.A_SOURCE)); + addAttribute(DE.P_SOURCE_LOCATION, object.getAttribute(DE.A_SOURCE_LOCATION)); + + addReferenceTypeAttribute(object); + + addAttribute(DE.P_DEPTH, "" + object.depth()); //$NON-NLS-1$ + addData(object.getBuffer()); + object.setUpdated(true); + + if (!object.isReference() && depth >= 0) { - generate(object.get(i), depth - 1); + for (int i = 0; i < object.getNestedSize(); i++) + { + generate(object.get(i), depth - 1); + } } + + // end generation + endTag(tagType); } - - // end generation - endTag(tagType); } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java 2009-04-20 18:37:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/XMLparser.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,18 @@ * David McKnight (IBM) [222163][dstore] Special characters from old server are not restored * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) [246826][dstore] KeepAlive does not work correctly + * David McKnight (IBM) [305218][dstore] problem reading double-byte characters through data socket layer + * David McKnight (IBM) [307541][dstore] fix for Bug 305218 breaks RDz connections + * David McKnight (IBM) [322407][dstore] Connection dropped automatically when idle + * Noriaki Takatsu (IBM) - [289234][multithread][api] Reset and Restart KeepAliveRequestThread + * David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect + * David McKnight (IBM) [343939][dstore][windows] DBCS3.7 DBCS characters are corrupted in Files + * David McKnight (IBM) [350315][dstore] regress change made for bug 305218 + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [367449] [dstore] allow custom encoding for data transport layer + * David McKnight (IBM) - [378136][dstore] miner.finish is stuck + * David McKnight (IBM) - [391966][dstore][performance] unnecessary call slows down large queries + * David McKnight (IBM) - [396440] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 1) *******************************************************************************/ package org.eclipse.dstore.internal.core.util; @@ -85,7 +97,8 @@ private Throwable _panicException = null; private boolean _isKeepAliveCompatible = false; - private boolean _isKeepAliveEnabled = true; + private boolean _isKeepAliveEnabled = false; // initial setting should be false so that keepalive doesn't start before getting preferences // let it get enabled after connect + private boolean _firstTime = true; private KeepAliveRequestThread _kart = null; @@ -128,7 +141,10 @@ _objStack = new Stack(); _maxBuffer = 100000; _byteBuffer = new byte[_maxBuffer]; - + + if (!_dataStore.isVirtual()){ + setEnableKeepalive(true); + } } /** @@ -320,25 +336,43 @@ { if (_firstTime) { - _initialKart = new KeepAliveRequestThread(KEEPALIVE_RESPONSE_TIMEOUT, socket); + _initialKart = new KeepAliveRequestThread(KEEPALIVE_RESPONSE_TIMEOUT, socket, true); _firstTime = false; if (VERBOSE_KEEPALIVE) System.out.println("Starting initial KeepAlive thread."); //$NON-NLS-1$ + _dataStore.trace("Starting initial KeepAlive thread."); //$NON-NLS-1$ _initialKart.start(); continue; } - else if (_initialKart != null && !_initialKart.isAlive()) + else if (_initialKart != null) { - if (!_initialKart.failed()) - { - _isKeepAliveCompatible = true; - if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive compatible."); //$NON-NLS-1$ - _initialKart = null; - } - else - { - _isKeepAliveCompatible = false; - if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive incompatible."); //$NON-NLS-1$ - _initialKart = null; + if (_initialKart.isAlive()){ + int currentTimeout = socket.getSoTimeout(); + if (currentTimeout != IO_SOCKET_READ_TIMEOUT){ + if (VERBOSE_KEEPALIVE) System.out.println("Resetting timeout from " + currentTimeout + " to " + IO_SOCKET_READ_TIMEOUT); //$NON-NLS-1$ //$NON-NLS-2$ + socket.setSoTimeout(IO_SOCKET_READ_TIMEOUT); + } + } + + if (!_initialKart.isAlive()){ + if (!_initialKart.failed()) + { + _isKeepAliveCompatible = true; + if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive compatible."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive compatible."); //$NON-NLS-1$ + _initialKart = null; + } + else + { + _isKeepAliveCompatible = false; + if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive incompatible."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive incompatible."); //$NON-NLS-1$ + _initialKart = null; + } + } + } + else { // initial kart is null so we've already waited + if (!_isKeepAliveCompatible){ + _isKeepAliveEnabled = false; } } } @@ -374,16 +408,24 @@ { if (_kart == null || !_kart.isAlive()){ _kart = new KeepAliveRequestThread(KEEPALIVE_RESPONSE_TIMEOUT, socket); - if (VERBOSE_KEEPALIVE) System.out.println("No activity on socket. KeepAlive thread started."); //$NON-NLS-1$ + if (VERBOSE_KEEPALIVE) System.out.println("No activity on socket. KeepAlive thread started."); //$NON-NLS-1$ + _dataStore.trace("No activity on socket. KeepAlive thread started."); //$NON-NLS-1$ _kart.start(); continue; } } } } - else + else // no keepalive { - in = reader.read(); + try { + in = reader.read(); + } + catch (InterruptedIOException e){ + _dataStore.trace("read timeout - continuing"); //$NON-NLS-1$ + // no keepalive, so just try reading again + continue; + } } if (in == -1) @@ -443,15 +485,21 @@ if (offset > 0) { - String result = null; + String result = null; + String encoding = DE.ENCODING_UTF_8; + String serverEncoding = System.getProperty("DSTORE_SERVER_ENCODING"); //$NON-NLS-1$ + if (serverEncoding != null && serverEncoding.length() > 0){ + encoding = serverEncoding; + } try { - result = new String(_byteBuffer, 0, offset, DE.ENCODING_UTF_8); + result = new String(_byteBuffer, 0, offset, encoding); } catch (IOException e) { _dataStore.trace(e); - } + } + return result; } else @@ -491,6 +539,16 @@ */ public DataElement parseDocument(BufferedInputStream reader, Socket socket) throws IOException { + if (!_dataStore.isConnected()){ + if (_kart != null && _kart.isAlive()){ + _kart.interrupt(); + } + if (_initialKart != null && _initialKart.isAlive()){ + _initialKart.interrupt(); + } + return null; + } + _tagStack.clear(); _objStack.clear(); @@ -507,14 +565,15 @@ String matchTag = null; boolean done = false; - while (!done) - { + try { + while (!done && (_dataStore != null && _dataStore.isConnected())) + { String xmlTag = readLine(reader, socket); if (xmlTag != null) { String trimmedTag = xmlTag.trim(); - + if (trimmedTag.length() > 0){ if (_dataStore.getReferenceTag() == null) { @@ -693,13 +752,20 @@ } else if (_isKeepAlive) { - if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ - result.getDataStore().sendKeepAliveConfirmation(); - _isKeepAlive = false; - } + if (_isKeepAliveEnabled){ + if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive request received, sending confirmation."); //$NON-NLS-1$ + result.getDataStore().sendKeepAliveConfirmation(); + _isKeepAlive = false; + } + else { + _dataStore.trace("KeepAlive disabled so not responding to keepalive request"); //$NON-NLS-1$ + } + } else if (_isKeepAliveConfirm ) { if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive confirmation received."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive confirmation received."); //$NON-NLS-1$ if (_initialKart != null) _initialKart.interrupt(); _isKeepAliveConfirm = false; } @@ -729,10 +795,15 @@ } } } + } if (_panic) return null; } + } + catch (OutOfMemoryError e){ + System.exit(-1); + } DataElement result = _rootDataElement; _rootDataElement.setParent(null); // this root is transient @@ -811,6 +882,7 @@ if (attributes.length == DE.A_SIZE) { String type = attributes[DE.A_TYPE]; + String id = attributes[DE.A_ID]; if (type.equals(DataStoreResources.KEEPALIVE_TYPE)) { _isKeepAlive= true; @@ -823,8 +895,7 @@ } else if (type.equals(DataStoreResources.DOCUMENT_TYPE)) - { - String id = attributes[DE.A_ID]; + { if (_dataStore.contains(id)) { result = _dataStore.find(id); @@ -835,7 +906,12 @@ result = _dataStore.createObject(null, attributes); } } - + else if (id.equals(DataStoreResources.model_transient)){ // generic transient + result = _dataStore.createTransientObject(attributes); + if (parent != null){ + parent.addNestedData(result, false); + } + } else if (_isFile || _isClass || _isSerialized || parent == null) { result = _dataStore.createTransientObject(attributes); @@ -864,13 +940,6 @@ } else { - String id = attributes[DE.A_ID]; - if (id == null) - { - handlePanic(new Exception(fullTag)); - return null; - } - if (_dataStore.contains(id)) { result = _dataStore.find(id); @@ -893,7 +962,7 @@ if (isSpirit) { if (!_dataStore.isVirtual()) attributes[DE.A_REF_TYPE] = DataStoreResources.VALUE; - result.setSpirit(_dataStore.isVirtual()); + result.setSpirit(_dataStore.isVirtual()); // if this is the server, then the element is unspirited } else { @@ -942,10 +1011,6 @@ else { // new object - if (_dataStore.isVirtual()) - { - result = _dataStore.find(parent, DE.A_NAME, attributes[DE.A_NAME], 1); - } if (isSpirit) { if (!_dataStore.isVirtual()) attributes[DE.A_REF_TYPE] = DataStoreResources.VALUE; @@ -1060,16 +1125,31 @@ private long _timeout; private boolean _failed; private Socket _socket; + private boolean _initial; public KeepAliveRequestThread(long timeout, Socket socket) { + this(timeout, socket, false); + } + + public KeepAliveRequestThread(long timeout, Socket socket, boolean initial) + { _timeout = timeout; _failed = false; _socket = socket; + _initial = initial; } public void run() { + if (_initial && !_dataStore.isVirtual()){ + // give the client setup time before requesting + try { + sleep(5000); + } + catch (InterruptedException e){ + } + } _dataStore.sendKeepAliveRequest(); try { @@ -1081,9 +1161,11 @@ catch (InterruptedException e) { if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive thread interrupted."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive thread interrupted."); //$NON-NLS-1$ return; } if (VERBOSE_KEEPALIVE) System.out.println("KeepAlive thread failed to be interrupted."); //$NON-NLS-1$ + _dataStore.trace("KeepAlive thread failed to be interrupted."); //$NON-NLS-1$ _failed = true; } @@ -1093,4 +1175,20 @@ } } + /** + * Interrupt the current KeepAliveRequest thread and restart + * the KeepAliveRequest thread with the specified timeout + * + * @param timeout when the KeepAliveRequest thread is expired + * @param socket to wait for + * + * @since 3.3 + */ + public void resetKeepAliveRequest(long timeout, Socket socket) { + if (_kart != null && _kart.isAlive()){ + _kart.interrupt(); + } + _kart = new KeepAliveRequestThread(timeout, socket); + _kart.start(); + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DStoreSSLContext.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DStoreSSLContext.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DStoreSSLContext.java 2009-04-28 20:29:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DStoreSSLContext.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Noriaki Takatsu (IBM) - [259905][api] Provide a facility to use its own keystore * David McKnight (IBM) - [259905][api] provide public API for getting/setting key managers for SSLContext * David McKnight (IBM) - [264858][dstore] OpenRSE always picks the first trusted certificate + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support *******************************************************************************/ package org.eclipse.dstore.internal.core.util.ssl; @@ -31,6 +32,7 @@ import org.eclipse.dstore.core.util.ssl.BaseSSLContext; import org.eclipse.dstore.core.util.ssl.DStoreKeyStore; import org.eclipse.dstore.core.util.ssl.IDataStoreTrustManager; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; public class DStoreSSLContext @@ -55,7 +57,7 @@ keyManagers = kmf.getKeyManagers(); // read optional system property that indicates a default certificate alias - String defaultAlias = System.getProperty("DSTORE_DEFAULT_CERTIFICATE_ALIAS"); //$NON-NLS-1$ + String defaultAlias = System.getProperty(IDataStoreSystemProperties.DSTORE_DEFAULT_CERTIFICATE_ALIAS); if (defaultAlias != null){ KeyManager[] x509KeyManagers = new X509KeyManager[10]; diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DataStoreTrustManager.java eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DataStoreTrustManager.java --- eclipse-rse-3.1.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DataStoreTrustManager.java 2009-04-28 20:29:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.core/src/org/eclipse/dstore/internal/core/util/ssl/DataStoreTrustManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * David McKnight (IBM) - [225507][api][breaking] RSE dstore API leaks non-API types * David McKnight (IBM) - [264858] [dstore] OpenRSE always picks the first trusted certificate + * Noriaki Takatsu (IBM) - [315333] [dstore] Correct Chained Certificates are rejected in the Client *******************************************************************************/ package org.eclipse.dstore.internal.core.util.ssl; @@ -112,10 +113,8 @@ X509Certificate tcert = (X509Certificate)_trustedCerts.get(j); try { - if (cert.getSubjectDN().equals(tcert.getIssuerDN())) { - cert.verify(tcert.getPublicKey()); - foundMatch = true; - } + cert.verify(tcert.getPublicKey()); + foundMatch = true; } catch (Exception e) { diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/.cvsignore eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/.cvsignore 2006-07-27 15:03:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -bin -index -build.xml -javadoc.link.location -temp.bin.log -temp.options.txt -temp.convert.txt diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/META-INF/MANIFEST.MF 2009-02-01 17:55:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,6 +2,6 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.dstore.doc.isv; singleton:=true -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.4.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %providerName diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/build.properties eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/build.properties --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/build.properties 2007-05-24 14:16:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. +# Copyright (c) 2000, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ # # Contributors: # IBM Corporation - initial API and implementation +# Martin Oberhuber (Wind River) - [314012] Remove provisional API declaration ############################################################################### bin.includes = META-INF/,\ about.html,\ @@ -18,7 +19,6 @@ toc.xml,\ guide/,\ index/,\ - reference/,\ - provisional_api.html + reference/ customBuildCallbacks = customBuildCallbacks.xml src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/buildDoc.xml eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/buildDoc.xml --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/buildDoc.xml 2009-05-14 07:03:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/buildDoc.xml 2013-02-12 20:26:45.000000000 +0000 @@ -104,7 +104,7 @@ - + diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/notices.html eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/notices.html --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/notices.html 2007-02-22 22:00:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/notices.html 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@

Notices

-The material in this guide is Copyright (c) IBM Corporation and others 2000, 2007. +The material in this guide is Copyright (c) IBM Corporation and others 2000, 2012.

Terms and conditions regarding the use of this guide. diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/options.txt eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/options.txt --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/options.txt 2008-04-11 22:16:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/options.txt 2013-02-12 20:26:45.000000000 +0000 @@ -10,9 +10,9 @@ -splitIndex -windowtitle "Remote System Explorer DataStore API Specification" -doctitle "Remote System Explorer DataStore API Specification" --header "Remote System Explorer DataStore
Release 3.0" --bottom '

Guidelines for using DataStore APIs.

' --link http://java.sun.com/j2se/1.4.2/docs/api +-header "Remote System Explorer DataStore
Release 3.4" +-bottom "Copyright (c) IBM Corporation and others 2000, 2012. All Rights Reserved." +-link http://docs.oracle.com/javase/1.5.0/docs/api -linkoffline ./../../../org.eclipse.platform.doc.isv/reference/api @javadoc.link.location@/platform/reference/api/ -link http://bundles.osgi.org/javadoc/r4 diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/plugin.properties eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/plugin.properties 2009-05-14 07:03:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName=RSE DStore ISV Documentation -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/plugin.xml eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.dstore.doc.isv/plugin.xml 2009-05-14 07:03:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.dstore.doc.isv/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ - @@ -30,8 +30,8 @@ - - + + - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

Eclipse Foundation Software User Agreement

-

March 17, 2005

+

February 1, 2011

Usage Of Content

@@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

- -

Applicable Licenses

- + +

Applicable Licenses

+

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

-

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

- +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

+
    -
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • -
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • -
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
  • -
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • -
- +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse + 3.4.1-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/.classpath eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/.classpath 2007-02-21 22:16:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/.classpath 2013-02-12 20:26:45.000000000 +0000 @@ -1,11 +1,7 @@ - - - - - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/.cvsignore 2006-04-10 19:52:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/META-INF/MANIFEST.MF 2009-07-30 13:35:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,14 +2,14 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.connectorservice.dstore;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.1.301.qualifier Bundle-Activator: org.eclipse.rse.internal.connectorservice.dstore.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.services.dstore;bundle-version="[3.0.0,4.0.0)", - org.eclipse.dstore.core;bundle-version="[3.0.0,4.0.0)", + org.eclipse.dstore.core;bundle-version="[3.3.0,4.0.0)", org.eclipse.dstore.extra;bundle-version="[2.1.0,3.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)" diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/build.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/build.properties 2008-02-12 23:42:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2001, 2008 IBM Corporation and others. +# Copyright (c) 2001, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,3 +16,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +#FIXME#breaks hudson nightlies# javacProjectSettings = true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/plugin.properties 2009-05-14 07:08:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Connector Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project # START NON-TRANSLATABLE PreferencePage.Datastore = DataStore diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.connectorservice.dstore + 3.1.301-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java 2009-05-04 19:54:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/DStoreConnectorService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -38,6 +38,12 @@ * David McKnight (IBM) - [267236] [dstore] Can't connect after a wrong password * David McKnight (IBM) - [274688] [api][dstore] DStoreConnectorService.internalConnect() needs to be cleaned up * David McKnight (IBM) - [258529] Unable to display connection failure error message + * David McKnight (IBM) - [306989] [dstore] workspace in strange condition if expanding projects during logon + * David McKnight (IBM) - [313653] [dstore] Not Secured using SSL message appears twice per connect + * David McKnight (IBM) - [284950] [dstore] Error binding socket on relaunch + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [384301] (DSTORE)Cached password revokes the user ID + * David McKnight (IBM) - [388506] [dstore] [multithread] RSEC1001error window after the expired password has been changed *******************************************************************************/ package org.eclipse.rse.connectorservice.dstore; @@ -66,6 +72,7 @@ import org.eclipse.dstore.core.model.IDataStoreProvider; import org.eclipse.dstore.core.model.ISSLProperties; import org.eclipse.dstore.internal.core.client.ClientSSLProperties; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.dstore.internal.core.util.XMLparser; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.preference.IPreferenceStore; @@ -119,9 +126,12 @@ private class ConnectionStatusPair { private ConnectionStatus _connectStatus; private ConnectionStatus _launchStatus; - public ConnectionStatusPair(ConnectionStatus connectStatus, ConnectionStatus launchStatus){ + private Boolean _alertedNonSSL; + + public ConnectionStatusPair(ConnectionStatus connectStatus, ConnectionStatus launchStatus, Boolean alertedNonSSL){ _connectStatus = connectStatus; _launchStatus = launchStatus; + _alertedNonSSL = alertedNonSSL; } public ConnectionStatus getConnectStatus(){ @@ -131,6 +141,10 @@ public ConnectionStatus getLaunchStatus(){ return _launchStatus; } + + public Boolean getAlertedNonSSL(){ + return _alertedNonSSL; + } } private class StartSpiritThread extends Thread @@ -431,7 +445,7 @@ Version v = new Version(version); String versionString = v.toString(); String dstorePath = getDStorePath(path, versionString); - System.setProperty("A_PLUGIN_PATH", dstorePath); //$NON-NLS-1$ + System.setProperty(IDataStoreSystemProperties.A_PLUGIN_PATH, dstorePath); } catch (IOException e) { @@ -569,7 +583,7 @@ } else { - errorMsg = msg.getLevelTwoText(); + errorMsg = msg.getLevelOneText(); } connectStatus.setMessage(errorMsg); } @@ -706,8 +720,12 @@ } if (newCredentials != null){ info = newCredentials; + if (clientConnection != null){ + clientConnection.setPort(Integer.toString(getPort())); //reset port to default + } } - if (launchMsg != null && launchMsg.equals(IDataStoreConstants.ATTEMPT_RECONNECT)){ + // need to reconnect if there are new credentials + if (newCredentials != null || (launchMsg != null && launchMsg.equals(IDataStoreConstants.ATTEMPT_RECONNECT))){ return connectWithDaemon(info, serverLauncher, alertedNONSSL, monitor); } } @@ -761,12 +779,14 @@ } } } - - // relaunching the server via the daemon so that we can connect again to the launched server with toggled useSSL settings - launchStatus = launchServer(clientConnection, info, daemonPort, monitor); - if (launchStatus.isConnected()) { - if (setSSLProperties(!usedSSL)){ - connectStatus = clientConnection.connect(launchStatus.getTicket(), timeout); + if (usedSSL && connectStatus.isSLLProblem()){ + clientConnection.setPort(Integer.toString(getPort())); + // relaunching the server via the daemon so that we can connect again to the launched server with toggled useSSL settings + launchStatus = launchServer(clientConnection, info, daemonPort, monitor); + if (launchStatus.isConnected()) { + if (setSSLProperties(!usedSSL)){ + connectStatus = clientConnection.connect(launchStatus.getTicket(), timeout); + } } } } @@ -791,7 +811,7 @@ } } - return new ConnectionStatusPair(connectStatus, launchStatus); + return new ConnectionStatusPair(connectStatus, launchStatus, alertedNONSSL); } /** @@ -1234,16 +1254,13 @@ clientConnection.disconnect(); clientConnection = null; - + // yantzi: artemis 6.0, check for invalid login (user ID / pwd) and reprompt for signon information if (msg != null && // tODO use ID or something instead of string msg.getLevelOneText().startsWith(NLS.bind(ConnectorServiceResources.MSG_COMM_INVALID_LOGIN, getHostName()))) { - if (launchFailed) - { - clearPassword(true, true); - } + clearPassword(true, true); DisplaySystemMessageAction msgAction = new DisplaySystemMessageAction(msg); Display.getDefault().syncExec(msgAction); @@ -1300,54 +1317,59 @@ } _isConnecting = true; - Boolean alertedNONSSL = new Boolean(false); - - // set A_PLUGIN_PATH so that dstore picks up the property - setPluginPathProperty(); - - // Fire comm event to signal state about to change - fireCommunicationsEvent(CommunicationsEvent.BEFORE_CONNECT); - - ConnectionStatus connectStatus = null; - ConnectionStatus launchStatus = null; - - clientConnection = new ClientConnection(getPrimarySubSystem().getHost().getAliasName()); - - clientConnection.setHost(getHostName()); - clientConnection.setPort(Integer.toString(getPort())); - - getPrimarySubSystem(); - IRemoteServerLauncher serverLauncher = getDStoreServerLauncher(); - - ServerLaunchType serverLauncherType = null; - if (serverLauncher != null){ - serverLauncherType = serverLauncher.getServerLaunchType(); - } - - SystemSignonInformation info = getSignonInformation(); - if (serverLauncherType == ServerLaunchType.REXEC_LITERAL){ // start the server via REXEC - connectStatus = connectWithREXEC(info, serverLauncher, monitor); - } - else if (serverLauncherType == ServerLaunchType.DAEMON_LITERAL) { // start the server via the daemon - - ConnectionStatusPair connectStatusPair = connectWithDaemon(info, serverLauncher, alertedNONSSL, monitor); - connectStatus = connectStatusPair.getConnectStatus(); - launchStatus = connectStatusPair.getLaunchStatus(); - } - else if (serverLauncherType == ServerLaunchType.RUNNING_LITERAL){ // connect to running server - connectStatus = connectWithRunning(monitor); - } - else { // server launcher type is unknown - connectStatus = connectWithOther(clientConnection, info, serverLauncher, monitor); - } - - if (connectStatus != null && connectStatus.isConnected()){ // connected - initializeConnection(launchStatus, connectStatus, alertedNONSSL, monitor); - } - else { // diagnosis, reconnection and other connection failure handling - handleConnectionFailure(launchStatus, connectStatus, serverLauncher, serverLauncherType, monitor); - } + try{ + Boolean alertedNONSSL = new Boolean(false); + + // set A_PLUGIN_PATH so that dstore picks up the property + setPluginPathProperty(); + + // Fire comm event to signal state about to change + fireCommunicationsEvent(CommunicationsEvent.BEFORE_CONNECT); + + ConnectionStatus connectStatus = null; + ConnectionStatus launchStatus = null; + + clientConnection = new ClientConnection(getPrimarySubSystem().getHost().getAliasName()); + + clientConnection.setHost(getHostName()); + clientConnection.setPort(Integer.toString(getPort())); + + getPrimarySubSystem(); + IRemoteServerLauncher serverLauncher = getDStoreServerLauncher(); + + ServerLaunchType serverLauncherType = null; + if (serverLauncher != null){ + serverLauncherType = serverLauncher.getServerLaunchType(); + } + + SystemSignonInformation info = getSignonInformation(); + if (serverLauncherType == ServerLaunchType.REXEC_LITERAL){ // start the server via REXEC + connectStatus = connectWithREXEC(info, serverLauncher, monitor); + } + else if (serverLauncherType == ServerLaunchType.DAEMON_LITERAL) { // start the server via the daemon + + ConnectionStatusPair connectStatusPair = connectWithDaemon(info, serverLauncher, alertedNONSSL, monitor); + connectStatus = connectStatusPair.getConnectStatus(); + launchStatus = connectStatusPair.getLaunchStatus(); + alertedNONSSL = connectStatusPair.getAlertedNonSSL(); + } + else if (serverLauncherType == ServerLaunchType.RUNNING_LITERAL){ // connect to running server + connectStatus = connectWithRunning(monitor); + } + else { // server launcher type is unknown + connectStatus = connectWithOther(clientConnection, info, serverLauncher, monitor); + } + + if (connectStatus != null && connectStatus.isConnected()){ // connected + initializeConnection(launchStatus, connectStatus, alertedNONSSL, monitor); + } + else { // diagnosis, reconnection and other connection failure handling + handleConnectionFailure(launchStatus, connectStatus, serverLauncher, serverLauncherType, monitor); + } + } + finally { _isConnecting = false; + } } protected boolean isPortOutOfRange(String message) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java 2009-06-01 18:03:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/connectorservice/dstore/util/StatusMonitor.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,7 @@ * David McKnight (IBM) - [229947] [dstore] interruption to Thread.sleep() should not stop waitForUpdate() * David McKnight (IBM) - [231126] [dstore] status monitor needs to reset WaitThreshold on nudge * David McKnight (IBM) - [278341] [dstore] Disconnect on idle causes the client hang + * David McKnight (IBM) - [329263] [dstore] StatusMonitor updates to be like DStoreStatusMonitor *******************************************************************************/ package org.eclipse.rse.connectorservice.dstore.util; @@ -177,11 +178,36 @@ if (isStatusDone) { setDone(parent); + notifyUpdate(); } } } + private synchronized void waitForUpdate() + { + try + { + wait(200); + } + catch (InterruptedException e) + { + //InterruptedException is used to report user cancellation, so no need to log + //This should be reviewed (use OperationCanceledException) with bug #190750 + + return; + } + } + /** + * Causes all threads waiting for this class request to be filled + * to wake up. + */ + private synchronized void notifyUpdate() + { + notifyAll(); + } + + /** * Determines whether the status is done. * @return true if status done, false otherwise. @@ -284,8 +310,7 @@ } setWorking(status); - - Display display = Display.getCurrent(); + // Prevent infinite looping by introducing a threshold for wait @@ -298,119 +323,49 @@ int initialWaitThreshold = WaitThreshold; int nudges = 0; // nudges used for waking up server with slow connections // nudge up to 12 times before giving up - - if (display != null) + + // Current thread is not UI thread + while (_workingStatuses.contains(status)) { - // Current thread is UI thread - while (_workingStatuses.contains(status)) - { - // while (display.readAndDispatch()) { - //Process everything on event queue - // } - - if ((monitor != null) && (monitor.isCanceled())) - { - setCancelled(status); - throw new InterruptedException(); - } - - boolean statusDone = determineStatusDone(status); - - if (statusDone) - { - setDone(status); - } - else - { - try - { - Thread.sleep(100); - } - catch (InterruptedException e) - { - // Continue waiting in case of spurious interrupt. - // We check the progress monitor to listen for Eclipse Shutdown. - continue; - } - if (WaitThreshold > 0) // update timer count if - // threshold not reached - --WaitThreshold; // decrement the timer count - - if (WaitThreshold == 0) - { - wakeupServer(status); - - // no diagnostic factory but there is a timeout - if (nudges >= 12) - return status; // returning the undone status object - - nudges++; - WaitThreshold = initialWaitThreshold; - } - else if (_networkDown || !_dataStore.isConnected()) - { - dispose(); - throw new InterruptedException(); - } - } + + if ((monitor != null && monitor.isCanceled()) || + !status.getDataStore().getStatus().getName().equals("okay")){ // datastore not okay? + setCancelled(status); + throw new InterruptedException(); } + + boolean statusDone = determineStatusDone(status); - } - else - { - // Current thread is not UI thread - while (_workingStatuses.contains(status)) + if (statusDone) + { + setDone(status); + } + else { + waitForUpdate(); - if ((monitor != null) && (monitor.isCanceled())) + if (WaitThreshold > 0) // update timer count if + // threshold not reached + --WaitThreshold; // decrement the timer count + + if (WaitThreshold == 0) { - setCancelled(status); + wakeupServer(status); + + // no diagnostic factory but there is a timeout + if (nudges >= 12) + return status; // returning the undone status object + + nudges++; + WaitThreshold = initialWaitThreshold; + } + else if (_networkDown) + { + dispose(); throw new InterruptedException(); - } - - boolean statusDone = determineStatusDone(status); - - if (statusDone) - { - setDone(status); - } - else - { - try - { - Thread.sleep(100); - } - catch (InterruptedException e) - { - // Continue waiting in case of spurious interrupt. - // We check the progress monitor to listen for Eclipse Shutdown. - continue; - } - - if (WaitThreshold > 0) // update timer count if - // threshold not reached - --WaitThreshold; // decrement the timer count - - if (WaitThreshold == 0) - { - wakeupServer(status); - - // no diagnostic factory but there is a timeout - if (nudges >= 12) - return status; // returning the undone status object - - nudges++; - WaitThreshold = initialWaitThreshold; - } - else if (_networkDown) - { - dispose(); - throw new InterruptedException(); - } - } - } - } - + } + } + } return status; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/ConnectorServiceResources.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/ConnectorServiceResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/ConnectorServiceResources.properties 2009-08-24 20:12:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/ConnectorServiceResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2008 IBM Corporation and others. +# Copyright (c) 2006, 2009 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/RexecDstoreServer.java eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/RexecDstoreServer.java --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/RexecDstoreServer.java 2008-06-09 17:43:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.dstore/src/org/eclipse/rse/internal/connectorservice/dstore/RexecDstoreServer.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ * David McKnight (IBM) - [221095] [dstore][launcher] Specified REXEC port number is not used * David McKnight (IBM) - [228334][api][breaking][dstore] Default DataStore connection timeout is too short * David McKnight (IBM) - [235756] [dstore] Unable to connect to host with SSL via REXEC + * David McKnight (IBM) - [390055] [DSTORE)Timeout for REXEC connection is too long *******************************************************************************/ package org.eclipse.rse.internal.connectorservice.dstore; @@ -476,7 +477,7 @@ int inBytes = rxIn.available(); // any data available? - int timeout = _socketTimeoutValue; + int timeout = _socketTimeoutValue / 100; while (inBytes == 0 && timeout > 0) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/.cvsignore 2006-04-10 19:55:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/META-INF/MANIFEST.MF 2009-05-20 19:31:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.connectorservice.local -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.connectorservice.local.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/build.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/build.properties 2007-06-05 10:42:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2007 IBM Corporation and others. +# Copyright (c) 2005, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,3 +15,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +#FIXME#breaks hudson nightlies# javacProjectSettings = true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/plugin.properties 2009-05-14 07:08:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Local Connector Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.local/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.local/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.connectorservice.local + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/.cvsignore 2006-05-30 19:41:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/META-INF/MANIFEST.MF 2009-02-01 16:46:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.connectorservice.ssh; singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Activator: org.eclipse.rse.internal.connectorservice.ssh.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, - org.eclipse.rse.services.ssh;bundle-version="[3.0.0,3.1.0)", + org.eclipse.rse.services.ssh;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/plugin.properties 2009-05-27 15:18:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE SSH Connector Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project SshSystemLabel=SSH Only SshSystemDescription=Connection for SSH access to remote systems diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.connectorservice.ssh + 2.1.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/.cvsignore 2007-05-11 09:49:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/META-INF/MANIFEST.MF 2009-08-05 15:33:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.connectorservice.telnet;singleton:=true -Bundle-Version: 1.2.1.qualifier +Bundle-Version: 1.2.300.qualifier Bundle-Activator: org.eclipse.rse.internal.connectorservice.telnet.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, @@ -11,7 +11,7 @@ org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", org.eclipse.ui, - org.apache.commons.net;bundle-version="[1.4.1,3.0.0)" + org.apache.commons.net;bundle-version="[1.4.1,4.0.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Export-Package: org.eclipse.rse.internal.connectorservice.telnet;x-friends:="org.eclipse.rse.subsystems.shells.telnet" diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/plugin.properties 2009-05-27 15:17:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,4 +14,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Telnet Connector Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.connectorservice.telnet/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.connectorservice.telnet/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.connectorservice.telnet + 1.2.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.core/.cvsignore 2006-04-10 20:07:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.core/META-INF/MANIFEST.MF 2009-07-30 13:35:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,13 +2,14 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.core;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.3.2.qualifier Bundle-Activator: org.eclipse.rse.core.RSECorePlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.resources, org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", - org.eclipse.swt + org.eclipse.swt, + org.eclipse.equinox.security Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Export-Package: org.eclipse.rse.core, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/about.ini eclipse-rse-3.4.2/org.eclipse.rse.core/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.core/about.ini 2009-05-13 22:12:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/about.properties eclipse-rse-3.4.2/org.eclipse.rse.core/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core/about.properties 2009-02-10 22:36:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm \ No newline at end of file +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/build.properties eclipse-rse-3.4.2/org.eclipse.rse.core/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core/build.properties 2009-05-14 07:09:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2001, 2009 IBM Corporation and others. +# Copyright (c) 2001, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ .,\ about.ini,\ about.mappings,\ - dsdp32.png,\ + tm32.png,\ icons/ source.. = src/ output.. = bin/ @@ -28,3 +28,5 @@ schema/,\ .settings/,\ build.properties +#FIXME#breaks hudson nightlies# javacDefaultEncoding.. = ISO-8859-1 +#FIXME#breaks hudson nightlies# javacErrors.. = -assertIdentifier Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.core/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.core/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core/plugin.properties 2009-05-13 22:12:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project extPoint.keystoreProviders = Keystore Providers extPoint.persistenceProviders=RSE Persistence Providers diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.core + 3.3.2.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/schema/modelInitializers.exsd eclipse-rse-3.4.2/org.eclipse.rse.core/schema/modelInitializers.exsd --- eclipse-rse-3.1.2/org.eclipse.rse.core/schema/modelInitializers.exsd 2008-09-23 16:57:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/schema/modelInitializers.exsd 2013-02-12 20:26:45.000000000 +0000 @@ -2,19 +2,19 @@ - + - + - A model initializer is used to create supplemental connections and filter pools after the RSE model has been restored from its persistent form. The base RSE uses this extension point to supply the "Local" connection if one has not already been created for this workspace. Other extenders of RSE may use this to augment the mode in other ways. An initializer is run at the end of the initialization job begun by RSE when it is activated. + A model initializer is used to create supplemental connections and filter pools after the RSE model has been restored from its persistent form. The base RSE uses this extension point to supply the "Local" connection if one has not already been created for this workspace. Other extenders of RSE may use this to augment the model in other ways. An initializer is run at the end of the initialization job begun by RSE when it is activated. - + - + @@ -39,9 +39,9 @@ - + - + @@ -54,9 +54,9 @@ A class that extends <b>org.eclipse.rse.core.IRSEModelInitializer</b>. - + - + @@ -78,18 +78,18 @@ - + - + RSE 3.0 - + - + An example taken from the plug-in org.eclipse.rse.ui: <pre> @@ -103,9 +103,9 @@ - + - + Copyright (c) 2008 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSEInteractionProvider.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSEInteractionProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSEInteractionProvider.java 2008-06-10 09:34:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSEInteractionProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2000, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,7 +32,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

    * diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSERunnableWithProgress.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSERunnableWithProgress.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSERunnableWithProgress.java 2008-04-12 01:28:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/IRSERunnableWithProgress.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -33,7 +33,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

    * diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/PasswordPersistenceManager.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/PasswordPersistenceManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/PasswordPersistenceManager.java 2008-04-23 21:07:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/PasswordPersistenceManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,43 +19,132 @@ * Martin Oberhuber (Wind River) - [218655][api] Provide SystemType enablement info in non-UI * Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags * David Dykstal (IBM) - [210474] Deny save password function missing + * David Dykstal (IBM) - [225320] Use equinox secure storage for passwords + * David Dykstal (IBM) - [379787] Fix secure storage usage in org.eclipse.rse.tests ********************************************************************************/ package org.eclipse.rse.core; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.equinox.security.storage.ISecurePreferences; +import org.eclipse.equinox.security.storage.SecurePreferencesFactory; +import org.eclipse.equinox.security.storage.StorageException; import org.eclipse.rse.core.model.SystemSignonInformation; import org.eclipse.rse.internal.core.RSECoreMessages; - +import org.osgi.framework.Bundle; /** - * PasswordPersistenceManager manages the saving and retrieving of user ID / - * passwords to the Eclipse keyring for registered system types. + * PasswordPersistenceManager manages the saving and retrieving of user IDs / + * passwords to Equinox secure storage for registered system types. + *

    + * A PasswordPersistenceManager is sensitive to the "rse.enableSecureStoreAccess" property. + * If absent it defaults to true. + * If present then the value must be true to enable access to the secure store. + * The following code disables access to the secure store. + *

    + * System.setProperty("rse.enableSecureStoreAccess", "false"); * * @noextend This class is not intended to be subclassed by clients. * @noinstantiate This class is not intended to be instantiated by clients. Use * the {@link #getInstance()} method to get the singleton * instance. */ + +/* + * Passwords are stored in a node that is selected by system type id. + * Each password has a key that consists of a host name and a user id pair. + * The key is a string and looks like //. + * Host names may be symbolic or they be IPv4 or IPv6 addresses. + * The current design treats these the same. + * + * In addition to the registered system types, there is a "default" system type + * that can be searched if a password is not found for a registered system type. + * The API allows for setting this default along with a particular system type. + * + * The current implementation uses Equinox secure storage. The + * API for this looks like that for a preferences store. This is arranged as a tree + * of nodes, each node holding a set of keyed values. + * In the case of this password store value reside only at the lowest + * nodes in the tree. There is one node for each system type, which is then used to + * store passwords for a particular host name, user ID pair. + * + * This is similar to the previous implementation which used the Eclipse platform key ring. + * A particular key ring node was selected using the system type id and a Map object + * was retrieved or stored at this node. The map was keyed by the same host name, user ID + * pair that is used in the current implementation. + * + * Migration from the old implementation to the new one is done when accessing a node for + * the first time. At that point the map entries present in the old implementation are copied + * to the preferences node in the new implementation. + * + * The old key ring values can be migrated only if they can be accessed using the + * compatibility API found in the bundle org.eclipse.core.runtime.compatability.auth. + * This can be installed by the user, but is not included in the standard + * packaging for Eclipse 4.2 and subsequent releases. + * + * The nodes in the old implementation were rooted in the URL file://rse where + * was the name of the java user.name system property. Note that this user.name property may be, + * and probably is, different that the user ID used on a target system. The new secure preferences are rooted + * in the default secure preferences node which is kept in a location associated with + * the current user. Thus, there is no need to additionally qualify the secure + * storage location with the user.name system property. + * + * Lookup is based on an exact match followed by a fuzzy match on host names. An exact match + * uses the host name argument as is and is case sensitive when matching the host name of the + * stored keys. If not found, then a fuzzy match is employed that allows for case insensitivity. + * If one host name is a prefix of the other and they both resolve to the name network entity they + * are considered to be matching. Network name resolution is very expensive and is employed only if their + * is enough extra similar information to justify a match. Thus, for example, hobbiton could + * match HOBBITON.EXAMPLE.COM, but could never match an IP address. + */ public class PasswordPersistenceManager { + /** + * Default System Type + */ + private static class DefaultSystemType extends AbstractRSESystemType implements IRSESystemType { + private static final String DEFAULT_ID = "DEFAULT"; //$NON-NLS-1$ + + private DefaultSystemType() { + super(DEFAULT_ID, DEFAULT_ID, RSECoreMessages.DefaultSystemType_Label, null, null); + } + + public String getId() { + return DEFAULT_ID; + } + + public String[] getSubsystemConfigurationIds() { + return null; + } + + public Object getAdapter(Class adapter) { + return null; + } + + public boolean isEnabled() { + return true; + } + } + // Keys used for using the Platform authorization methods // The server url is generic so we can lookup all registered user IDs / passwords // to display to the user in the password information preference page private static final String SERVER_URL = "file://rse"; //$NON-NLS-1$ - private static final String AUTH_SCHEME = ""; // no authorization scheme specified for apis //$NON-NLS-1$ + private static final String AUTH_SCHEME = ""; // no authorization scheme specified for apis //$NON-NLS-1$ // Add return codes public static final int RC_OK = 0; @@ -64,60 +153,140 @@ public static final int RC_DENIED = 2; public static final int RC_ERROR = -1; - // Default System Type, on a lookup if the specified system type and hostname is not found - // then the call will automatically lookup the default system type and hostname + // Default System Type, on a lookup if the specified system type and host name is not found + // then the call will automatically lookup the default system type and host name public static final IRSESystemType DEFAULT_SYSTEM_TYPE = new DefaultSystemType(); // Default user name public static final String DEFAULT_USER_NAME = "DEFAULT_USER"; //$NON-NLS-1$ - // New URL to store password map - private String newURL = null; - /* * Singleton instance */ private static PasswordPersistenceManager _instance; - /* - * Instance variables - */ - private RegisteredSystemType[] systemTypes; - /** - * Default System Type + * Retrieve the singleton instance of the PasswordPersistenceManger */ - private static class DefaultSystemType extends AbstractRSESystemType implements IRSESystemType - { - private static final String DEFAULT_ID = "DEFAULT"; //$NON-NLS-1$ - private DefaultSystemType() { - super(DEFAULT_ID, DEFAULT_ID, RSECoreMessages.DefaultSystemType_Label, null, null); - } - public String getId() { - //TODO consider a space character at the beginning to ensure uniqueness - return DEFAULT_ID; - } - public String[] getSubsystemConfigurationIds() { - return null; + public static final synchronized PasswordPersistenceManager getInstance() { + if (_instance == null) { + _instance = new PasswordPersistenceManager(); + _instance.initializeSystemTypes(); } - public Object getAdapter(Class adapter) { - return null; + return _instance; + } + + /** + * Tests the existence of the Eclipse keyring API by looking for installation of the bundle containing + * the API. + * @return true if the API is installed. + */ + private static boolean isAuthorizationCompatibilityInstalled() { + boolean result = false; + Bundle authorizationBundle = Platform.getBundle("org.eclipse.core.runtime.compatibility.auth"); //$NON-NLS-1$ + if (authorizationBundle == null) { + IStatus status = new Status(IStatus.INFO, RSECorePlugin.PLUGIN_ID, "Saved passwords are not available for migration to secure storage. Deprecated authorization classes (org.eclipse.core.runtime.compatibility.auth) are not installed."); //$NON-NLS-1$ + RSECorePlugin.getDefault().getLog().log(status); + } else { + result = true; } - public boolean isEnabled() { - return true; + return result; + } + + /** + * Examine the preferences to see if password saving is allowed. + * @param systemType The system type to check + * @param hostName The host name to check + * @return true if we are allow to save password for this system type and host + */ + private static boolean isSaveAllowed(IRSESystemType systemType, String hostName) { + boolean allowed = !RSEPreferencesManager.getDenyPasswordSave(systemType, hostName); + return allowed; + } + + /** + * Build the key to lookup the password for a specific + * user ID and host name + * @param hostName the name of the host + * @param userId the name of the user + * @return a key composed of the host and user name + */ + private static String getKey(String hostName, String userId) { + StringBuffer buffer = new StringBuffer(hostName); + buffer.append("//"); //$NON-NLS-1$ + buffer.append(userId); + return buffer.toString(); + } + + /** + * Retrieve a host name from a key. + * @param passwordKey the key to examine for a host + * @return the host name from the key + */ + private static String getHostNameFromKey(String passwordKey) { + int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ + return passwordKey.substring(0, sepIndex); + } + + /** + * Retrieve a user id from a key. + * @param passwordKey the key to examine for a host + * @return the user id from the key + */ + private static String getUserIdFromKey(String passwordKey) { + int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ + return passwordKey.substring(sepIndex + 2, passwordKey.length()); + } + + /** + * Given an array of keys into a password node for a system type return the ones that match the host name and user id criteria. + * Fuzzy matching will match hosts if one is a prefix of the other and they both resolve to the same network location. + * @param keys the original array of keys + * @param hostName the host name to match. + * @param userId the userId to match. This may be null. If it is then all users for this host name are matched. + * @param respectCase true if case must be respected to match a user id. + * @param fuzzy true if a fuzzy host name match is desired. + * @return a new array of keys from the original array that match the criteria. + */ + private static String[] getMatchingKeys(String[] keys, String hostName, String userId, boolean respectCase, boolean fuzzy) { + List selectedKeys = new ArrayList(); + for (int i = 0; i < keys.length; i++) { + String key = keys[i]; + String keyHostName = getHostNameFromKey(key); + String keyUserId = getUserIdFromKey(key); + boolean match = (userId == null || (respectCase ? userId.equals(keyUserId) : userId.equalsIgnoreCase(keyUserId))); + if (match) { + match = hostName.equals(keyHostName); + if (!match && fuzzy) { + String phn = hostName.toUpperCase(Locale.US); + String khn = keyHostName.toUpperCase(Locale.US); + match = phn.equals(khn); + if (!match && (phn.startsWith(khn) || khn.startsWith(phn))) { + khn = RSECorePlugin.getQualifiedHostName(khn); + phn = RSECorePlugin.getQualifiedHostName(phn); + match = khn.equalsIgnoreCase(phn); + } + } + } + if (match) { + selectedKeys.add(key); + } } + String[] result = new String[selectedKeys.size()]; + selectedKeys.toArray(result); + return result; } /** - * Inner class used for storing registered system types + * Inner class used for storing registered system types. + * In particular this class can be used to determine whether a given + * system type supports case-sensitive user id */ - private class RegisteredSystemType - { + private class RegisteredSystemType { private IRSESystemType _systemType; private boolean _userIDCaseSensitive; - protected RegisteredSystemType(IRSESystemType systemType, boolean caseSensitive) - { + protected RegisteredSystemType(IRSESystemType systemType, boolean caseSensitive) { _systemType = systemType; _userIDCaseSensitive = caseSensitive; } @@ -139,137 +308,276 @@ } } + private String mapLocation = null; + private RegisteredSystemType[] systemTypes; + /** - * Singleton so private constructor + * Singleton so this is a private constructor */ - private PasswordPersistenceManager(){ + private PasswordPersistenceManager() { String userName = System.getProperty("user.name"); //$NON-NLS-1$ - if (userName == null) { userName = DEFAULT_USER_NAME; } + if (isAuthorizationCompatibilityInstalled()) { + mapLocation = SERVER_URL + userName; + } + } + + /** + * Examine the system type extensions and construct an array of installed system types. + */ + private void initializeSystemTypes() { + IRSESystemType[] sysTypes = RSECorePlugin.getTheCoreRegistry().getSystemTypes(); + systemTypes = new RegisteredSystemType[sysTypes.length]; + for (int i = 0; i < sysTypes.length; i++) { + systemTypes[i] = new RegisteredSystemType(sysTypes[i], true); + } + } - newURL = SERVER_URL + userName; + /** + * Retrieve the old password map from the Eclipse keyring for the specified system type. + * This uses deprecated APIs only if those APIs are installed. + * This should only be used to retrieve maps for migration to the new secure-storage API. + * @param systemTypeId the id of the system type to retrieve the map for + * @return a Map that maps keys composed of host names and user ids to passwords for this particular + * system type. Returns null if the API is not installed or there is no map found. + */ + private Map getMap(String systemTypeId) { + Map passwordMap = null; + if (mapLocation != null) { + try { + URL serverURL = new URL(mapLocation); + passwordMap = Platform.getAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME); + if (passwordMap == null) { + URL oldServerURL1 = new URL(SERVER_URL + ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); + passwordMap = Platform.getAuthorizationInfo(oldServerURL1, systemTypeId, AUTH_SCHEME); + if (passwordMap == null) { + URL oldServerURL2 = new URL(SERVER_URL); + passwordMap = Platform.getAuthorizationInfo(oldServerURL2, systemTypeId, AUTH_SCHEME); + } + } + } catch (MalformedURLException e) { + RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.getMap", e); //$NON-NLS-1$ + } + } + return passwordMap; } /** - * Retrieve the singleton instance of the PasswordPersistenceManger + * Migrates passwords stored in their old map form into a node of the + * secure preferences tree. The old map is left intact. + * @param parentNode the parent node of the new node for a system type that will + * hold all the passwords for that system type. The new node is created under this + * parent node. + * @param systemTypeId the id of this system type to create. The node is named with + * this identifier. */ - public static final synchronized PasswordPersistenceManager getInstance() - { - if (_instance == null) - { - _instance = new PasswordPersistenceManager(); - _instance.initExtensions(); + private void migrateMap(ISecurePreferences parentNode, String systemTypeId) { + ISecurePreferences systemTypeNode = parentNode.node(systemTypeId); + Map passwordMap = getMap(systemTypeId); + if (passwordMap != null) { + Set entries = passwordMap.entrySet(); + for (Iterator z = entries.iterator(); z.hasNext();) { + Map.Entry entry = (Map.Entry) z.next(); + String key = (String) entry.getKey(); + String value = (String) entry.getValue(); + basicPut(systemTypeNode, key, value); + } } - return _instance; + basicSave(systemTypeNode); } - /* - * initialization - register system types + /** + * Returns the preferences node that matches the system type. + * It will only return null if secure store access is disallowed. + * If secure store access is allowed it will create the node if it does not exist. + * If the node does not previous exist then an attempt will be made + * to migrate the values from the old map form to this newly created node + * of the secure preferences tree. + * @param systemType the system type to retrieve + * @return the matching secure preferences node. */ - private void initExtensions() - { - IRSESystemType[] sysTypes = RSECorePlugin.getTheCoreRegistry().getSystemTypes(); - systemTypes = new RegisteredSystemType[sysTypes.length]; + private ISecurePreferences getNode(IRSESystemType systemType) { + ISecurePreferences systemTypeNode = null; + String enableSecureStoreAccess = System.getProperty("rse.enableSecureStoreAccess", "true"); //$NON-NLS-1$//$NON-NLS-2$ + if (enableSecureStoreAccess.equals("true")) { //$NON-NLS-1$ + String id = systemType.getId(); + ISecurePreferences preferences = SecurePreferencesFactory.getDefault(); + ISecurePreferences rseNode = preferences.node("org.eclipse.rse.core.security"); //$NON-NLS-1$ + if (!rseNode.nodeExists(id)) { + migrateMap(rseNode, id); + } + systemTypeNode = rseNode.node(id); + } + return systemTypeNode; + } - for (int i = 0; i < sysTypes.length; i++) { - systemTypes[i] = new RegisteredSystemType(sysTypes[i], true); + /** + * Saves a node of the secure preferences tree. + * Logs an error if this cannot be saved for some reason. + * @param node the node to save. + */ + private void basicSave(ISecurePreferences node) { + try { + node.flush(); + } catch (IOException e) { + IStatus status = new Status(IStatus.ERROR, RSECorePlugin.PLUGIN_ID, "Unexpected error saving password.", e); //$NON-NLS-1$ + RSECorePlugin.getDefault().getLog().log(status); } } + + /** + * Removes an entry from a node in the secure preferences tree. + * This entry is a password for a given host name and user id. + * @param node the node from which to remove the password entry. + * @param key the key consisting of a host name, user id pair + * @see #getKey(String, String) + */ + private void basicRemove(ISecurePreferences node, String key) { + node.remove(key); + } /** - * Remove the entry from the keyring that matches the systemtype, hostname and - * user ID from the SystemSignonInfo parameter. + * Finds a password in a secure preferences node given its key. + * Logs an error if this cannot be found for some malfunction of the storage mechanism. + * @param node the node in which to find the password entry. + * @param key the key consisting of a host name, user id pair + * @see #getKey(String, String) + * @return the password associated with this key or null if the + * entry was not found. */ - public void remove(SystemSignonInformation info) - { - remove(info.getSystemType(), info.getHostname(), info.getUserId()); + private String basicGet(ISecurePreferences node, String key) { + String value = null; + try { + value = node.get(key, null); + } catch (StorageException e) { + IStatus status = new Status(IStatus.ERROR, RSECorePlugin.PLUGIN_ID, "Unexpected error retrieving password.", e); //$NON-NLS-1$ + RSECorePlugin.getDefault().getLog().log(status); + } + return value; } /** - * Removes all passwords for a host name for a given system type. Use the - * default system type explicitly to remove those entries. - * - * @param systemType The system type of the host - * @param hostName The IP address of the host in canonical format - * @return the number of passwords removed from the keyring - * @since org.eclipse.rse.core 3.0 + * Writes a password to a secure preferences node. + * Logs an error if this cannot be found for some malfunction of the storage mechanism. + * @param node the node in which to write the password entry. + * @param key the key consisting of a host name, user id pair + * @param value the password value to store for this key + * @see #getKey(String, String) */ - public int remove(IRSESystemType systemType, String hostName) { - Map passwords = getPasswordMap(systemType); - int numberRemoved = 0; + private void basicPut(ISecurePreferences node, String key, String value) { + try { + node.put(key, value, true); + } catch (StorageException e) { + IStatus status = new Status(IStatus.ERROR, RSECorePlugin.PLUGIN_ID, "Unexpected error updating password.", e); //$NON-NLS-1$ + RSECorePlugin.getDefault().getLog().log(status); + } + } + + /** + * Retrieves the password node for the given system type and removes password entries from that node. + * Removes only those that match the host name and user id exactly if one such entries exist. + * If no such entries exist then it will remove those for the host names that resolve to the same target as the specified host. + * @param systemType the IRSESystemType instance to remove passwords for. + * @param hostName the name of the host we are removing passwords for. + * @param userId the user id to remove passwords for. This may be null. If so then all users for this host name are affected. + * @return the number of passwords removed. + */ + private int removePassword(IRSESystemType systemType, String hostName, String userId) { + int result = 0; + ISecurePreferences passwords = getNode(systemType); if (passwords != null) { - String hostPrefix = hostName + "//"; //$NON-NLS-1$ - Set keys = passwords.keySet(); - for (Iterator z = keys.iterator(); z.hasNext();) { - String key = (String) z.next(); - if (key.startsWith(hostPrefix)) { - z.remove(); // safely removes the key and the entry from the map - numberRemoved++; - } + boolean respectCase = isUserIDCaseSensitive(systemType); + String keys[] = getMatchingKeys(passwords.keys(), hostName, userId, respectCase, false); + if (keys.length == 0) { + keys = getMatchingKeys(passwords.keys(), hostName, userId, respectCase, true); + } + for (int i = 0; i < keys.length; i++) { + String key = keys[i]; + basicRemove(passwords, key); } - if (numberRemoved > 0) { - savePasswordMap(systemType.getId(), passwords); + if (keys.length > 0) { + basicSave(passwords); } + result = keys.length; } - return numberRemoved; + return result; } - + /** - * Removes all entries from the keyring that match the hostname, userid, and system type. - * Use the default system type explicitly to remove those entries. - * @param systemType the systemType - * @param hostName the connection name - * @param userid the user id + * Retrieves the password node for the given system type and finds a password in that node. + * Initially looks only at those entries that match the host name and user id exactly. + * If no such entries exist then it will examine those for the host names that resolve to the same target as the specified host. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @return the first such password found that meets these criteria or null if no entry in this + * system type node matches the criteria. */ - public void remove(IRSESystemType systemType, String hostName, String userid) { - String hostname = hostName;//RSEUIPlugin.getQualifiedHostName(hname); - // Convert userid to upper case if required - if (!isUserIDCaseSensitive(systemType)) { - userid = userid.toUpperCase(); - } - Map passwords = getPasswordMap(systemType); + private String findPassword(IRSESystemType systemType, String hostName, String userId) { + String password = null; + ISecurePreferences passwords = getNode(systemType); if (passwords != null) { - if (removePassword(passwords, hostname, userid)) { - savePasswordMap(systemType.getId(), passwords); + boolean respectCase = isUserIDCaseSensitive(systemType); + String keys[] = getMatchingKeys(passwords.keys(), hostName, userId, respectCase, false); + if (keys.length == 0) { + keys = getMatchingKeys(passwords.keys(), hostName, userId, respectCase, true); + } + if (keys.length > 0) { + String key = keys[0]; + password = basicGet(passwords, key); } } + return password; } /** - * Check if a password entry exists for the specified system type, hostname - * and userid. - */ - public boolean passwordExists(IRSESystemType systemtype, String hostname, String userid) - { - - return passwordExists(systemtype, hostname, userid, true); + * Updates the password node for the given system type and finds a password in that node. + * Updates only that entry that matches the host name and user id exactly. + * If no such entries exist then it will add an entry for that host name and user id. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @param password the password to save for this entry. + * @return RC_OK if the password was updated, RC_DENIED if the password was not updated. + */ + private int updatePassword(IRSESystemType systemType, String hostName, String userId, String password) { + int result = RC_DENIED; + ISecurePreferences passwords = getNode(systemType); + if (passwords != null) { + String key = getKey(hostName, userId); + basicPut(passwords, key, password); + basicSave(passwords); + result = RC_OK; + } + return result; } - + /** - * Check if a password entry exists for the specified system type, hostname - * and userid. - * - * @param systemtype The system type to check for. - * @param hname The hostname to check for. - * @param userid The user ID to check for. - * @param checkDefault Whether or not to check for a default system type if the specified system type is not found. - */ - public boolean passwordExists(IRSESystemType systemtype, String hname, String userid, boolean checkDefault) - { - String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); - return (find(systemtype, hostname, userid) != null); + * Resets a given system type. This clears the storage for this system + * type and allows it to be re-migrated. + * This is not API. + * @noreference This method is not intended to be referenced by clients. + * @param systemType the system type to reset + * @since org.eclipse.rse.core 3.4 + */ + public void reset(IRSESystemType systemType) { + ISecurePreferences systemTypeNode = getNode(systemType); + if (systemTypeNode != null) { + systemTypeNode.removeNode(); + } } - + /** * Add a password to the password database. * This will not update the entry for the default system type * @param info The signon information to store * @param overwrite Whether to overwrite any existing entry * @return - * RC_OK if the password was successfully stored - * RC_ALREADY_EXISTS if the password already exists and overwrite was false + * RC_OK if the password was successfully stored + * RC_ALREADY_EXISTS if the password already exists and overwrite was false + * RC_DENIED if passwords may not be saved for this system type and host */ public int add(SystemSignonInformation info, boolean overwrite) { return add(info, overwrite, false); @@ -277,9 +585,9 @@ /** * Add a password to the password database. - * @param info The signon information to store - * @param overwrite If true then overwrite the existing entry for this systemtype, hostname, and userid. - * @param updateDefault if true then set the entry for the default systemtype, hostname, and user ID, according to the overwrite setting. + * @param info The SystemSignonInformation to store + * @param overwrite If true then overwrite the existing entry for this system type, host name, and user id. + * @param updateDefault if true then set the entry for the default system type, host name, and user ID, according to the overwrite setting. * @return * RC_OK if the password was successfully stored. * RC_ALREADY_EXISTS if the password already exists and overwrite was false @@ -291,8 +599,7 @@ String hostName = info.getHostname(); String userId = info.getUserId(); String newPassword = info.getPassword(); - boolean deny = RSEPreferencesManager.getDenyPasswordSave(systemType, hostName); - if (!deny) { + if (isSaveAllowed(systemType, hostName)) { if (!isUserIDCaseSensitive(systemType)) { userId = userId.toUpperCase(); info.setUserId(userId); @@ -303,22 +610,11 @@ result = add(newInfo, overwrite, false); } } - Map passwords = getPasswordMap(systemType); - if (passwords == null) { - passwords = new HashMap(5); - } - String oldPassword = getPassword(passwords, hostName, userId); - if (oldPassword != null) { - if (overwrite) { - removePassword(passwords, hostName, userId); - } else { - result = RC_ALREADY_EXISTS; - } - } - if (result == RC_OK) { - String passwordKey = getPasswordKey(hostName, userId); - passwords.put(passwordKey, newPassword); - savePasswordMap(systemType.getId(), passwords); + String oldPassword = findPassword(systemType, hostName, userId); + if (oldPassword == null || (overwrite && !newPassword.equals(oldPassword))) { + result = updatePassword(systemType, hostName, userId, newPassword); + } else if (oldPassword != null) { + result = RC_ALREADY_EXISTS; } } else { result = RC_DENIED; @@ -326,324 +622,165 @@ return result; } - /* - * Retrieve the password map from the keyring for the specified system type + /** + * Determines if password entry exists for a given system type, host name, and user id. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @return true if a password exists that meets the search criteria. */ - private Map getPasswordMap(IRSESystemType systemType) - { - Map passwords = null; - String systemTypeId = systemType.getId(); - - try - { - URL serverURL = new URL(newURL); - passwords = Platform.getAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME); - - // if no passwords found with new URL, check old URL - if (passwords == null) { - - URL oldServerURL1 = new URL(SERVER_URL + ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); - passwords = Platform.getAuthorizationInfo(oldServerURL1, systemTypeId, AUTH_SCHEME); - - // passwords found, so migrate to using new URL - if (passwords != null) { - savePasswordMap(systemTypeId, passwords); - } - // if still no passwords found, check with even older URL - else { - URL oldServerURL2 = new URL(SERVER_URL); - passwords = Platform.getAuthorizationInfo(oldServerURL2, systemTypeId, AUTH_SCHEME); - - // passwords found, so migrate to using new URL - if (passwords != null) { - savePasswordMap(systemTypeId, passwords); - } - } - } - } - catch (MalformedURLException e) { - RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.getPasswordMap", e); //$NON-NLS-1$ - } - - return passwords; + public boolean passwordExists(IRSESystemType systemType, String hostName, String userId) { + return passwordExists(systemType, hostName, userId, true); } - /* - * Retrieve the password map from the keyring for the specified system type + /** + * Determine if a password entry exists for the specified system type, host name, and user id. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @param checkDefault Whether or not to check for a default system type if the specified system type is not found. + * @return true if a password exists that meets the search criteria. */ - private void savePasswordMap(String systemTypeId, Map passwords) - { - try - { - URL serverURL = new URL(newURL); - Platform.flushAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME); - Platform.addAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME, passwords); - } - catch (MalformedURLException e) { - RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.savePasswordMap", e); //$NON-NLS-1$ - } - catch (CoreException e) { - RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.savePasswordMap", e); //$NON-NLS-1$ - } + public boolean passwordExists(IRSESystemType systemType, String hostName, String userId, boolean checkDefault) { + SystemSignonInformation info = find(systemType, hostName, userId, checkDefault); + return (info != null); } /** - * Find the password for the specified systemtype, hostname and userid. - * If one is not found then the default system type is used. - * The system type in the signon information returned may not be the same as the system type - * specfied in the argument. + * Find the password for the specified system type, host name and user id. + * If one is not found then the default system type is also searched, thus + * the system type in the returned SystemSignonInformation may not be the same as the system type + * specified in the argument. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @return the {@link SystemSignonInformation} for the specified criteria or null if no such password can be found. */ - public SystemSignonInformation find(IRSESystemType systemtype, String hostname, String userid) - { - return find(systemtype, hostname, userid, true); + public SystemSignonInformation find(IRSESystemType systemType, String hostName, String userId) { + return find(systemType, hostName, userId, true); } - - private boolean removePassword(Map passwords, String hostname, String userid) - { - boolean removed = false; - String password = null; - - String passwordKey = getPasswordKey(hostname, userid); - password =(String) passwords.get(passwordKey); - if (password != null) - { - passwords.remove(passwordKey); - removed = true; - } - else - { - String phostname = hostname.toUpperCase(); - - // DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames - Iterator keys = passwords.keySet().iterator(); - while (keys.hasNext() && password == null) - { - String key = (String)keys.next(); - if (key.equalsIgnoreCase(passwordKey)) - { - password = (String) passwords.get(key); - } - else - { - String khostname = getHostnameFromPasswordKey(key).toUpperCase(); - String kuid = getUserIdFromPasswordKey(key); - if (kuid.equalsIgnoreCase(userid)) - { - // uid matches, check if hosts are the same - if (khostname.startsWith(phostname) || phostname.startsWith(khostname)) - { - String qkhost = RSECorePlugin.getQualifiedHostName(khostname); - String qphost = RSECorePlugin.getQualifiedHostName(phostname); - if (qkhost.equals(qphost)) - { - password = (String)passwords.get(key); - } - } - } - } - if (password != null) - { - passwords.remove(key); - removed = true; - - } + /** + * Find the password for the specified system type, host name and user id. + * If one is not found then the default system type is also searched, thus + * the system type in the returned SystemSignonInformation may not be the same as the system type + * specified in the argument. + * @param systemType the IRSESystemType instance to find a password for. + * @param hostName the name of the host we are examining for a password. + * @param userId the user id to find passwords for. + * @param checkDefault true if the default system type should be checked if the specified system type is not found + * @return the {@link SystemSignonInformation} for the specified criteria or null if no such password can be found. + */ + public SystemSignonInformation find(IRSESystemType systemType, String hostName, String userId, boolean checkDefault) { + SystemSignonInformation result = null; + if (!(systemType == null || hostName == null || userId == null)) { + if (!isUserIDCaseSensitive(systemType)) { + userId = userId.toUpperCase(); } - } - return removed; - - } - - private String getPassword(Map passwords, String hostname, String userid) - { - String password = null; - - String passwordKey = getPasswordKey(hostname, userid); - password =(String) passwords.get(passwordKey); - if (password != null) - return password; - - String phostname = hostname.toUpperCase(); - - // DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames - Iterator keys = passwords.keySet().iterator(); - while (keys.hasNext() && password == null) - { - String key = (String)keys.next(); - if (key.equalsIgnoreCase(passwordKey)) - { - password = (String) passwords.get(key); - } - else - { - String khostname = getHostnameFromPasswordKey(key).toUpperCase(); - String kuid = getUserIdFromPasswordKey(key); - if (kuid.equalsIgnoreCase(userid)) - { - // uid matches, check if hosts are the same - if (khostname.startsWith(phostname) || phostname.startsWith(khostname)) - { - String qkhost = RSECorePlugin.getQualifiedHostName(khostname); - String qphost = RSECorePlugin.getQualifiedHostName(phostname); - if (qkhost.equals(qphost)) - { - password = (String)passwords.get(key); - } - } + String password = findPassword(systemType, hostName, userId); + if (password != null) { + result = new SystemSignonInformation(hostName, userId, password, systemType); + } + if (result == null && checkDefault && !systemType.equals(DEFAULT_SYSTEM_TYPE)) { + password = findPassword(DEFAULT_SYSTEM_TYPE, hostName, userId); + if (password != null) { + result = new SystemSignonInformation(hostName, userId, password, DEFAULT_SYSTEM_TYPE); } } } - - return password; - + return result; } /** - * Find the persisted password for the specified systemtype, hostname and userid. - * - * @param systemtype The system type to check for. - * @param hname The hostname to check for. - * @param userid The user ID to check for. - * @param checkDefault Whether or not to check for a default system type if the specified system type is not found. + * Remove the password entry that matches the system type, host name and + * user ID from the SystemSignonInfo parameter. */ - public SystemSignonInformation find(IRSESystemType systemtype, String hname, String userid, boolean checkDefault) - { - String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); - // Convert userid to upper case if required - if (!isUserIDCaseSensitive(systemtype) && userid != null) - { - userid = userid.toUpperCase(); - } - - Map passwords = getPasswordMap(systemtype); - - if (passwords != null) - { - String password = getPassword(passwords, hostname, userid); - - if (password != null) - { - return new SystemSignonInformation(hostname, userid, password, systemtype); - } - } - - // yantzi: RSE6.2 check for default system type entry with this hostname and user ID - if (checkDefault && !DEFAULT_SYSTEM_TYPE.equals(systemtype)) - { - return find(DEFAULT_SYSTEM_TYPE, hostname, userid, false); - } - - return null; + public void remove(SystemSignonInformation info) { + remove(info.getSystemType(), info.getHostname(), info.getUserId()); } - + /** - * Helper class for building the key to lookup the password for a specific - * userid and hostname in the Map + * Removes all passwords for a host name for a given system type. + * This does not remove entries for the default system type. + * The default system type must be explicitly stated to remove those entries. + * @param systemType The system type of the host + * @param hostName The IP address or name of the host in canonical format + * @return the number of passwords removed + * @since org.eclipse.rse.core 3.0 */ - private String getPasswordKey(String hname, String userid) - { - String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); - StringBuffer buffer = new StringBuffer(hostname); - buffer.append("//"); //$NON-NLS-1$ - buffer.append(userid); - return buffer.toString(); - } - - private String getHostnameFromPasswordKey(String passwordKey) - { - int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ - return passwordKey.substring(0,sepIndex); - } - - private String getUserIdFromPasswordKey(String passwordKey) - { - int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ - return passwordKey.substring(sepIndex + 2, passwordKey.length()); + public int remove(IRSESystemType systemType, String hostName) { + int result = removePassword(systemType, hostName, null); + return result; } /** - * Helper method for determining if system type uses case sensitive user IDs + * Removes all entries that match the host name, user id, and system type. + * This does not remove entries for the default system type. + * The default system type must be explicitly stated to remove those entries. + * @param systemType the systemType + * @param hostName the connection name + * @param userId the user id */ - public boolean isUserIDCaseSensitive(IRSESystemType systemType) - { - // First find the correct provider - for (int i = 0; i < systemTypes.length; i++) - { - - if (systemTypes[i].getSystemType().equals(systemType)) - { - return systemTypes[i].isUserIDCaseSensitive(); - } + public void remove(IRSESystemType systemType, String hostName, String userId) { + if (!isUserIDCaseSensitive(systemType)) { + userId = userId.toUpperCase(); } - - //Not found: Default system type is case sensitive - return true; + removePassword(systemType, hostName, userId); } /** - * Retrieve the list of registered system types + * Retrieve the list of registered system types. + * This includes the default system type as well. + * @return an array of {@link IRSESystemType}. */ - public IRSESystemType[] getRegisteredSystemTypes() - { - // yantzi: artemis 6.2, added default system type to list + public IRSESystemType[] getRegisteredSystemTypes() { IRSESystemType[] types = new IRSESystemType[systemTypes.length + 1]; - types[0] = DEFAULT_SYSTEM_TYPE; - - for (int i = 0; i < systemTypes.length; i++) - { + for (int i = 0; i < systemTypes.length; i++) { types[i + 1] = systemTypes[i].getSystemType(); } - return types; } /** - * Retrieve a list of the stored user IDs. - * + * Retrieves a list of SystemSignonInformation instances that have been saved. + * These instances do not contain the saved passwords. * @return List A list of the stored user IDs as SystemSignonInformation instances * without the saved passwords. */ - public List getSavedUserIDs() - { + public List getSavedUserIDs() { List savedUserIDs = new ArrayList(); - Map passwords; - String key; - int separator; - - for (int i = 0; i < systemTypes.length; i++) - { - passwords = getPasswordMap(systemTypes[i].getSystemType()); - if (passwords != null) - { - Iterator keys = passwords.keySet().iterator(); - while (keys.hasNext()) - { - key = (String) keys.next(); - separator = key.indexOf("//"); //$NON-NLS-1$ - savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname - key.substring(separator + 2), // userid - systemTypes[i].getSystemType())); // system type + IRSESystemType[] systemTypes = getRegisteredSystemTypes(); + for (int i = 0; i < systemTypes.length; i++) { + IRSESystemType systemType = systemTypes[i]; + ISecurePreferences node = getNode(systemType); + if (node != null) { + String[] keys = node.keys(); + for (int j = 0; j < keys.length; j++) { + String key = keys[j]; + String hostName = getHostNameFromKey(key); + String userId = getUserIdFromKey(key); + SystemSignonInformation info = new SystemSignonInformation(hostName, userId, systemType); + savedUserIDs.add(info); } } } + return savedUserIDs; + } - // yantzi: RSE 6.2 Get DEFAULT system types too - passwords = getPasswordMap(DEFAULT_SYSTEM_TYPE); - if (passwords != null) - { - Iterator keys = passwords.keySet().iterator(); - while (keys.hasNext()) - { - key = (String) keys.next(); - separator = key.indexOf("//"); //$NON-NLS-1$ - savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname - key.substring(separator + 2), // userid - DEFAULT_SYSTEM_TYPE)); // system type + /** + * Helper method for determining if system type uses case sensitive user IDs. + * @return true if the system type treats user ids as case sensitive. + */ + public boolean isUserIDCaseSensitive(IRSESystemType systemType) { + boolean result = true; + for (int i = 0; i < systemTypes.length; i++) { + if (systemTypes[i].getSystemType().equals(systemType)) { + result = systemTypes[i].isUserIDCaseSensitive(); + break; } } - - return savedUserIDs; + return result; } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/RSECorePlugin.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/RSECorePlugin.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/RSECorePlugin.java 2008-05-15 22:49:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/RSECorePlugin.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -24,6 +24,8 @@ * Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags * Martin Oberhuber (Wind River) - [190231] Prepare API for UI/Non-UI Splitting * David Dykstal (IBM) = [226958] add status values to waitForInitCompletion(phase) + * David McKnight (IBM) - [354874] persistence manager hits a NPE during shutdown + * David Dykstal (IBM) - [397995] RSEInitJob runs too early ********************************************************************************/ package org.eclipse.rse.core; @@ -306,8 +308,6 @@ public void start(BundleContext context) throws Exception { super.start(context); registerKeystoreProviders(); - RSEInitJob job = RSEInitJob.getInstance(); - job.schedule(); } /* @@ -317,7 +317,6 @@ public void stop(BundleContext context) throws Exception { LoggerFactory.freeLogger(this); logger = null; - plugin = null; super.stop(context); } @@ -413,7 +412,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work * or that it will remain the same. Please do not use this API without - * consulting with the Target + * consulting with the Target * Management team. *

    * @@ -433,7 +432,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work * or that it will remain the same. Please do not use this API without - * consulting with the Target + * consulting with the Target * Management team. *

    * diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/DummyHost.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/DummyHost.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/DummyHost.java 2008-04-23 18:19:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/DummyHost.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -14,6 +14,7 @@ * Martin Oberhuber (Wind River) - [175262] IHost.getSystemType() should return IRSESystemType * David Dykstal (IBM) - 142806: refactoring persistence framework * David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection ********************************************************************************/ package org.eclipse.rse.core.model; @@ -264,4 +265,11 @@ public void setDefaultEncoding(String encoding, boolean fromRemote) { } + + /** + * @since 3.2 + */ + public void clonePropertySets(IPropertySetContainer targetContainer) { + } + } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IPropertySetContainer.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IPropertySetContainer.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IPropertySetContainer.java 2009-05-27 15:17:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/IPropertySetContainer.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Johann Draschwandtner (Wind River) - [227509][apidoc] Add note how to persist property sets * David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement * David Dykstal (IBM) - [261486][api] add noextend to interfaces that require it + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection *******************************************************************************/ package org.eclipse.rse.core.model; @@ -100,5 +101,14 @@ * false if a property set was not removed, usually if it does not exist in the container. */ public boolean removePropertySet(String name); + + /** + * Make copies of a list of property sets and add them to the specified container. + * Each property set may contain its own list of property sets, so the + * method is recursive. + * @param targetContainer new container to copy property sets into + * @since 3.2 + */ + public void clonePropertySets(IPropertySetContainer targetContainer); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySet.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySet.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySet.java 2008-04-23 18:19:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySet.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,19 +15,21 @@ * Martin Oberhuber (Wind River) - Added Javadoc. * David McKnight (IBM) - [217715] [api] RSE property sets should support nested property sets * David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement + * David McKnight (IBM) - [334837] Ordering of Library list entries incorrect after migration *******************************************************************************/ package org.eclipse.rse.core.model; -import java.util.HashMap; + import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Observable; import java.util.Observer; import java.util.Set; /** - * A Hashmap based implementation of the {@link IPropertySet} interface. + * A LinkedHashmap based implementation of the {@link IPropertySet} interface. * * Not thread-safe since the underlying {@link java.util.HashMap} is * not thread-safe. @@ -51,7 +53,7 @@ public PropertySet(IPropertySet propertySet) { _name = propertySet.getName(); _description = propertySet.getDescription(); - _properties = new HashMap(); + _properties = new LinkedHashMap(); if (propertySet instanceof ILabeledObject) { ILabeledObject p = (ILabeledObject) propertySet; _label = p.getLabel(); @@ -72,7 +74,7 @@ */ public PropertySet(String name) { _name = name; - _properties = new HashMap(); + _properties = new LinkedHashMap(); setDirty(true); } @@ -110,7 +112,7 @@ } public void setProperties(Map map) { - _properties = new HashMap(map.size()); + _properties = new LinkedHashMap(map.size()); for (Iterator z = map.keySet().iterator(); z.hasNext();) { String key = (String) z.next(); Object value = map.get(key); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySetContainer.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySetContainer.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySetContainer.java 2008-04-23 18:19:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/PropertySetContainer.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -13,13 +13,16 @@ * Contributors: * David Dykstal (IBM) - 142806: refactoring persistence framework * David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement + * David McKnight (IBM) - [334837] Ordering of Library list entries incorrect after migration + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection ********************************************************************************/ package org.eclipse.rse.core.model; +import java.io.ObjectInputStream.GetField; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -32,7 +35,7 @@ private Map _propertySets; public PropertySetContainer() { - _propertySets = new HashMap(); + _propertySets = new LinkedHashMap(); } public IPropertySet[] getPropertySets() { @@ -83,5 +86,30 @@ public boolean removePropertySet(String name) { return _propertySets.remove(name) != null; } + + /** + * @since 3.2 + */ + public void clonePropertySets(IPropertySetContainer container) { + IPropertySet[] propertySets = getPropertySets(); + if (propertySets != null && propertySets.length > 0) + clonePropertySets(container, propertySets); + } + + private void clonePropertySets(IPropertySetContainer container, IPropertySet[] propertySets){ + if (propertySets == null) { + return; + } + for (int i = 0, n = propertySets.length; i < n; ++i) { + IPropertySet fromSet = propertySets[i]; + IPropertySet copySet = container.createPropertySet(fromSet.getName(), fromSet.getDescription()); + String[] fromKeys = fromSet.getPropertyKeys(); + for (int i2 = 0, n2 = fromKeys.length; i2 < n2; ++i2) { + IProperty fromProperty = fromSet.getProperty(fromKeys[i2]); + copySet.addProperty(fromProperty.getKey(), fromProperty.getValue(), fromProperty.getType()); + } + clonePropertySets(copySet, fromSet.getPropertySets()); + } + } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/SystemEscapeCharHelper.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/SystemEscapeCharHelper.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/SystemEscapeCharHelper.java 2009-05-19 15:30:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/model/SystemEscapeCharHelper.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -14,12 +14,17 @@ * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core * David Dykstal (IBM) - [226561] Add API markup to RSE javadocs for extend / implement * David McKnight (IBM) - [276194] cannot open file with '...' in pathname + * David McKnight (IBM) - [332275] "#" in local file name is changed to "#035" after copy ********************************************************************************/ package org.eclipse.rse.core.model; import java.io.File; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IStatus; + /** * This is a utility class used in the construction of file names. * @noextend This class is not intended to be subclassed by clients. @@ -53,6 +58,12 @@ public String getStringForFileName(String name) { + // first do a validation before escaping + IStatus status = ResourcesPlugin.getWorkspace().validatePath(name,IResource.FILE); + if (status.getCode() == IStatus.OK){ // if it's valid, don't bother escaping + return name; + } + String fileName = name; int i = 0; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java 2009-05-27 15:17:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractConnectorService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,6 +19,7 @@ * David Dykstal (IBM) - [210474] Deny save password function missing * David McKnight (IBM) - [249222] [api] Access to communication listeners in AbstractConnectorService * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() + * David Dykstal (IBM) - [321766] safely serialize connect and disconnect operations ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -28,11 +29,17 @@ import java.util.Vector; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; import org.eclipse.rse.core.IRSESystemType; +import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.RSEPreferencesManager; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IRSEPersistableContainer; import org.eclipse.rse.core.model.RSEModelObject; +import org.eclipse.rse.services.Mutex; import org.eclipse.rse.services.clientserver.messages.SystemMessageException; /** @@ -407,14 +414,104 @@ return getPort(); } + /** + * A SafeRunner makes sure that instances of UnsafeRunnableWithProgress will run one + * at a time. A timeout value is specified. If the runnable cannot be started within + * the timeout value it is not run and a TimeoutException is thrown. + *

    + * A SafeRunner keeps track of the thread that is running. If that thread + * reenters the SafeRunner, then it is allowed to continue execution. + */ + private class SafeRunner { + private Mutex semaphore = new Mutex(); + private Thread semaphoreOwner = null; + /** + * Run a runnable. If one is already running in this runner then this one will wait up to + * the specified timeout period. If the timeout expires an exception is thrown. + * @param runnable the runnable to run + * @param timeout the timeout value in milliseconds + * @param monitor the monitor that is tracking progress + * @throws TimeoutException if the timeout expires before the runner becomes unblocked. + */ + void run(UnsafeRunnableWithProgress runnable, long timeout, IProgressMonitor monitor) throws Exception { + if (semaphoreOwner != Thread.currentThread()) { + if (semaphore.waitForLock(monitor, timeout)) { + semaphoreOwner = Thread.currentThread(); + try { + if (monitor.isCanceled()) { + throw new OperationCanceledException(); + } + runnable.run(monitor); + } finally { + semaphore.release(); + semaphoreOwner = null; + } + } else { + throw new TimeoutException(timeout); + } + } else { + runnable.run(monitor); + } + } + } + + /** + * The TimeoutException is to be thrown when an operation experiences a time-out. + */ + // TODO it may be possible to replace this exception with the one in JRE 5.0 when that becomes the base + private class TimeoutException extends Exception { + private static final long serialVersionUID = 1L; + private long timeoutValue; + /** + * Creates a new TimeoutException with a particular value. + * @param timeoutValue The value of the timeout that expired in milliseconds. + */ + TimeoutException(long timeoutValue) { + this.timeoutValue = timeoutValue; + } + /** + * @return The value of the timeout in milliseconds. + */ + long getTimeout() { + return timeoutValue; + } + } + + /** + * This interface is used to describe operations that require a progress + * monitor and may throw arbitrary exceptions during their execution. + * It is meant to be a companion to the SafeRunner class which should + * serialize these and handle the exceptions appropriately. + */ + private interface UnsafeRunnableWithProgress { + void run(IProgressMonitor monitor) throws Exception; + } + + private final SafeRunner safeRunner = new SafeRunner(); + /* (non-Javadoc) * @see org.eclipse.rse.core.subsystems.IConnectorService#connect(org.eclipse.core.runtime.IProgressMonitor) */ public final void connect(IProgressMonitor monitor) throws Exception { - preConnect(); - internalConnect(monitor); - initializeSubSystems(monitor); - postConnect(); + long timeout = 120000; // two minute timeout, this is arbitrary but seems to be a good amount + UnsafeRunnableWithProgress runnable = new UnsafeRunnableWithProgress() { + public void run(IProgressMonitor monitor) throws Exception { + preConnect(); + internalConnect(monitor); + initializeSubSystems(monitor); + postConnect(); + } + }; + try { + safeRunner.run(runnable, timeout, monitor); + } catch (TimeoutException e) { + String id = RSECorePlugin.getDefault().getBundle().getSymbolicName(); + String messageTemplate = "Connect operation timed out after {0} milliseconds. Operation canceled."; //TODO externalize this message in 3.3 + String message = NLS.bind(messageTemplate, new Long(e.getTimeout())); + IStatus status = new Status(IStatus.INFO, id, message); + RSECorePlugin.getDefault().getLog().log(status); + throw new OperationCanceledException(); + } } /** @@ -424,10 +521,24 @@ * @throws Exception if the disconnect fails */ public final void disconnect(IProgressMonitor monitor) throws Exception { - preDisconnect(); - internalDisconnect(monitor); - uninitializeSubSystems(monitor); - postDisconnect(); + long timeout = 120000; // two minute timeout + UnsafeRunnableWithProgress runnable = new UnsafeRunnableWithProgress() { + public void run(IProgressMonitor monitor) throws Exception { + preDisconnect(); + internalDisconnect(monitor); + uninitializeSubSystems(monitor); + postDisconnect(); + } + }; + try { + safeRunner.run(runnable, timeout, monitor); + } catch (TimeoutException e) { + String id = RSECorePlugin.getDefault().getBundle().getSymbolicName(); + String messageTemplate = "Disconnect operation timed out after {0} milliseconds."; //TODO externalize this message in 3.3 + String message = NLS.bind(messageTemplate, new Long(e.getTimeout())); + IStatus status = new Status(IStatus.INFO, id, message); + RSECorePlugin.getDefault().getLog().log(status); + } } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractDelegatingConnectorService.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractDelegatingConnectorService.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractDelegatingConnectorService.java 2008-04-18 09:19:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AbstractDelegatingConnectorService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2007, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -14,6 +14,7 @@ * Martin Oberhuber (Wind River) - [185750] Remove IConnectorService.getHostType() * David Dykstal (IBM) - [210474] Deny save password function missing * David Dykstal (IBM) - [225089][ssh][shells][api] Canceling connection leads to exception + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -21,6 +22,7 @@ import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.IPropertySet; +import org.eclipse.rse.core.model.IPropertySetContainer; import org.eclipse.rse.core.model.IRSEPersistableContainer; public abstract class AbstractDelegatingConnectorService implements IDelegatingConnectorService @@ -811,4 +813,15 @@ return result; } + /** + * @since 3.2 + */ + public void clonePropertySets(IPropertySetContainer targetContainer) { + IConnectorService connectorService = getRealConnectorService(); + if (connectorService != null) { + connectorService.clonePropertySets(targetContainer); + } + } + + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AuthenticatingConnectorService.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AuthenticatingConnectorService.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AuthenticatingConnectorService.java 2008-04-04 14:03:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/core/subsystems/AuthenticatingConnectorService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2007, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,6 +11,8 @@ * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods * David Dykstal (IBM) - [210474] Deny save password function missing * David Dykstal (IBM) - [225089][ssh][shells][api] Canceling connection leads to exception + * David McKnight (IBM) [323648] SSH Terminals subsystem should re-use user id and password for the Files subsystem + * David McKnight (IBM) [398234] Connect from host doesn't always propagate id/password to multiple contained connector services ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -121,14 +123,34 @@ * @see org.eclipse.rse.core.subsystems.IConnectorService#setPassword(java.lang.String, java.lang.String, boolean, boolean) */ public final void setPassword(String userId, String password, boolean persist, boolean propagate) { - if (getPrimarySubSystem().forceUserIdToUpperCase()) { + ISubSystem ss = getPrimarySubSystem(); + if (ss.forceUserIdToUpperCase()) { userId = userId.toUpperCase(); } + String myUserId = credentialsProvider.getUserId(); + IHost host = getHost(); if (host.compareUserIds(userId, myUserId)) { credentialsProvider.setPassword(password); } + else { + String hostName = host.getHostName(); + SystemSignonInformation existingSignon = null; + // check if there are any uid credentials saved here - if not, then use the new userID/password + List signonsWithIDs = PasswordPersistenceManager.getInstance().getSavedUserIDs(); + for (int i = 0 ; i < signonsWithIDs.size() && existingSignon != null; i++){ + SystemSignonInformation signon = (SystemSignonInformation)signonsWithIDs.get(i); + if (hostName.equals(signon.getHostname())){ + existingSignon = signon; + } + } + if (existingSignon == null){ + // update with propagated id/password + credentialsProvider.setUserId(userId); + credentialsProvider.setPassword(password); + } + } if (sharesCredentials() && propagate) { updatePasswordForOtherSystemsInConnection(userId, password, persist); } @@ -186,6 +208,12 @@ */ public final void acquireCredentials(boolean reacquire) throws OperationCanceledException { credentialsProvider.acquireCredentials(reacquire); + ICredentials credentials = credentialsProvider.getCredentials(); + IHost host = getHost(); + String userId = credentials.getUserId(); + String password = credentials.getPassword(); + boolean persist = PasswordPersistenceManager.getInstance().find(host.getSystemType(), host.getHostName(), userId) != null; + setPassword(userId, password, persist, true); } /* (non-Javadoc) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/RSEInitJob.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/RSEInitJob.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/RSEInitJob.java 2008-09-02 17:53:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/RSEInitJob.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2008, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -10,6 +10,8 @@ * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding * David Dykstal (IBM) = [226958] add status values to waitForInitCompletion(phase) * David Dykstal (IBM) - [235581] Initialize RSE should be a daemon job + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type + * David Dykstal (IBM) - [397995] RSEInitJob runs too early ********************************************************************************/ package org.eclipse.rse.internal.core; @@ -18,7 +20,6 @@ import java.util.ArrayList; import java.util.List; -import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IPath; @@ -40,7 +41,6 @@ import org.eclipse.rse.internal.core.model.SystemModelChangeEvent; import org.eclipse.rse.internal.core.model.SystemProfileManager; import org.eclipse.rse.logging.Logger; -import org.eclipse.rse.services.clientserver.SystemEncodingUtil; /** * This is a job named "Initialize RSE". It is instantiated and run during @@ -187,7 +187,7 @@ } } } - + /* (non-Javadoc) * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) */ @@ -221,6 +221,8 @@ submonitor.done(); } + /* + * default encoding provider moved to startup of files.core // set the default encoding provider SystemEncodingUtil encodingUtil = SystemEncodingUtil.getInstance(); encodingUtil.setDefaultEncodingProvider( @@ -229,9 +231,10 @@ return ResourcesPlugin.getEncoding(); } }); - + */ + initializerPhase.done(result); - // finish up - propogate cancel if necessary + // finish up - propagate cancel if necessary if (monitor.isCanceled()) { result = Status.CANCEL_STATUS; } else { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/filters/SystemFilterPoolReference.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/filters/SystemFilterPoolReference.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/filters/SystemFilterPoolReference.java 2008-04-07 12:48:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/filters/SystemFilterPoolReference.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,8 @@ * contained in the reference was not found. * David Dykstal (IBM) - [192122] extended search to look for filter pools in * profile during getReferencedFilterPool() rather than returning broken reference + * David McKnight (IBM) - [358999] Deleting multiple connections takes long time + * David McKnight (IBM) -[391132] filterpools don't persist when profile names end in _ *******************************************************************************/ package org.eclipse.rse.internal.core.filters; @@ -115,10 +117,17 @@ * The filter pool manager name is the same as its owning profile. */ String savedName = getReferencedObjectName(); - String[] parts = savedName.split(DELIMITER, 2); - String result = parts[0]; - if (parts.length == 2) { - result = parts[1]; + String result = null; + int lastDelim = savedName.lastIndexOf(DELIMITER); + if (lastDelim > 0){ + result = savedName.substring(lastDelim + DELIMITER_LENGTH); + } + else { + String[] parts = savedName.split(DELIMITER, 2); + result = parts[0]; + if (parts.length == 2) { + result = parts[1]; + } } return result; } @@ -134,16 +143,22 @@ * The filter pool manager name is the same as its owning profile. */ String result = null; - String savedName = getReferencedObjectName(); - String[] parts = savedName.split(DELIMITER, 2); - if (parts.length == 2) { - result = parts[0]; - } else { - ISystemFilterPoolReferenceManagerProvider provider = getProvider(); - if (provider instanceof ISubSystem) { - ISubSystem subsystem = (ISubSystem) provider; - ISystemProfile profile = subsystem.getSystemProfile(); - result = profile.getName(); + String savedName = getReferencedObjectName(); + int lastDelim = savedName.lastIndexOf(DELIMITER); + if (lastDelim > 0){ + result = savedName.substring(0, lastDelim); + } + else { + String[] parts = savedName.split(DELIMITER, 2); + if (parts.length == 2) { + result = parts[0]; + } else { + ISystemFilterPoolReferenceManagerProvider provider = getProvider(); + if (provider instanceof ISubSystem) { + ISubSystem subsystem = (ISubSystem) provider; + ISystemProfile profile = subsystem.getSystemProfile(); + result = profile.getName(); + } } } if (result == null) { @@ -195,13 +210,17 @@ } } } + + + // bug 358999 - this was originally outside of the first if but then it created tons of unnecessary references + if (filterPool != null) { + setReferenceToFilterPool(filterPool); + setReferenceBroken(false); + } else { + setReferenceBroken(true); + } } - if (filterPool != null) { - setReferenceToFilterPool(filterPool); - setReferenceBroken(false); - } else { - setReferenceBroken(true); - } + return filterPool; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/RemoteObjectId.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/RemoteObjectId.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/RemoteObjectId.java 2008-04-25 16:35:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/RemoteObjectId.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,7 +39,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

    * diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java 2008-02-12 17:04:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemHostPool.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -21,7 +21,9 @@ * David Dykstal (IBM) - [176577] wrong enablement of "Move up/down" in connection context menu * Martin Oberhuber (Wind River) - [206742] Make SystemHostPool thread-safe * David Dykstal (IBM) - [210537] removed exception signaling from this class to match the interface - ********************************************************************************/ + * Tom Hochstein (Freescale) - [301075] Host copy doesn't copy contained property sets + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection +********************************************************************************/ package org.eclipse.rse.internal.core.model; import java.util.ArrayList; @@ -404,9 +406,13 @@ IHost copy = targetPool.createHost(conn.getSystemType(), aliasName, conn.getHostName(), conn.getDescription(), conn.getLocalDefaultUserId(), IRSEUserIdConstants.USERID_LOCATION_HOST); + + // Copy all properties as well. + conn.clonePropertySets(copy); return copy; } - + + /* * (non-Javadoc) * @see org.eclipse.rse.core.model.ISystemHostPool#moveHosts(org.eclipse.rse.core.model.IHost[], int) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java 2009-07-03 14:14:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/core/model/SystemRegistry.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -60,6 +60,7 @@ * David McKnight (IBM) - [254590] When disconnecting a subsystem with COLLAPSE option, subsystems of other connector services also get collapsed * Martin Oberhuber (Wind River) - [245154][api] add getSubSystemConfigurationProxiesBySystemType() * Zhou Renjian (Kortide) - [282238] NPE when copying host and overwrite itself + * Martin Oberhuber (Wind River) - [359554] Avoid disconnect when changing default user id only ********************************************************************************/ package org.eclipse.rse.internal.core.model; @@ -1965,12 +1966,17 @@ ISubSystem[] subsystems = getSubSystems(conn); // get list of related subsystems for (int idx = 0; idx < subsystems.length; idx++) { - if (hostNameChanged || (subsystems[idx].getLocalUserId() == null)) + //Need to clear caches if host name changed or user ID is inherited from default + if (hostNameChanged || (subsystems[idx].getConnectorService().supportsUserId() && subsystems[idx].getLocalUserId() == null)) { try { - if (subsystems[idx].isConnected()) subsystems[idx].disconnect(); // MJB: added conditional for defect 45754 - if (defaultUserIdChanged) + //MOB - Bug 359554: There is no reason for disconnecting subsystems just because a default user ID changed + if (hostNameChanged && subsystems[idx].isConnected()) + { + subsystems[idx].disconnect(); // MJB: added conditional for defect 45754 + } + if (defaultUserIdChanged && !subsystems[idx].isConnected()) { subsystems[idx].getConnectorService().clearCredentials(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PropertyFileProvider.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PropertyFileProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PropertyFileProvider.java 2008-10-29 17:18:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/PropertyFileProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -16,6 +16,7 @@ * David Dykstal (IBM) - [189274] provide import and export operations for profiles * David Dykstal (IBM) - [225988] need API to mark persisted profiles as migrated * David Dykstal (IBM) - [252357] made nested property sets and properties embedded nodes in the persistent form + * David McKnight (IBM)- [376738] PropertyFileProvider should catch exceptions in care a written profile was corrupted ********************************************************************************/ package org.eclipse.rse.internal.persistence; @@ -795,7 +796,13 @@ for (Iterator z = childNames.iterator(); z.hasNext();) { String childName = (String) z.next(); Properties p = getProperties(childPropertiesMap, childName); - makeNode(node, location, p, monitor); + try { + makeNode(node, location, p, monitor); + } + catch (Exception e){ + // minimize impact of unexpected exception + logException(e); + } } for (Iterator z = referenceKeys.iterator(); z.hasNext();) { String key = (String) z.next(); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/dom/RSEDOMImporter.java eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/dom/RSEDOMImporter.java --- eclipse-rse-3.1.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/dom/RSEDOMImporter.java 2009-07-17 14:32:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core/src/org/eclipse/rse/internal/persistence/dom/RSEDOMImporter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -27,6 +27,7 @@ * David McKnight (IBM) - [267052] need to be able to create subsystems-after-the-fact * David McKnight (IBM) - [271243] [files] Switching service type brings up TWO file subsystems after restart * Uwe Stieber (Wind River) - [283844] NPE on restoring property set if persistent data is corrupted + * David McKnight (IBM) -[391132] filterpools don't persist when profile names end in _ ********************************************************************************/ package org.eclipse.rse.internal.persistence.dom; @@ -516,9 +517,9 @@ ISystemProfile profile = subsystem.getSystemProfile(); String profileName = profile.getName(); String baseFilterPoolName = filterPoolName; + filterPoolName = filterPoolName.substring(profileName.length()); // in case there's an underscore in the profile name String[] part = filterPoolName.split("___", 2); //$NON-NLS-1$ if (part.length == 2) { // name is qualified and refers to a filter pool in a specific profile - profileName = part[0]; baseFilterPoolName = part[1]; } // special processing for host owned pool references Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.core/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.core/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.core-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/feature.properties 2009-05-13 22:13:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ user documentation. # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.core-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/feature.xml 2009-07-30 00:02:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.core-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/license.html 2007-06-04 16:09:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,38 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 -("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    -
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
        +
      • The top-level (root) directory
      • +
      • Plug-in and Fragment directories
      • +
      • Inside Plug-ins and Fragments packaged as JARs
      • +
      • Sub-directories of the directory named "src" of certain Plug-ins
      • +
      • Feature directories
      -

      Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +

      Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -58,24 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

      IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

      + +

      Use of Provisioning Technology

      + +

      The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

      + +

      You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

      + +
        +
      1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
      2. +
      3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
      4. +
      5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
      6. +
      +

      Cryptography

      - +

      Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

      - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

      Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

      diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.core-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.core + 3.4.1-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:13:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=RSE Core Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=Remote System Explorer (RSE) core including \ @@ -31,7 +31,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -45,8 +45,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -54,42 +54,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -98,47 +94,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

      Eclipse Foundation Software User Agreement

      -

      March 17, 2005

      +

      February 1, 2011

      Usage Of Content

      @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

      - -

      Applicable Licenses

      - + +

      Applicable Licenses

      +

      Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

      -

      Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

      - +

      Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

      +
        -
      • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
      • -
      • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
      • -
      • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
      • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
      • +
      • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
      • +
      • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
      • -
      • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
      • -
      - +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:13:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.properties 2009-02-10 22:36:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/build.properties 2009-05-14 08:14:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:13:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE Core Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.core-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/.classpath eclipse-rse-3.4.2/org.eclipse.rse.discovery/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/.classpath 2007-02-21 18:52:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.discovery/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/.cvsignore 2006-09-08 14:25:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/.project eclipse-rse-3.4.2/org.eclipse.rse.discovery/.project --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/.project 2008-04-03 08:57:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.rse.discovery - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.rse.discovery/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:33:41.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.rse.discovery/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:20:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.discovery/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/META-INF/MANIFEST.MF 2009-05-20 19:32:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.rse.discovery;singleton:=true -Bundle-Version: 3.0.100.qualifier -Bundle-Activator: org.eclipse.rse.internal.discovery.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", - org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", - org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)", - org.eclipse.tm.discovery.wizard;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.rse.internal.discovery;x-internal:=true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/about.html eclipse-rse-3.4.2/org.eclipse.rse.discovery/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/about.html 2007-05-29 20:27:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/build.properties eclipse-rse-3.4.2/org.eclipse.rse.discovery/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/build.properties 2009-05-27 15:15:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - .,\ - plugin.xml -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.discovery/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/plugin.properties 2009-05-27 15:15:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery RSE Plug-in -providerName = Eclipse.org - DSDP - -DiscoverySystemLabel=Discovery -DiscoverySystemDescription=Discovery - -NewConnectionWizard.discovery.name=Service Discovery Wizard diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.discovery/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/plugin.xml 2007-05-12 01:40:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Activator.java 2007-02-21 18:52:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.rse.internal.discovery; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.rse.discovery"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Messages.java eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Messages.java --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Messages.java 2008-03-27 22:07:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2008 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Javier Montalvo Orus (Symbian) - NLS Cleanup - ********************************************************************************/ - -package org.eclipse.rse.internal.discovery; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.rse.internal.discovery.messages"; //$NON-NLS-1$ - - public static String ServiceDiscoveryWizard_DiscoveryPropertySet; - - public static String ServiceDiscoveryWizard_Port; - - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoverySubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoverySubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoverySubSystemConfiguration.java 2007-02-21 18:52:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoverySubSystemConfiguration.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.rse.internal.discovery; - -import org.eclipse.rse.core.filters.ISystemFilterPool; -import org.eclipse.rse.core.filters.ISystemFilterPoolManager; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.subsystems.IConnectorService; -import org.eclipse.rse.core.subsystems.ISubSystem; -import org.eclipse.rse.core.subsystems.SubSystemConfiguration; - -/** - * Configuration for an empty Discovery SubSystemConfiguration - * to allow listing discovery in the RSE Wizard - * - */ -public class ServiceDiscoverySubSystemConfiguration extends SubSystemConfiguration { - - /* - * (non-Javadoc) - * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#createDefaultFilterPool(org.eclipse.rse.core.filters.ISystemFilterPoolManager) - */ - protected ISystemFilterPool createDefaultFilterPool( - ISystemFilterPoolManager mgr) { - return null; - } - - /* - * (non-Javadoc) - * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#createSubSystemInternal(org.eclipse.rse.core.model.IHost) - */ - public ISubSystem createSubSystemInternal(IHost conn) { - return null; - } - - /* - * (non-Javadoc) - * @see org.eclipse.rse.core.subsystems.SubSystemConfiguration#supportsServerLaunchProperties(org.eclipse.rse.core.model.IHost) - */ - public boolean supportsServerLaunchProperties(IHost host) { - return false; - } - - /* - * (non-Javadoc) - * @see org.eclipse.rse.core.subsystems.ISubSystemConfiguration#getConnectorService(org.eclipse.rse.core.model.IHost) - */ - public IConnectorService getConnectorService(IHost host) { - return null; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoveryWizard.java eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoveryWizard.java --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoveryWizard.java 2007-05-23 14:28:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/ServiceDiscoveryWizard.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,199 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods - * Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.discovery; - - -import java.util.Enumeration; -import java.util.Iterator; -import java.util.Vector; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.wizard.IWizardPage; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.rse.core.IRSESystemType; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.model.IPropertySet; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.core.subsystems.IConnectorService; -import org.eclipse.rse.core.subsystems.ISubSystem; -import org.eclipse.rse.core.subsystems.ISubSystemConfiguration; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.actions.SystemRefreshAllAction; -import org.eclipse.tm.discovery.model.Pair; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.model.ServiceType; -import org.eclipse.tm.internal.discovery.wizard.ServiceDiscoveryWizardDisplayPage; -import org.eclipse.tm.internal.discovery.wizard.ServiceDiscoveryWizardMainPage; - -/** - * Service Discovery Wizard - */ - -public class ServiceDiscoveryWizard extends Wizard { - - private ServiceDiscoveryWizardMainPage serviceDiscoveryMainPage; - private ServiceDiscoveryWizardDisplayPage serviceDiscoveryPage = null; - - /** - * Service Discovery Wizard constructor - */ - public ServiceDiscoveryWizard() { - super(); - setNeedsProgressMonitor(false); - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.Wizard#addPages() - */ - public void addPages() { - - serviceDiscoveryMainPage = new ServiceDiscoveryWizardMainPage(); - addPage(serviceDiscoveryMainPage); - - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.Wizard#getNextPage(org.eclipse.jface.wizard.IWizardPage) - */ - public IWizardPage getNextPage(IWizardPage page) { - - if (page instanceof ServiceDiscoveryWizardMainPage) { - if (serviceDiscoveryPage == null) { - serviceDiscoveryPage = new ServiceDiscoveryWizardDisplayPage(serviceDiscoveryMainPage.getQuery(), serviceDiscoveryMainPage.getAddress(), serviceDiscoveryMainPage.getTransport(), serviceDiscoveryMainPage.getProtocol(), serviceDiscoveryMainPage.getTimeOut()); - addPage(serviceDiscoveryPage); - } else { - serviceDiscoveryPage.update(serviceDiscoveryMainPage.getQuery(), serviceDiscoveryMainPage.getAddress(), serviceDiscoveryMainPage.getTransport(), serviceDiscoveryMainPage.getProtocol(), serviceDiscoveryMainPage.getTimeOut()); - } - } - return super.getNextPage(page); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.Wizard#performFinish() - */ - public boolean performFinish() { - - IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$ - IConfigurationElement[] ce = ep.getConfigurationElements(); - - SystemRefreshAllAction systemRefreshAllAction = new SystemRefreshAllAction(null); - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - - String[] addresses = serviceDiscoveryPage.getAddresses(); - for (int i = 0; i < addresses.length; i++) { - - String hostName = addresses[i]; - Vector discoveredServices = serviceDiscoveryPage.getSelectedServices(addresses[i]); - Vector subSystemConfigurationVector = new Vector(); - - Enumeration serviceEnumeration = discoveredServices.elements(); - - IHost conn = null; - try { - IRSESystemType discoveryType = RSECorePlugin.getTheCoreRegistry().getSystemTypeById(IRSESystemType.SYSTEMTYPE_DISCOVERY_ID); - conn = registry.createHost(discoveryType, "Discovery@" + hostName, hostName, "Discovered services in "+hostName);//$NON-NLS-1$ //$NON-NLS-2$ - } catch (Exception e) { - RSECorePlugin.getTheSystemRegistry().deleteHost(conn); - return false; - } - - while (serviceEnumeration.hasMoreElements()) { - - Service service = (Service) serviceEnumeration.nextElement(); - - //discovered service name - String serviceName = ((ServiceType) service.eContainer()).getName(); - - //discovered transport (tcp, udp) - String transport = null; - - Iterator pairIterator = service.getPair().iterator(); - while (pairIterator.hasNext()) { - - Pair pair = (Pair) pairIterator.next(); - if(pair.getKey().equals("transport")) //$NON-NLS-1$ - { - transport = pair.getValue(); - } - } - - //find the SubSystemConfiguration plugin that matches the name+transport - for (int j = 0; j < ce.length; j++) { - String typesList = ce[j].getAttribute("serviceType"); //$NON-NLS-1$ - if(typesList!=null) - { - String[] types = typesList.split(";"); //$NON-NLS-1$ - - for (int k = 0; k < types.length; k++) { - if(types[k].equals("_"+serviceName+"._"+transport)) //$NON-NLS-1$ //$NON-NLS-2$ - { - ISubSystemConfiguration config = registry.getSubSystemConfiguration(ce[j].getAttribute("id")); //$NON-NLS-1$ - IConnectorService connector = config.getConnectorService(conn); - IPropertySet propertySet; - pairIterator = service.getPair().iterator(); - - while (pairIterator.hasNext()) { - - Pair pair = (Pair) pairIterator.next(); - - if((propertySet = connector.getPropertySet(Messages.ServiceDiscoveryWizard_DiscoveryPropertySet))==null) - { - propertySet = connector.createPropertySet(Messages.ServiceDiscoveryWizard_DiscoveryPropertySet); - } - propertySet.addProperty(pair.getKey(), pair.getValue()); - } - - subSystemConfigurationVector.add(config); - } - } - } - } - } - - ISubSystemConfiguration[] subSystemConfiguration = new ISubSystemConfiguration[subSystemConfigurationVector.size()]; - - for (int j = 0; j < subSystemConfiguration.length; j++) { - subSystemConfiguration[j]=(ISubSystemConfiguration)subSystemConfigurationVector.elementAt(j); - } - - ISubSystem[] subSystem = registry.createSubSystems(conn, subSystemConfiguration); - - for (int j = 0; j < subSystem.length; j++) { - - - IConnectorService connector = subSystem[j].getConnectorService(); - IPropertySet propertySet = connector.getPropertySet(Messages.ServiceDiscoveryWizard_DiscoveryPropertySet); - if(propertySet.getProperty(Messages.ServiceDiscoveryWizard_Port)!=null) - { - int port = Integer.parseInt(propertySet.getPropertyValue(Messages.ServiceDiscoveryWizard_Port)); - connector.setPort(port); - - } - } - - RSEUIPlugin.getTheSystemRegistryUI().expandHost(conn); - } - - systemRefreshAllAction.run(); - - return true; - } - -} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/messages.properties eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/messages.properties --- eclipse-rse-3.1.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/messages.properties 2008-03-27 22:07:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.discovery/src/org/eclipse/rse/internal/discovery/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2008 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orus (Symbian) - initial API and implementation -# Javier Montalvo Orus (Symbian) - NLS Cleanup -################################################################################## - -ServiceDiscoveryWizard_DiscoveryPropertySet=Discovery -ServiceDiscoveryWizard_Port=port diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/.cvsignore 2006-07-27 15:03:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -bin -index -build.xml -javadoc.link.location -temp.bin.log -temp.convert.txt -temp.options.txt diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/META-INF/MANIFEST.MF 2008-09-30 14:40:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.doc.isv; singleton:=true -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.4.0.qualifier Bundle-Localization: plugin Eclipse-LazyStart: false Bundle-Vendor: %providerName diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/build.properties eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/build.properties 2006-11-10 22:04:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2006 IBM Corporation and others. +# Copyright (c) 2000, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ # Contributors: # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Declare API provisional +# Martin Oberhuber (Wind River) - [314012] Remove provisional API declaration ############################################################################### bin.includes = META-INF/,\ about.html,\ @@ -26,6 +27,5 @@ index/,\ questions/,\ reference/,\ - samples/,\ - provisional_api.html + samples/ customBuildCallbacks = customBuildCallbacks.xml diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/buildDoc.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/buildDoc.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/buildDoc.xml 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/buildDoc.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ - -

    Although RSE API has been reviewed and proven useful in earlier proprietary -versions, we want to give the Open Source Communitiy a chance to provide more -public feedback and help further improving the APIs. Therefore,

    - -

    As of TM / RSE 2.0, all API is considered provisional.

    - -

    This means, that we reserve the right to change any API after TM / RSE 2.0 -in a not backward compatible way. We will make every sensible effort to -keep at least Source API Compatibility intact, but in cases where this would -lead to unnecessary code bloat we will go with API breakage. All such API changes will be voted on -by committers on the -dsdp-tm-dev developer mailing list, and documented in a migration guide -for future releases. We expect that with Community Feedback, we'll reach a -stable, hardened API for TM 3.0. Please give your feedback on -Eclipse Bugzilla -under category DSDP, Product Target Management.

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/guide/tutorials.html eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/guide/tutorials.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/guide/tutorials.html 2007-09-12 19:02:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/guide/tutorials.html 2013-02-12 20:26:45.000000000 +0000 @@ -18,7 +18,7 @@
  • Creating a subsystem configuration for working with remote resources, using the org.eclipse.rse.core.subsystemConfigurations extension point.

    The source code for all tutorials is available in the RSE-examples package, which -can be obtained from the DSDP +can be obtained from the Target Management download site or directly from the RSE Update Site. In fact, the simplest way to get the examples is to choose Help > Software Updates > Find and Install from the Workbench, get the Examples installed, and then choose diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/guide/usingAPIs.html eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/guide/usingAPIs.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/guide/usingAPIs.html 2007-06-12 14:39:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/guide/usingAPIs.html 2013-02-12 20:26:45.000000000 +0000 @@ -5,7 +5,7 @@ Using the Remote System Explorer API - + @@ -27,30 +27,5 @@ This guide will introduce the capabilities of the API, leaving the programming details to the reference section.

    -

    Provisional API

    - - -
    -

    Although RSE API has been reviewed and proven useful in earlier proprietary -versions, we want to give the Open Source Communitiy a chance to provide more -public feedback and help further improving the APIs. Therefore,

    - -

    As of TM / RSE 2.0, all API is considered provisional.

    - -

    This means, that we reserve the right to change any API after TM / RSE 2.0 -in a not backward compatible way. We will make every sensible effort to -keep at least Source API Compatibility intact, but in cases where this would -lead to unnecessary code bloat we will go with API breakage. All such API changes will be voted on -by committers on the -dsdp-tm-dev developer mailing list, and documented in a migration guide -for future releases. We expect that with Community Feedback, we'll reach a -stable, hardened API for TM 3.0. Please give your feedback on -Eclipse Bugzilla -under category DSDP, Product Target Management.

    -
    - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/notices.html eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/notices.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/notices.html 2007-02-22 22:54:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/notices.html 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@

    Notices

    -The material in this guide is Copyright (c) IBM Corporation and others 2000, 2007. +The material in this guide is Copyright (c) IBM Corporation and others 2000, 2012.

    Terms and conditions regarding the use of this guide. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/options.txt eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/options.txt --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/options.txt 2008-12-19 14:25:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/options.txt 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,7 @@ -quiet -encoding "iso-8859-1" -charset "iso-8859-1" --source 1.4 +-source 1.5 -sourcepath "../org.eclipse.rse.connectorservice.dstore/src ;../org.eclipse.rse.core/src ;../org.eclipse.rse.files.ui/src @@ -46,12 +46,12 @@ -splitIndex -windowtitle "RSE API Specification" -doctitle "RSE API Specification" --header "RSE
    Release 3.0" --bottom "Copyright (c) IBM Corporation and others 2000, 2008. All Rights Reserved." +-header "RSE
    Release 3.4" +-bottom "Copyright (c) IBM Corporation and others 2000, 2012. All Rights Reserved." -group "RSE Services Plug-in Packages" "org.eclipse.rse.services;org.eclipse.rse.services.*;org.eclipse.rse.internal.services.*" -group "RSE Core Plug-in Packages" "org.eclipse.rse.core;org.eclipse.rse.core.*" -group "RSE UI Plug-in Packages" "org.eclipse.rse.ui;org.eclipse.rse.ui.*;org.eclipse.rse.files.ui.*;org.eclipse.rse.shells.ui.*;org.eclipse.rse.processes.ui.*" --link http://java.sun.com/j2se/1.4.2/docs/api +-link http://docs.oracle.com/javase/1.5.0/docs/api -linkoffline ./../../../org.eclipse.platform.doc.isv/reference/api @javadoc.link.location@/platform/reference/api/ -linkoffline ./../../../org.eclipse.dstore.doc.isv/reference/api ../org.eclipse.dstore.doc.isv/reference/api -link http://bundles.osgi.org/javadoc/r4 @@ -64,7 +64,6 @@ org.eclipse.rse.core.filters org.eclipse.rse.core.model org.eclipse.rse.core.references -org.eclipse.rse.core.servicesubsystem org.eclipse.rse.core.subsystems org.eclipse.rse.dstore.universal.miners org.eclipse.rse.files.ui diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/plugin.properties 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName=RSE Developer Guide -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/plugin.xml 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,7 @@ - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.doc.isv + 3.4.0-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/provisional_api.html eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/provisional_api.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/provisional_api.html 2007-06-11 14:30:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/provisional_api.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - - - -Remote System Explorer API Status - - - - - -

    Remote System Explorer API Status

    -

    Provisional API

    -
    -

    Although RSE API has been reviewed and proven useful in earlier proprietary -versions, we want to give the Open Source Communitiy a chance to provide more -public feedback and help further improving the APIs. Therefore,

    - -

    As of TM / RSE 2.0, all API is considered provisional.

    - -

    This means, that we reserve the right to change any API after TM / RSE 2.0 -in a not backward compatible way. We will make every sensible effort to -keep at least Source API Compatibility intact, but in cases where this would -lead to unnecessary code bloat we will go with API breakage. All such API changes will be voted on -by committers on the -dsdp-tm-dev developer mailing list, and documented in a migration guide -for future releases. We expect that with Community Feedback, we'll reach a -stable, hardened API for TM 3.0. Please give your feedback on -Eclipse Bugzilla -under category DSDP, Product Target Management.

    -
    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/reference/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/reference/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/reference/.cvsignore 2006-07-27 10:54:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/reference/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -api \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/reference/extension-points/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/reference/extension-points/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/reference/extension-points/.cvsignore 2006-07-27 09:21:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/reference/extension-points/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -org_eclipse_*.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/toc.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/toc.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/toc.xml 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/toc.xml 2013-02-12 20:26:45.000000000 +0000 @@ -19,7 +19,7 @@ - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/topics_Guide.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/topics_Guide.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/topics_Guide.xml 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/topics_Guide.xml 2013-02-12 20:26:45.000000000 +0000 @@ -29,7 +29,7 @@ - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/topics_Reference.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/topics_Reference.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.isv/topics_Reference.xml 2009-05-14 08:19:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.isv/topics_Reference.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/gettingstarted/g1installing.html eclipse-rse-3.4.2/org.eclipse.rse.doc.user/gettingstarted/g1installing.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/gettingstarted/g1installing.html 2008-06-09 20:30:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/gettingstarted/g1installing.html 2013-02-12 20:26:45.000000000 +0000 @@ -3,7 +3,7 @@ - + Installing the RSE @@ -15,6 +15,7 @@ Contributors: David Dykstal (IBM) - [203337] RSE user guide - TOC differs from Chapter for setting up a dstore server +Martin Oberhuber (Wind River) - [314217] "Installing RSE" is outdated in RSE user docs --> @@ -22,17 +23,25 @@

    Installing the Remote System Explorer

    -The simplest way to get RSE is via the Update Manager: From your running instance -of Eclipse 3.3, choose Help > Software Updates > Find and Install.... -Choose "Search for New Features to Install", and select the "add a new Remote Site named -"RSE" and pointing to -http://download.eclipse.org/dsdp/tm/updates/2.0/. -Select the RSE SDK feature, and perform the update process as usual.

    +The simplest way to get RSE is via Software Updates: From your running instance +of Eclipse 3.4 or newer, choose Help > Install New Software.... +to open the software installation wizard.

    + +

    +In case an update site is not pre-configured, consult the +Eclipse TM Homepage for finding +the latest update site to use, or enable an Eclipse Release Train Repository, +like the http://download.eclipse.org/releases/indigo +repository for Eclipse 3.7 (June 2011). + +Type "Remote" in the filter box and press ENTER to find the RSE downloads; +for the stand-alone Terminal view, find "Terminal". Select what you want to install +and finish the wizard.

    If you prefer manual installation, you can download RSE SDK from the -DSDP Target -Management Download Site and extract it into your installation of -Eclipse 3.3 or later, or link it as product extension.

    +Target +Management Download Site and extract it into the dropins folder of +Eclipse 3.4 or later, or link it as product extension.

    Start Eclipse Workbench, and choose Window > Open Perspective > Other > Remote System Explorer.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/gettingstarted/gxtending.html eclipse-rse-3.4.2/org.eclipse.rse.doc.user/gettingstarted/gxtending.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/gettingstarted/gxtending.html 2008-07-31 15:21:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/gettingstarted/gxtending.html 2013-02-12 20:26:45.000000000 +0000 @@ -17,7 +17,7 @@ } function externalizeLink(url){ - var base = "http://dsdp.eclipse.org/help/latest/index.jsp?topic=//org.eclipse.rse.doc.isv/guide/"; + var base = "http://help.eclipse.org/helios/index.jsp?topic=//org.eclipse.rse.doc.isv/guide/"; var oldsegs = url.href.split('/'); var name = oldsegs[oldsegs.length-1]; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/notices.html eclipse-rse-3.4.2/org.eclipse.rse.doc.user/notices.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/notices.html 2007-02-22 22:25:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/notices.html 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ - + @@ -13,7 +13,7 @@

    Notices

    -The material in this guide is Copyright (c) IBM Corporation and others 2000, 2007. +The material in this guide is Copyright (c) IBM Corporation and others 2000, 2012.

    Terms and conditions regarding the use of this guide. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.doc.user/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/plugin.properties 2009-05-27 15:15:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,4 +19,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE User Guide -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.user/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/plugin.xml 2006-11-10 21:08:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.doc.user/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.doc.user + 3.4.0-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/tasks/tbeginlinux.html eclipse-rse-3.4.2/org.eclipse.rse.doc.user/tasks/tbeginlinux.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/tasks/tbeginlinux.html 2008-06-03 18:16:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/tasks/tbeginlinux.html 2013-02-12 20:26:45.000000000 +0000 @@ -29,17 +29,17 @@ Find the package that contains the server. The server code is usually packaged with the containing product and you should refer to that product's documentation for finding and installing the server package. -The server is also available, however, on the Eclipse DSDP -Target Management download site +The server is also available, however, on the Eclipse +Target Management download site as the package rseserver-<version>-<os>.tar. For example, rseserver-2.0-linux.tar contains the release 2.0 server for Linux. There are servers for Linux, AIX, a generic Unix version that can be tailored to your particular flavor of Unix, and an experimental Mac OS X version.

  • Ensure that Perl is installed.
  • Ensure that a Java Runtime Environment (JRE) version 1.4 or higher is installed. -An IBM, Sun or equivalent JRE is required; The gcj-based jvm shipped with most Linux +An IBM, Oracle or equivalent JRE is required; The gcj-based jvm shipped with most Linux distributions does not work. If in doubt, run the command
    java -version (see -below) and check if there is a reference to gcj. You can download a Sun JRE from -http://java.sun.com.
  • +below) and check if there is a reference to gcj. You can download an Oracle JRE from +http://www.oracle.com/technetwork/java/.
  • Create a directory where you want to install the server code. The remainder of these instructions will assume the directory /opt/rseserver (suitable for team sharing), but you are free to use any directory.
  • diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.doc.user/tasks/tbeginwindows.html eclipse-rse-3.4.2/org.eclipse.rse.doc.user/tasks/tbeginwindows.html --- eclipse-rse-3.1.2/org.eclipse.rse.doc.user/tasks/tbeginwindows.html 2008-06-09 20:30:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.doc.user/tasks/tbeginwindows.html 2013-02-12 20:26:45.000000000 +0000 @@ -29,8 +29,8 @@
  • Find the package that contains the server. The server code is usually packaged with a containing product and you should refer to that product's documentation for finding and installing the server package. -The server is also available, however, on the Eclipse DSDP -Target Management download site +The server is also available, however, on the Eclipse +Target Management download site as the package rseserver-<version>-<os>.zip. For example, rseserver-2.0-windows.zip contains the release 2.0 server for Windows.
  • Copy the rseserver.zip to the C:\rseserver directory (this could be on a different machine).
  • diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/feature.properties 2009-05-13 22:13:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,17 +16,17 @@ featureName=RSE DStore Services # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=RSE DStore is an extensible tooling communication layer. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -40,8 +40,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -49,42 +49,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -93,47 +89,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/feature.xml 2009-07-30 13:35:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,25 @@ - + + @@ -18,8 +36,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/license.html 2007-06-04 16:08:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.dstore + 3.4.1-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:13:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=RSE DStore Services Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=RSE DStore is an extensible tooling communication layer. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/license.html 2007-06-04 16:08:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:13:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:37:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/build.properties 2009-05-14 08:14:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 08:14:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE DStore Services Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.dstore-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/.cvsignore 2006-04-10 19:58:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/META-INF/MANIFEST.MF 2009-05-20 19:31:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.dstore.security; singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 3.0.400.qualifier Bundle-Activator: org.eclipse.rse.internal.dstore.security.UniversalSecurityPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/plugin.properties 2009-05-27 15:15:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore SSL Support -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project KeystoreProviderName = Universal Keystore Provider PreferencePage.SSL = SSL diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.dstore.security + 3.0.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/preference/UniversalSecurityPreferencePage.java eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/preference/UniversalSecurityPreferencePage.java --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/preference/UniversalSecurityPreferencePage.java 2008-06-04 22:48:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/preference/UniversalSecurityPreferencePage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * David Dykstal (IBM) - [232131] fix minor layout problems along with date formats * Martin Oberhuber (Wind River) - [235626] Convert dstore.security to MessageBundle format + * David McKnight (IBM) - [210099] SSL Preference Page Restore Defaults Doesn't do anything *******************************************************************************/ package org.eclipse.rse.internal.dstore.security.preference; @@ -281,6 +282,7 @@ */ private void initializeValues() { + noDefaultAndApplyButton(); // restore defaults makes no sense here String storePath = UniversalSecurityPlugin.getKeyStoreLocation(); String passw = UniversalSecurityPlugin.getKeyStorePassword(); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/wizards/SystemImportCertWizard.java eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/wizards/SystemImportCertWizard.java --- eclipse-rse-3.1.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/wizards/SystemImportCertWizard.java 2007-05-15 23:53:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.dstore.security/src/org/eclipse/rse/internal/dstore/security/wizards/SystemImportCertWizard.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2000, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin + * David Dykstal (IBM) - [303717] [dstore][ssl] problem accepting certificate chain ********************************************************************************/ package org.eclipse.rse.internal.dstore.security.wizards; @@ -115,7 +116,7 @@ if (cert != null) { String alias = _aliasPage.getAlias(); - + alias = alias + "." + Integer.toString(i + 1); // NEW LINE //$NON-NLS-1$ try { KeyStore ks = DStoreKeyStore.getKeyStore(_provider.getKeyStorePath(), _provider.getKeyStorePassword()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.efs/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.efs/.cvsignore 2007-05-25 17:17:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.efs/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.efs/META-INF/MANIFEST.MF 2009-05-20 19:31:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.efs;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.401.qualifier Bundle-Activator: org.eclipse.rse.internal.efs.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.efs/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.efs/plugin.properties 2009-05-27 15:15:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2000, 2009 IBM Corporation. All rights reserved. +# Copyright (c) 2000, 2011 IBM Corporation. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -18,4 +18,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Eclipse Filesystem (EFS) Provider -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.efs/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.efs/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.efs + 2.1.401-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileStore.java eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileStore.java --- eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileStore.java 2008-05-20 20:55:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -21,6 +21,9 @@ * Martin Oberhuber (Wind River) - [191589] fix Rename by adding putInfo() for RSE EFS, and fetch symlink info * Kevin Doyle (IBM) - [210673] [efs][nls] Externalize Strings in RSEFileStore and RSEFileStoreImpl * Timur Shipilov (Xored) - [224538] RSEFileStore.getParent() returns null for element which is not root of filesystem + * David McKnight (IBM) - [287185] EFS provider should interpret the URL host component as RSE connection name rather than a hostname + * David McKnight (IBM) - [291738] [efs] repeated queries to RSEFileStoreImpl.fetchInfo() in short time-span should be reduced + * Szymon Brandys (IBM) - [303092] [efs] RSE portion to deal with FileSystemResourceManager makes second call to efs provider on exception due to cancel ********************************************************************************/ package org.eclipse.rse.internal.efs; @@ -39,6 +42,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Status; import org.osgi.framework.Bundle; @@ -58,6 +62,7 @@ private RSEFileStore _parent; private String _host; private String _name; + private String _alias; private IPath _absolutePath; //cached IRemoteFile object: an Object to avoid early class loading @@ -94,6 +99,27 @@ } } } + + /** + * Constructor to use if the file store is a handle. + * @param host the connection name for the file store. + * @param absolutePath an absolute path to the file, valid on the remote file system. + * @param aliasName the connection alias for the file store + */ + private RSEFileStore(String host, String absolutePath, String aliasName) { + _parent = null; + _host = host; + _absolutePath = new Path(absolutePath); + _alias = aliasName; + _name = _absolutePath.lastSegment(); + if (_name == null) { + //Windows Root Drive has no segments but needs a name + _name = _absolutePath.getDevice(); + if (_name == null) { + _name = ""; //$NON-NLS-1$ + } + } + } /** * Public factory method for obtaining RSEFileStore instances. @@ -106,7 +132,8 @@ if (store==null) { String path = uri.getPath(); String hostName = uri.getHost(); - store = new RSEFileStore(hostName, path); + String aliasName = uri.getQuery(); + store = new RSEFileStore(hostName, path, aliasName); instanceMap.put(uri, store); } return store; @@ -139,6 +166,10 @@ //TODO consider computing this instead of storing it return _host; } + + String getAlias() { + return _alias; + } /** * Returns an absolute path for this file store. @@ -215,14 +246,13 @@ Bundle[] bundles = ctx.getBundles(); for (int i=0; i 0){ + try { + _fetchWaitThreshold = Integer.parseInt(waitStr); + } + catch (Exception e){ + _fetchWaitThreshold = 1000; + } + } } /* @@ -147,13 +168,14 @@ } /** - * Return the best RSE connection object matching the given host name. + * Return the best RSE connection object matching the given host name and/or connection alias. * - * @param hostNameOrAddr IP address of requested host. - * @return RSE connection object matching the given host name, or + * @param hostNameOrAddr the host name IP address of requested host. + * @param aliasName the connection alias of the requested host + * @return RSE connection object matching the given connection alias, host name, or * null if no matching connection object was found. */ - public static IHost getConnectionFor(String hostNameOrAddr, IProgressMonitor monitor) { + public static IHost getConnectionFor(String hostNameOrAddr, String aliasName, IProgressMonitor monitor) { if (hostNameOrAddr==null) { return null; } @@ -164,18 +186,36 @@ IHost[] connections = sr.getHosts(); IHost unconnected = null; - for (int i = 0; i < connections.length; i++) { - - IHost con = connections[i]; - - //TODO use more elaborate methods of checking whether two - //host names/IP addresses are the same; or, use the host alias - if (hostNameOrAddr.equalsIgnoreCase(con.getHostName())) { - IRemoteFileSubSystem fss = getRemoteFileSubSystem(con); - if (fss!=null && fss.isConnected()) { - return con; - } else { - unconnected = con; + + // first look for connection alias + if (aliasName != null){ + for (int i = 0; i < connections.length; i++) { + IHost con = connections[i]; + + if (aliasName.equalsIgnoreCase(con.getAliasName())){ + IRemoteFileSubSystem fss = getRemoteFileSubSystem(con); + if (fss!=null && fss.isConnected()) { + return con; + } else { + unconnected = con; + } + } + } + } + + if (unconnected == null){ + // if nothing matches the connection alias, fall back to hostname + for (int i = 0; i < connections.length; i++) { + IHost con = connections[i]; + //TODO use more elaborate methods of checking whether two + //host names/IP addresses are the same; or, use the host alias + if (hostNameOrAddr.equalsIgnoreCase(con.getHostName())) { + IRemoteFileSubSystem fss = getRemoteFileSubSystem(con); + if (fss!=null && fss.isConnected()) { + return con; + } else { + unconnected = con; + } } } } @@ -229,13 +269,14 @@ * Returns the best connected file subsystem for this file store. * Never returns null. * @param hostNameOrAddr host name or IP address + * @param aliasName the connection alias * @param monitor progress monitor * @return The best connected file subsystem for this file store. * @throws CoreException if no file subsystem could be found or connected. */ - public static IRemoteFileSubSystem getConnectedFileSubSystem(String hostNameOrAddr, IProgressMonitor monitor) throws CoreException + public static IRemoteFileSubSystem getConnectedFileSubSystem(String hostNameOrAddr, String aliasName, IProgressMonitor monitor) throws CoreException { - IHost con = RSEFileStoreImpl.getConnectionFor(hostNameOrAddr, monitor); + IHost con = RSEFileStoreImpl.getConnectionFor(hostNameOrAddr, aliasName, monitor); if (con == null) { throw new CoreException(new Status(IStatus.ERROR, Activator.getDefault().getBundle().getSymbolicName(), @@ -252,6 +293,9 @@ if (monitor==null) monitor=new NullProgressMonitor(); subSys.connect(monitor, false); } + catch (OperationCanceledException e) { + throw e; + } catch (Exception e) { throw new CoreException(new Status(IStatus.ERROR, Activator.getDefault().getBundle().getSymbolicName(), @@ -290,7 +334,7 @@ private IRemoteFile getRemoteFileObject(IProgressMonitor monitor, boolean forceExists) throws CoreException { IRemoteFile remoteFile = getCachedRemoteFile(); if (remoteFile!=null) { - if (remoteFile.getParentRemoteFileSubSystem().isConnected()) { + if (remoteFile.getParentRemoteFileSubSystem().isConnected() && remoteFile.exists()) { return remoteFile; } else { //need to re-initialize cache @@ -315,7 +359,10 @@ } } else { //Handle was created with an absolute name - IRemoteFileSubSystem subSys = RSEFileStoreImpl.getConnectedFileSubSystem(_store.getHost(), monitor); + String aliasName = _store.getAlias(); + String hostName = _store.getHost(); + IRemoteFileSubSystem subSys = RSEFileStoreImpl.getConnectedFileSubSystem(hostName, aliasName, monitor); + try { remoteFile = subSys.getRemoteFileObject(_store.getAbsolutePath(), monitor); } @@ -490,27 +537,41 @@ * @see org.eclipse.core.filesystem.IFileStore#fetchInfo(int, org.eclipse.core.runtime.IProgressMonitor) */ public IFileInfo fetchInfo(int options, IProgressMonitor monitor) throws CoreException { - // clear cache in order to query latest info - cacheRemoteFile(null); + long curTime = System.currentTimeMillis(); + + + // don't clear cache when there are several successive queries in a short time-span + if (_lastFetch == 0 || ((curTime - _lastFetch) > _fetchWaitThreshold)){ + // clear cache in order to query latest info + cacheRemoteFile(null); + _lastFetch = curTime; + } + // connect if needed. Will throw exception if not successful. IRemoteFile remoteFile = getRemoteFileObject(monitor, false); String classification = (remoteFile==null) ? null : remoteFile.getClassification(); FileInfo info = new FileInfo(_store.getName()); - if (remoteFile == null || !remoteFile.exists()) { + if (remoteFile == null) { info.setExists(false); + return info; + } + if (classification!=null && classification.startsWith("broken symbolic link")) { //$NON-NLS-1$ //broken symbolic link handling - if (classification!=null && classification.startsWith("broken symbolic link")) { //$NON-NLS-1$ - info.setAttribute(EFS.ATTRIBUTE_SYMLINK, true); - int i1 = classification.indexOf('\''); - if (i1>0) { - int i2 = classification.indexOf('´'); - if (i2>i1) { - info.setStringAttribute(EFS.ATTRIBUTE_LINK_TARGET, classification.substring(i1+1,i2)); - } + info.setExists(false); + info.setLastModified(remoteFile.getLastModified()); + info.setAttribute(EFS.ATTRIBUTE_SYMLINK, true); + int i1 = classification.indexOf('`'); + if (i1>0) { + int i2 = classification.indexOf('\''); + if (i2>i1) { + info.setStringAttribute(EFS.ATTRIBUTE_LINK_TARGET, classification.substring(i1+1,i2)); } } return info; + } else if (!remoteFile.exists()) { + info.setExists(false); + return info; } info.setExists(true); @@ -616,6 +677,7 @@ if (remoteFile.isFile()) { try { + cacheRemoteFile(null); return subSys.getInputStream(remoteFile.getParentPath(), remoteFile.getName(), true, monitor); } catch (SystemMessageException e) { @@ -702,7 +764,14 @@ } } - if (remoteFile.isFile()) { + if (remoteFile.isDirectory()) { + throw new CoreException(new Status(IStatus.ERROR, + Activator.getDefault().getBundle().getSymbolicName(), + EFS.ERROR_WRONG_TYPE, + Messages.CANNOT_OPEN_STREAM_ON_FOLDER, null)); + } else { + //bug 314433: try opening the Stream even for non-existing items or symlinks + //since returning null violates the API contract - better throw an Exception. try { // Convert from EFS option constants to IFileService option constants if ((options & EFS.APPEND) != 0) { @@ -710,21 +779,18 @@ } else { options = IFileService.NONE; } + cacheRemoteFile(null); return subSys.getOutputStream(remoteFile.getParentPath(), remoteFile.getName(), options, monitor); } catch (SystemMessageException e) { rethrowCoreException(e, EFS.ERROR_WRITE); } } - else if (remoteFile.isDirectory()) { - throw new CoreException(new Status(IStatus.ERROR, - Activator.getDefault().getBundle().getSymbolicName(), - EFS.ERROR_WRONG_TYPE, - Messages.CANNOT_OPEN_STREAM_ON_FOLDER, null)); - } - //Fallback: No file, no folder? - //TODO check what to do for symbolic links and other strange stuff - return null; + //file does not exist, apparently + //TODO use Java MessageFormat for embedding filename in message + throw new CoreException(new Status(IStatus.ERROR, Activator.getDefault().getBundle().getSymbolicName(), + // EFS.ERROR_NOT_EXISTS, + EFS.ERROR_WRITE, Messages.FILE_STORE_DOES_NOT_EXIST + ": " + toString(), null)); //$NON-NLS-1$ } /* diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileSystem.java eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileSystem.java 2007-08-10 15:18:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RSEFileSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,6 +19,7 @@ * - Also remove unnecessary class RSEFileCache and obsolete branding files. * Martin Oberhuber (Wind River) - [188360] renamed from plugin org.eclipse.rse.eclipse.filesystem * Martin Oberhuber (Wind River) - [199587] return attributes of RSEFileSystem + * David McKnight (IBM) - [287185] EFS provider should interpret the URL host component as RSE connection name rather than a hostname ********************************************************************************/ package org.eclipse.rse.internal.efs; @@ -108,4 +109,25 @@ throw new RuntimeException(e); } } + + /** + * Return an URI uniquely naming an RSE remote resource. + * @param hostNameOrAddr host name or IP address of remote system + * @param absolutePath absolute path to resource as valid on the remote system + * @param alias the alias name for the connection + * @return an URI uniquely naming the remote resource. + */ + public static URI getURIFor(String hostNameOrAddr, String absolutePath, String alias) { + //FIXME backslashes are valid in UNIX file names. This is not correctly handled yet. + if (absolutePath.charAt(0) != '/') { + absolutePath = "/" + absolutePath.replace('\\', '/'); //$NON-NLS-1$ + } + try { + return new URI("rse", hostNameOrAddr, absolutePath, alias, null); //$NON-NLS-1$ + } + catch (URISyntaxException e) + { + throw new RuntimeException(e); + } + } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RemoteEditorManager.java eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RemoteEditorManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RemoteEditorManager.java 2009-05-13 21:05:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs/src/org/eclipse/rse/internal/efs/RemoteEditorManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2009 IBM Corporation. All rights reserved. + * Copyright (c) 2012 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,6 +11,8 @@ * Contributors: * Mike Kucera (IBM) - [241316] [efs] Cannot restore editors for RSE/EFS-backed resources * David McKnight (IBM) - [241316] [efs] Cannot restore editors for RSE/EFS-backed resources + * David McKnight (IBM) - [291738] [efs] repeated queries to RSEFileStoreImpl.fetchInfo() in short time-span should be reduced + * David McKnight (IBM) - [380025] [efs] shutdown in certain product shell sharing environments can result in NPE ********************************************************************************/ package org.eclipse.rse.internal.efs; @@ -204,9 +206,11 @@ if (input instanceof FileEditorInput){ IFile file = ((FileEditorInput)input).getFile(); URI uri = file.getLocationURI(); - if ("rse".equals(uri.getScheme())) { //$NON-NLS-1$ - IEditorPart editor = editorReference.getEditor(false); - callback.apply(page, editor, file); + if (uri != null && uri.getScheme() != null){ + if ("rse".equals(uri.getScheme())) { //$NON-NLS-1$ + IEditorPart editor = editorReference.getEditor(false); + callback.apply(page, editor, file); + } } } } catch (PartInitException e){ @@ -223,35 +227,45 @@ */ public boolean closeRemoteEditors() { boolean result = true; - IWorkbench wb = PlatformUI.getWorkbench(); - IWorkbenchWindow[] windows = wb.getWorkbenchWindows(); - for (int w = 0; w < windows.length; w++){ - IWorkbenchWindow win = windows[w]; - IWorkbenchPage[] pages = win.getPages(); - for (int p = 0; p < pages.length && result; p++){ - IWorkbenchPage page = pages[p]; - IEditorReference[] activeReferences = page.getEditorReferences(); - for (int er = 0; er < activeReferences.length; er++){ - IEditorReference editorReference = activeReferences[er]; - - try { - IEditorInput input = editorReference.getEditorInput(); - if (input instanceof FileEditorInput){ - IFile file = ((FileEditorInput)input).getFile(); - URI uri = file.getLocationURI(); - if ("rse".equals(uri.getScheme())) { //$NON-NLS-1$ - IEditorPart editor = editorReference.getEditor(false); - - // close the editor - result = page.closeEditor(editor, true); + try { + IWorkbench wb = PlatformUI.getWorkbench(); + if (wb != null){ + IWorkbenchWindow[] windows = wb.getWorkbenchWindows(); + if (windows != null){ + for (int w = 0; w < windows.length; w++){ + IWorkbenchWindow win = windows[w]; + IWorkbenchPage[] pages = win.getPages(); + if (pages != null){ + for (int p = 0; p < pages.length && result; p++){ + IWorkbenchPage page = pages[p]; + IEditorReference[] activeReferences = page.getEditorReferences(); + for (int er = 0; er < activeReferences.length; er++){ + IEditorReference editorReference = activeReferences[er]; + + try { + IEditorInput input = editorReference.getEditorInput(); + if (input instanceof FileEditorInput){ + IFile file = ((FileEditorInput)input).getFile(); + URI uri = file.getLocationURI(); + if ("rse".equals(uri.getScheme())) { //$NON-NLS-1$ + IEditorPart editor = editorReference.getEditor(false); + + // close the editor + result = page.closeEditor(editor, true); + } + } + } catch (PartInitException e){ + e.printStackTrace(); + } + } } } - } catch (PartInitException e){ - e.printStackTrace(); } } } } + catch (Exception e){ + } return result; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/.cvsignore 2007-05-25 17:19:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/META-INF/MANIFEST.MF 2009-07-30 16:02:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.efs.ui;singleton:=true -Bundle-Version: 2.1.101.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/plugin.properties 2009-05-14 05:08:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Eclipse Filesystem (EFS) Provider UI Support -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project createRemoteProject.label = Create Remote Project createRemoteProject.tooltip = Create a remote project using this folder diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.efs.ui + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/CreateRemoteProjectActionDelegate.java eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/CreateRemoteProjectActionDelegate.java --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/CreateRemoteProjectActionDelegate.java 2008-05-22 13:24:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/CreateRemoteProjectActionDelegate.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -24,6 +24,7 @@ * Remy Chi Jian Suen (IBM) - [192906][efs] No Error when trying to Create Remote Project when project with name exists * Martin Oberhuber (Wind River) - [182350] Support creating remote project on Windows Drive * Remy Chi Jian Suen (IBM) - [202098][efs][nls] Improve error message when creating a remote project with existing name + * David McKnight (IBM) - [287185] EFS provider should interpret the URL host component as RSE connection name rather than a hostname ********************************************************************************/ package org.eclipse.rse.internal.efs.ui; @@ -50,6 +51,7 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.osgi.util.NLS; +import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.internal.efs.Activator; import org.eclipse.rse.internal.efs.RSEFileSystem; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; @@ -195,9 +197,11 @@ } IProjectDescription description = root.getWorkspace().newProjectDescription(projectName); - String hostNameOrAddr = directory.getParentRemoteFileSubSystem().getHost().getHostName(); + IHost host = directory.getParentRemoteFileSubSystem().getHost(); + String hostNameOrAddr = host.getHostName(); + String hostAliasName = host.getAliasName(); String absolutePath = directory.getAbsolutePath(); - URI location = RSEFileSystem.getURIFor(hostNameOrAddr, absolutePath); + URI location = RSEFileSystem.getURIFor(hostNameOrAddr, absolutePath, hostAliasName); description.setLocationURI(location); editProject.create(description, monitor); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/RSEFileSystemContributor.java eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/RSEFileSystemContributor.java --- eclipse-rse-3.1.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/RSEFileSystemContributor.java 2009-06-30 16:28:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.efs.ui/src/org/eclipse/rse/internal/efs/ui/RSEFileSystemContributor.java 2013-02-12 20:26:45.000000000 +0000 @@ -20,6 +20,7 @@ * Martin Oberhuber (Wind River) - [189441] fix EFS operations on Windows (Local) systems * David Dykstal (IBM) - [235840] externalizing dialog title * David McKnight (IBM) - [280763] [efs] Cannot pick a file when linking a resource (only folders) + * David McKnight (IBM) - [287185] EFS provider should interpret the URL host component as RSE connection name rather than a hostname ********************************************************************************/ @@ -55,7 +56,7 @@ try { URI uri = new URI(initialPath); - IHost host = RSEFileStoreImpl.getConnectionFor(uri.getHost(), null); + IHost host = RSEFileStoreImpl.getConnectionFor(uri.getHost(), uri.getQuery(), new NullProgressMonitor()); IRemoteFileSubSystem fs = RSEFileStoreImpl.getRemoteFileSubSystem(host); dlg.setInputObject(fs.getRemoteFileObject(uri.getPath(), new NullProgressMonitor())); } @@ -81,6 +82,7 @@ IHost host = dlg.getSelectedConnection(); String hostName = host.getHostName(); + String aliasName = host.getAliasName(); IRemoteFile file = (IRemoteFile)selected; String path = file.getAbsolutePath(); @@ -89,7 +91,7 @@ } path = fixPathForURI(path); try { - return new URI("rse", hostName, path, null); //$NON-NLS-1$ + return new URI("rse", hostName, path, aliasName, null); //$NON-NLS-1$ } catch (URISyntaxException e) { SystemMessageDialog.displayErrorMessage(SystemMessageDialog.getDefaultShell(), e.getLocalizedMessage()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/feature.properties 2009-05-27 22:32:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,14 +18,14 @@ featureName=Remote System Explorer Examples # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -47,8 +47,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -56,42 +56,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -100,47 +96,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/feature.xml 2009-05-14 08:15:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -30,8 +30,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/license.html 2007-06-04 16:09:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.examples + 3.1.300-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:12:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.properties 2009-05-27 22:44:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2006, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/build.properties 2009-05-27 15:15:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 08:15:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=Remote System Explorer Examples Source -providerName=Eclipse.org - DSDP \ No newline at end of file +providerName=Eclipse TM Project \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/.cvsignore 2006-05-30 19:41:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/META-INF/MANIFEST.MF 2009-04-30 14:52:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.examples.daytime;singleton:=true -Bundle-Version: 2.2.0.qualifier +Bundle-Version: 2.2.300.qualifier Bundle-Activator: org.eclipse.rse.examples.daytime.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/plugin.properties 2009-05-27 15:14:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,7 +10,7 @@ ################################################################################ pluginName = RSE Daytime -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project DaytimeSystemLabel=Daytime DaytimeSystemDescription=Daytime System Type diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples.daytime/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.daytime/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.examples.daytime + 2.2.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.classpath eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.classpath 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.classpath 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,8 @@ + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.project eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.project --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + org.eclipse.rse.examples.dstore + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/.settings/org.eclipse.jdt.core.prefs 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,12 @@ +#Mon Mar 16 11:50:09 EDT 2009 +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Dstore Plug-in +Bundle-SymbolicName: org.eclipse.rse.examples.dstore;singleton:=true +Bundle-Version: 1.0.0 +Bundle-Activator: org.eclipse.rse.examples.dstore.Activator +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.rse.core;bundle-version="3.1.0", + org.eclipse.dstore.core;bundle-version="3.1.0", + org.eclipse.dstore.extra;bundle-version="2.1.100", + org.eclipse.rse.services.dstore;bundle-version="3.0.100", + org.eclipse.rse.services;bundle-version="3.1.0", + org.eclipse.rse.ui;bundle-version="3.1.0", + org.eclipse.rse.connectorservice.dstore;bundle-version="3.0.1", + org.eclipse.swt;bundle-version="3.4.0", + org.eclipse.jface;bundle-version="3.4.0", + org.eclipse.ui.views;bundle-version="3.3.0", + org.eclipse.ui;bundle-version="3.4.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/build.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,8 @@ +source.. = src/,\ + miners/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + icons/ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/icons/full/obj16/samplesubsystem_obj.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/icons/full/obj16/samplesubsystem_obj.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/icons/full/obj16/samplesubsystemlive_obj.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/icons/full/obj16/samplesubsystemlive_obj.gif differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/miners/org/eclipse/rse/examples/dstore/miners/SampleMiner.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/miners/org/eclipse/rse/examples/dstore/miners/SampleMiner.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/miners/org/eclipse/rse/examples/dstore/miners/SampleMiner.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/miners/org/eclipse/rse/examples/dstore/miners/SampleMiner.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,123 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.miners; + +import org.eclipse.dstore.core.miners.Miner; +import org.eclipse.dstore.core.model.DE; +import org.eclipse.dstore.core.model.DataElement; +import org.eclipse.dstore.core.model.DataStoreResources; + +public class SampleMiner extends Miner { + + public String getVersion() { + return "1.0.0"; + } + + + protected void load() { + + } + + public DataElement handleCommand(DataElement theElement) throws Exception { + String name = getCommandName(theElement); + DataElement status = getCommandStatus(theElement); + DataElement subject = getCommandArgument(theElement, 0); + + if (name.equals("C_SAMPLE_QUERY")){ //$NON-NLS-1$ + return handleSampleQuery(subject, status); + } + else if (name.equals("C_SAMPLE_ACTION")){//$NON-NLS-1$ + return handleSampleAction(subject, status); + } + else if (name.equals("C_RENAME")){ + return handleRename(subject, getCommandArgument(theElement, 1), status); + } + else if (name.equals("C_DELETE")){ + return handleDelete(subject, status); + } + else if (name.equals("C_CREATE_SAMPLE_OBJECT")){ + return handleCreateSampleObject(subject, status); + } + else if (name.equals("C_CREATE_SAMPLE_CONTAINER")){ + return handleCreateSampleContainer(subject, status); + } + return status; + } + + public void extendSchema(DataElement schemaRoot) { + + DataElement sampleContainer = _dataStore.createObjectDescriptor(schemaRoot, "Sample Container"); //$NON-NLS-1$ + DataElement sampleObject = _dataStore.createObjectDescriptor(schemaRoot, "Sample Object"); //$NON-NLS-1$ + _dataStore.createReference(sampleObject, sampleContainer, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); + + createCommandDescriptor(sampleContainer, "Query", "C_SAMPLE_QUERY", false); //$NON-NLS-1$ //$NON-NLS-2$ + createCommandDescriptor(sampleObject, "Do Something", "C_SAMPLE_ACTION", false); //$NON-NLS-1$ //$NON-NLS-2$ + createCommandDescriptor(sampleObject, "Rename", "C_RENAME", false); //$NON-NLS-1$ //$NON-NLS-2$ + createCommandDescriptor(sampleObject, "Delete", "C_DELETE", false); //$NON-NLS-1$ //$NON-NLS-2$ + createCommandDescriptor(sampleObject, "Create Object", "C_CREATE_SAMPLE_OBJECT", false); + createCommandDescriptor(sampleObject, "Create Container", "C_CREATE_SAMPLE_CONTAINER", false); + + _dataStore.refresh(schemaRoot); + } + + private DataElement handleSampleQuery(DataElement parent, DataElement status){ + String value = parent.getValue(); + if (!value.equals("queried")){ + _dataStore.createObject(parent, "Sample Object", "New Object 1"); //$NON-NLS-1$ //$NON-NLS-2$ + _dataStore.createObject(parent, "Sample Object", "New Object 2"); //$NON-NLS-1$ //$NON-NLS-2$ + _dataStore.createObject(parent, "Sample Container", "New Container 3"); //$NON-NLS-1$ //$NON-NLS-2$ + + parent.setAttribute(DE.A_VALUE, "queried"); + _dataStore.refresh(parent); + } + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } + + private DataElement handleSampleAction(DataElement parent, DataElement status){ + parent.setAttribute(DE.A_NAME, parent.getName() + " - modified"); + _dataStore.refresh(parent.getParent()); + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } + + private DataElement handleRename(DataElement parent, DataElement newName, DataElement status){ + parent.setAttribute(DE.A_NAME, newName.getName()); + _dataStore.refresh(parent.getParent()); + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } + + private DataElement handleDelete(DataElement subject, DataElement status){ + DataElement parent = subject.getParent(); + _dataStore.deleteObject(parent, subject); + _dataStore.refresh(parent); + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } + + private DataElement handleCreateSampleObject(DataElement parent, DataElement status){ + _dataStore.createObject(parent, "Sample Object", "Untitled"); //$NON-NLS-1$ //$NON-NLS-2$ + _dataStore.refresh(parent); + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } + + private DataElement handleCreateSampleContainer(DataElement parent, DataElement status){ + _dataStore.createObject(parent, "Sample Container", "Untitled Container"); //$NON-NLS-1$ //$NON-NLS-2$ + _dataStore.refresh(parent); + status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ + return status; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/plugin.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ +################################################################################ +# Copyright (c) 2009 IBM, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# David McKnight - initial API and implementation +################################################################################ + +pluginName = DataStore Example +providerName = Eclipse.org + +SampleSubsystemName=DStore Sample SubSystem +SampleSubsystemDescription=This subsystem allows the user to remotely query a parent node to return children. + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/plugin.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,33 @@ + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.examples.dstore + 1.0.0 + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/readme.txt eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/readme.txt --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/readme.txt 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/readme.txt 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,32 @@ +Readme for RSE DataStore Example +------------------------------ + +The DataStore Example shows how to use the DataStore communication layer +to interact with an agent on a server machine. This example includes an +RSE service layer, subsystem layer and some UI pieces in order to demonstrate +different types of remote tasks. The example is only meant as an educational + guide to developers that use or extend the DataStore services. + +__Requirements:__ +The DataStore example has been tested with with RSE 3.1 + +__Installation:__ +You need an Eclipse PDE Workspace with RSE. +Then, choose File > Import > Existing Projects > Archive File, +to import the example archive. + +__Server Installation:___ +The DStore Server Runtime needs to be installed on the remote machines +that you wish to connect to. +To enable to server portion of the example: +1) The "miners" source folder needs to be exported to a jar file (i.e. myminer.jar) +2) The exported jar needs to be put in the DStore Server Runtime installation +directory on the server. +3) The server and daemon scripts need to be updated to include this jar in their +respective classpaths. + +__Usage:__ +The dstore service must be enabled on the remote system (see below). The subsystem +configuration for the sample subsystem in this plugin is enabled for Linux and +Unix connections but could be enabled for any other system that supports DStore. + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/Activator.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/Activator.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,62 @@ +package org.eclipse.rse.examples.dstore; + +import org.eclipse.core.runtime.IAdapterManager; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Plugin; +import org.eclipse.rse.examples.dstore.subsystems.RemoteSampleObject; +import org.eclipse.rse.examples.dstore.ui.RemoteSampleObjectAdapterFactory; +import org.eclipse.rse.examples.dstore.ui.SampleSubSystemConfigurationAdapterFactory; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends Plugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.rse.examples.dstore"; + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + + IAdapterManager manager = Platform.getAdapterManager(); + RemoteSampleObjectAdapterFactory factory = new RemoteSampleObjectAdapterFactory(); + manager.registerAdapters(factory, RemoteSampleObject.class); + + SampleSubSystemConfigurationAdapterFactory sscaf = new SampleSubSystemConfigurationAdapterFactory(); + sscaf.registerWithManager(manager); + } + + /* + * (non-Javadoc) + * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleContainer.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleContainer.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleContainer.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleContainer.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,25 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.services; + +import org.eclipse.dstore.core.model.DataElement; + +public class HostSampleContainer extends HostSampleObject implements IHostSampleContainer { + + public HostSampleContainer(DataElement element){ + super(element); + } + + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleObject.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleObject.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleObject.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/HostSampleObject.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,36 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.services; + +import org.eclipse.dstore.core.model.DataElement; + +public class HostSampleObject implements IHostSampleObject { + + private DataElement _element; + public HostSampleObject(DataElement element){ + _element = element; + } + + public DataElement getDataElement() { + return _element; + } + + public String getName(){ + return _element.getName(); + } + + public String getType(){ + return _element.getType(); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleContainer.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleContainer.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleContainer.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleContainer.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,18 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.services; + + +public interface IHostSampleContainer extends IHostSampleObject { +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleObject.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleObject.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleObject.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/IHostSampleObject.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,22 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.services; + +import org.eclipse.dstore.core.model.DataElement; + +public interface IHostSampleObject { + public DataElement getDataElement(); + public String getName(); + public String getType(); +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/SampleService.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/SampleService.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/SampleService.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/services/SampleService.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,105 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.services; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.dstore.core.model.DataElement; +import org.eclipse.dstore.core.model.IDataStoreProvider; +import org.eclipse.rse.services.dstore.AbstractDStoreService; + +public class SampleService extends AbstractDStoreService { + + public SampleService(IDataStoreProvider dataStoreProvider) { + super(dataStoreProvider); + } + + @Override + protected String getMinerId() { + return "org.eclipse.rse.examples.dstore.miners.SampleMiner"; + } + + public IHostSampleContainer getContainer(String name, IProgressMonitor monitor){ + if (!isInitialized()) + { + waitForInitialize(monitor); + } + DataElement universalTemp = getMinerElement(); + DataElement containerElement = getDataStore().createObject(universalTemp, "Sample Container", name,"", "", false); //$NON-NLS-1$ + + return new HostSampleContainer(containerElement); + } + + public IHostSampleObject[] query(IHostSampleContainer container, IProgressMonitor monitor){ + if (!isInitialized()) + { + waitForInitialize(monitor); + } + DataElement containerElement = container.getDataElement(); + DataElement[] results = dsQueryCommand(containerElement, "C_SAMPLE_QUERY", monitor); + + List returned = new ArrayList(); + for (int i = 0; i < results.length; i++){ + DataElement result = results[i]; + if (result.isDeleted()){ + // don't add deleted items + } + else if (result.getType().equals("Sample Container")){ + returned.add(new HostSampleContainer(result)); + } + else { + returned.add(new HostSampleObject(result)); + } + } + + return (IHostSampleObject[])returned.toArray(new IHostSampleObject[returned.size()]); + } + + public void doAction(IHostSampleObject object, IProgressMonitor monitor){ + DataElement subject = object.getDataElement(); + dsStatusCommand(subject, "C_SAMPLE_ACTION", monitor); + } + + public void createSampleObject(IHostSampleObject object, IProgressMonitor monitor){ + DataElement subject = object.getDataElement(); + dsStatusCommand(subject, "C_CREATE_SAMPLE_OBJECT", monitor); + } + + public void createSampleContainer(IHostSampleObject object, IProgressMonitor monitor){ + DataElement subject = object.getDataElement(); + dsStatusCommand(subject, "C_CREATE_SAMPLE_CONTAINER", monitor); + } + + + public boolean rename(IHostSampleObject object, String newName, IProgressMonitor monitor){ + DataElement subject = object.getDataElement(); + + ArrayList args = new ArrayList(); + DataElement newNameArg = getDataStore().createObject(null, "Name", newName); + args.add(newNameArg); + + dsStatusCommand(subject, args, "C_RENAME", monitor); + return true; + } + + public boolean delete(IHostSampleObject object, IProgressMonitor monitor){ + DataElement subject = object.getDataElement(); + + dsStatusCommand(subject, "C_DELETE", monitor); + + return true; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/RemoteSampleObject.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/RemoteSampleObject.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/RemoteSampleObject.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/RemoteSampleObject.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,70 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.subsystems; + +import org.eclipse.rse.core.subsystems.AbstractResource; +import org.eclipse.rse.examples.dstore.services.IHostSampleContainer; +import org.eclipse.rse.examples.dstore.services.IHostSampleObject; + +public class RemoteSampleObject extends AbstractResource { + protected IHostSampleObject _hostObject; + private RemoteSampleObject[] _contents; + private RemoteSampleObject _parent; + + public RemoteSampleObject(RemoteSampleObject parent, IHostSampleObject hostObject, SampleSubSystem ss){ + _hostObject = hostObject; + _parent = parent; + setSubSystem(ss); + } + + public IHostSampleObject getHostSampleObject(){ + return _hostObject; + } + + public boolean isContainer(){ + if (_hostObject instanceof IHostSampleContainer){ + return true; + } + return false; + } + + public String getName(){ + return _hostObject.getName(); + } + + public String getType(){ + return _hostObject.getType(); + } + + public RemoteSampleObject getParent(){ + return _parent; + } + + public String getAbsolutePath(){ + if (_parent != null){ + return _parent.getAbsolutePath() + "." + getName(); + } + else { + return getName(); + } + } + + public void setContents(RemoteSampleObject[] contents){ + _contents = contents; + } + + public RemoteSampleObject[] getContents(){ + return _contents; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleRootResource.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleRootResource.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleRootResource.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleRootResource.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,55 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.subsystems; + +import org.eclipse.rse.examples.dstore.services.IHostSampleObject; + + + +public class SampleRootResource extends RemoteSampleObject { + + public SampleRootResource(SampleSubSystem ss) { + super(null, null, ss); + } + + public boolean isContainer(){ + return true; + } + + public String getName(){ + return "Root"; + } + + + + public String getType(){ + return "Root"; + } + + public RemoteSampleObject getParent(){ + return null; + } + + public String getAbsolutePath(){ + return getName(); + } + + public IHostSampleObject getHostSampleObject(){ + return _hostObject; + } + + public void setHostSampleObject(IHostSampleObject hostObject){ + _hostObject = hostObject; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystem.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,128 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.subsystems; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.subsystems.IConnectorService; +import org.eclipse.rse.core.subsystems.SubSystem; +import org.eclipse.rse.examples.dstore.services.IHostSampleContainer; +import org.eclipse.rse.examples.dstore.services.IHostSampleObject; +import org.eclipse.rse.examples.dstore.services.SampleService; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; + +public class SampleSubSystem extends SubSystem { + + private SampleService _sampleService; + private SampleRootResource _root; + + protected SampleSubSystem(IHost host, IConnectorService connectorService, SampleService sampleService) { + super(host, connectorService); + _sampleService = sampleService; + } + + public boolean hasChildren() { + return true; + } + + public Object[] getChildren() { + if (_root == null){ + _root = new SampleRootResource(this); + } + return new Object[] {_root}; + } + + public Object[] list(RemoteSampleObject containerObj, IProgressMonitor monitor){ + try { + checkIsConnected(monitor); + } + catch (Exception e){ + e.printStackTrace(); + } + + RemoteSampleObject[] contents = containerObj.getContents(); + if (contents == null){ + IHostSampleContainer container = (IHostSampleContainer)containerObj.getHostSampleObject(); + if (container == null && containerObj instanceof SampleRootResource){ + container = getSampleService().getContainer(containerObj.getName(), monitor); + ((SampleRootResource)containerObj).setHostSampleObject(container); + } + IHostSampleObject[] hostResults = getSampleService().query(container, monitor); + + contents = new RemoteSampleObject[hostResults.length]; + for (int i = 0; i < hostResults.length; i++){ + IHostSampleObject hobj = hostResults[i]; + contents[i] = new RemoteSampleObject(containerObj, hobj, this); + } + containerObj.setContents(contents); + } + + return contents; + } + + public void doRemoteAction(RemoteSampleObject object, IProgressMonitor monitor){ + IHostSampleObject hostObject = object.getHostSampleObject(); + getSampleService().doAction(hostObject, monitor); + } + + + public void createSampleContainer(RemoteSampleObject parentObject, IProgressMonitor monitor){ + parentObject.setContents(null); // clear contents so that fresh contents arrive after refresh + IHostSampleObject hostObject = parentObject.getHostSampleObject(); + getSampleService().createSampleContainer(hostObject, monitor); + } + + public void createSampleObject(RemoteSampleObject parentObject, IProgressMonitor monitor){ + parentObject.setContents(null); // clear contents so that fresh contents arrive after refresh + IHostSampleObject hostObject = parentObject.getHostSampleObject(); + getSampleService().createSampleObject(hostObject, monitor); + } + + public boolean rename(RemoteSampleObject object, String newName, IProgressMonitor monitor){ + IHostSampleObject hostObject = object.getHostSampleObject(); + return getSampleService().rename(hostObject, newName, monitor); + } + + public boolean delete(RemoteSampleObject object, IProgressMonitor monitor){ + object.getParent().setContents(null); // clear contents so that fresh contents arrive after refresh + IHostSampleObject hostObject = object.getHostSampleObject(); + return getSampleService().delete(hostObject, monitor); + } + + protected SampleService getSampleService(){ + return _sampleService; + } + + @Override + public void initializeSubSystem(IProgressMonitor monitor) throws SystemMessageException{ + super.initializeSubSystem(monitor); + + getSampleService().initService(monitor); + } + + @Override + public void uninitializeSubSystem(IProgressMonitor monitor) { + if (_root != null){ + _root.setHostSampleObject(null); + _root.setContents(null); + } + + getSampleService().uninitService(monitor); + super.uninitializeSubSystem(monitor); + } + + + + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystemConfiguration.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/subsystems/SampleSubSystemConfiguration.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,63 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.subsystems; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.rse.connectorservice.dstore.DStoreConnectorService; +import org.eclipse.rse.connectorservice.dstore.DStoreConnectorServiceManager; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.subsystems.IConnectorService; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.core.subsystems.SubSystemConfiguration; +import org.eclipse.rse.examples.dstore.services.SampleService; +import org.eclipse.rse.services.dstore.IDStoreService; + +public class SampleSubSystemConfiguration extends SubSystemConfiguration { + + + protected Map _services = new HashMap(); + + public ISubSystem createSubSystemInternal(IHost conn) { + + return new SampleSubSystem(conn, getConnectorService(conn), getSampleService(conn)); + } + + public IConnectorService getConnectorService(IHost host) { + return DStoreConnectorServiceManager.getInstance().getConnectorService(host, getServiceImplType()); + } + + public SampleService getSampleService(IHost host) { + SampleService service = (SampleService)_services.get(host); + if (service == null) + { + DStoreConnectorService connectorService = (DStoreConnectorService)getConnectorService(host); + service = new SampleService(connectorService); + _services.put(host, service); + } + return service; + } + + public boolean supportsFilters() { + return false; + } + + public Class getServiceImplType(){ + return IDStoreService.class; + } + + + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/RemoteSampleObjectAdapterFactory.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/RemoteSampleObjectAdapterFactory.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/RemoteSampleObjectAdapterFactory.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/RemoteSampleObjectAdapterFactory.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,55 @@ +/******************************************************************************** + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight, Kushal Munir, + * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, + * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. + * + * Contributors: + * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. + ********************************************************************************/ + +package org.eclipse.rse.examples.dstore.ui; + +import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.rse.examples.dstore.subsystems.RemoteSampleObject; +import org.eclipse.rse.ui.view.AbstractSystemRemoteAdapterFactory; +import org.eclipse.rse.ui.view.ISystemViewElementAdapter; +import org.eclipse.ui.views.properties.IPropertySource; + +/** + * This factory maps requests for an adapter object from a given remote object. + */ +public class RemoteSampleObjectAdapterFactory extends AbstractSystemRemoteAdapterFactory + implements IAdapterFactory +{ + + private SampleAdapter sampleAdapter = new SampleAdapter(); + + + /** + * Constructor for DeveloperAdapterFactory. + */ + public RemoteSampleObjectAdapterFactory() { + super(); + } + + /* (non-Javadoc) + * @see org.eclipse.rse.ui.view.AbstractSystemRemoteAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) + */ + public Object getAdapter(Object adaptableObject, Class adapterType) { + ISystemViewElementAdapter adapter = null; + if (adaptableObject instanceof RemoteSampleObject) + adapter = sampleAdapter; + // these lines are very important! + if ((adapter != null) && (adapterType == IPropertySource.class)) + adapter.setPropertySourceInput(adaptableObject); + return adapter; + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleAdapter.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,248 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.ui; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.examples.dstore.subsystems.RemoteSampleObject; +import org.eclipse.rse.examples.dstore.subsystems.SampleRootResource; +import org.eclipse.rse.examples.dstore.subsystems.SampleSubSystem; +import org.eclipse.rse.examples.dstore.ui.actions.NewSampleObjectAction; +import org.eclipse.rse.examples.dstore.ui.actions.SampleAction; +import org.eclipse.rse.ui.ISystemContextMenuConstants; +import org.eclipse.rse.ui.SystemMenuManager; +import org.eclipse.rse.ui.view.AbstractSystemViewAdapter; +import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.views.properties.IPropertyDescriptor; + +public class SampleAdapter extends AbstractSystemViewAdapter implements + ISystemRemoteElementAdapter { + + private SampleAction _sampleAction; + private NewSampleObjectAction _newSampleObjectAction; + private NewSampleObjectAction _newSampleContainerAction; + + @Override + public Object[] getChildren(IAdaptable element, IProgressMonitor monitor) { + RemoteSampleObject object = getSampleObject(element); + if (object != null){ + if (object.isContainer()){ + SampleSubSystem ss = (SampleSubSystem)object.getSubSystem(); + return ss.list(object, monitor); + } + } + return null; + } + + + @Override + public Object getParent(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getParent(); + } + return null; + } + + @Override + public String getType(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getType(); + } + return null; + } + + @Override + public boolean hasChildren(IAdaptable element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.isContainer(); + } + return false; + } + + @Override + protected Object internalGetPropertyValue(Object key) { + // TODO Auto-generated method stub + return null; + } + + public String getAbsoluteParentName(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getParent().getAbsolutePath(); + } + return null; + } + + public Object getRemoteParent(Object element, IProgressMonitor monitor) + throws Exception { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getParent(); + } + return null; + } + + public String[] getRemoteParentNamesInUse(Object element, + IProgressMonitor monitor) throws Exception { + // TODO Auto-generated method stub + return null; + } + + public boolean refreshRemoteObject(Object oldElement, Object newElement) { + // TODO Auto-generated method stub + return false; + } + + public String getRemoteSubType(Object element) { + // TODO Auto-generated method stub + return null; + } + + public String getRemoteType(Object element) { + // TODO Auto-generated method stub + return null; + } + + public String getRemoteTypeCategory(Object element) { + // TODO Auto-generated method stub + return null; + } + + public String getSubSystemConfigurationId(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getSubSystem().getSubSystemConfiguration().getId(); + } + return null; + } + + public String getText(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getName(); + } + return null; + } + + public String getAbsoluteName(Object element) { + + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + return obj.getAbsolutePath(); + } + return null; + } + + @Override + public void addActions(SystemMenuManager menu, + IStructuredSelection selection, Shell parent, String menuGroup) { + Object firstSelection = selection.getFirstElement(); + if (firstSelection instanceof RemoteSampleObject){ + if (!(firstSelection instanceof SampleRootResource)){ + if (_sampleAction == null){ + _sampleAction = new SampleAction(parent); + } + menu.add(ISystemContextMenuConstants.GROUP_CHANGE, _sampleAction); + } + + if (_newSampleObjectAction == null){ + _newSampleObjectAction = new NewSampleObjectAction(shell, false); + } + if (_newSampleContainerAction == null){ + _newSampleContainerAction = new NewSampleObjectAction(shell, true); + } + + if (((RemoteSampleObject)firstSelection).isContainer()){ + menu.add(ISystemContextMenuConstants.GROUP_NEW, _newSampleObjectAction); + menu.add(ISystemContextMenuConstants.GROUP_NEW, _newSampleContainerAction); + } + } + } + + private RemoteSampleObject getSampleObject(Object element){ + if (element instanceof RemoteSampleObject){ + return (RemoteSampleObject)element; + } + return null; + } + + @Override + public ImageDescriptor getImageDescriptor(Object element) { + RemoteSampleObject obj = getSampleObject(element); + if (obj != null){ + if (obj.isContainer()){ + return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER); + } + else { + return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_ELEMENT); + } + } + return null; + } + + @Override + protected IPropertyDescriptor[] internalGetPropertyDescriptors() { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean canRename(Object element) { + if (element instanceof SampleRootResource){ + return false; + } + return true; + } + + @Override + public boolean doRename(Shell shell, Object element, String name, + IProgressMonitor monitor) throws Exception { + SampleSubSystem ss = (SampleSubSystem)getSubSystem(element); + return ss.rename((RemoteSampleObject)element, name, monitor); + } + + @Override + public boolean canDelete(Object element) { + if (element instanceof SampleRootResource){ + return false; + } + return true; + } + + @Override + public boolean doDelete(Shell shell, Object element, + IProgressMonitor monitor) throws Exception { + SampleSubSystem ss = (SampleSubSystem)getSubSystem(element); + boolean result = ss.delete((RemoteSampleObject)element, monitor); + if (result){ + ss.list(((RemoteSampleObject)element).getParent(), monitor); + } + return result; + } + + @Override + public boolean supportsDeferredQueries(ISubSystem subSys) { + return true; + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapter.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,21 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.ui; + +import org.eclipse.rse.ui.view.SubSystemConfigurationAdapter; + +public class SampleSubSystemConfigurationAdapter extends + SubSystemConfigurationAdapter { + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapterFactory.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapterFactory.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapterFactory.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/SampleSubSystemConfigurationAdapterFactory.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,64 @@ +/******************************************************************************** + * Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight, Kushal Munir, + * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, + * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. + * + * Contributors: + * Martin Oberhuber (Wind River) - Adapted original tutorial code to Open RSE. + * Martin Oberhuber (Wind River) - [186748] Move ISubSystemConfigurationAdapter from UI/rse.core.subsystems.util + ********************************************************************************/ + +package org.eclipse.rse.examples.dstore.ui; + +import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.core.runtime.IAdapterManager; +import org.eclipse.rse.examples.dstore.subsystems.SampleSubSystemConfiguration; +import org.eclipse.rse.ui.subsystems.ISubSystemConfigurationAdapter; + +/** + * @see IAdapterFactory + */ +public class SampleSubSystemConfigurationAdapterFactory implements + IAdapterFactory { + + private ISubSystemConfigurationAdapter ssConfigAdapter = new SampleSubSystemConfigurationAdapter(); + + /** + * @see IAdapterFactory#getAdapterList() + */ + public Class[] getAdapterList() + { + return new Class[] {ISubSystemConfigurationAdapter.class}; + } + + /** + * Called by our plugin's startup method to register our adaptable object types + * with the platform. We prefer to do it here to isolate/encapsulate all factory + * logic in this one place. + * @param manager Platform adapter manager + */ + public void registerWithManager(IAdapterManager manager) + { + manager.registerAdapters(this, SampleSubSystemConfiguration.class); + } + + /** + * @see IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) + */ + public Object getAdapter(Object adaptableObject, Class adapterType) + { + Object adapter = null; + if (adaptableObject instanceof SampleSubSystemConfiguration) + adapter = ssConfigAdapter; + + return adapter; + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/NewSampleObjectAction.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/NewSampleObjectAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/NewSampleObjectAction.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/NewSampleObjectAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,71 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.ui.actions; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.events.ISystemResourceChangeEvents; +import org.eclipse.rse.core.events.SystemResourceChangeEvent; +import org.eclipse.rse.core.model.ISystemRegistry; +import org.eclipse.rse.examples.dstore.subsystems.RemoteSampleObject; +import org.eclipse.rse.examples.dstore.subsystems.SampleSubSystem; +import org.eclipse.rse.ui.actions.SystemBaseAction; +import org.eclipse.swt.widgets.Shell; + +public class NewSampleObjectAction extends SystemBaseAction { + public class NewSampleObjectJob extends Job { + private RemoteSampleObject _selectedObject; + public NewSampleObjectJob(RemoteSampleObject selectedObject){ + super("Create Sample Object"); + _selectedObject = selectedObject; + } + + public IStatus run(IProgressMonitor monitor){ + SampleSubSystem ss = (SampleSubSystem)_selectedObject.getSubSystem(); + + // do remote action + if (_container){ + ss.createSampleContainer(_selectedObject, monitor); + } + else { + ss.createSampleObject(_selectedObject, monitor); + } + + // refresh view + ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry(); + sr.fireEvent(new SystemResourceChangeEvent(_selectedObject, ISystemResourceChangeEvents.EVENT_REFRESH, _selectedObject)); + return Status.OK_STATUS; + } + } + + + private boolean _container; + public NewSampleObjectAction(Shell shell, boolean container) { + super(container? "Sample Container" : "Sample Object", shell); + _container = container; + } + + @Override + public void run() { + + RemoteSampleObject obj = (RemoteSampleObject)getSelection().getFirstElement(); + if (obj != null){ + NewSampleObjectJob job = new NewSampleObjectJob(obj); + job.schedule(); + } + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/SampleAction.java eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/SampleAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/SampleAction.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.dstore/src/org/eclipse/rse/examples/dstore/ui/actions/SampleAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,70 @@ +/******************************************************************************** + * Copyright (c) 2009 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * {Name} (company) - description of contribution. + ********************************************************************************/ +package org.eclipse.rse.examples.dstore.ui.actions; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.events.ISystemResourceChangeEvents; +import org.eclipse.rse.core.events.SystemResourceChangeEvent; +import org.eclipse.rse.core.model.ISystemRegistry; +import org.eclipse.rse.examples.dstore.subsystems.RemoteSampleObject; +import org.eclipse.rse.examples.dstore.subsystems.SampleSubSystem; +import org.eclipse.rse.ui.actions.SystemBaseAction; +import org.eclipse.swt.widgets.Shell; + +public class SampleAction extends SystemBaseAction { + + public class SampleJob extends Job { + private RemoteSampleObject _selectedObject; + public SampleJob(RemoteSampleObject selectedObject){ + super("Sample Job"); + _selectedObject = selectedObject; + } + + public IStatus run(IProgressMonitor monitor){ + SampleSubSystem ss = (SampleSubSystem)_selectedObject.getSubSystem(); + + // do remote action + ss.doRemoteAction(_selectedObject, monitor); + + // refresh view + ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry(); + sr.fireEvent(new SystemResourceChangeEvent(_selectedObject.getParent(), ISystemResourceChangeEvents.EVENT_REFRESH, _selectedObject.getParent())); + return Status.OK_STATUS; + } + } + + + + public SampleAction(Shell shell) { + super("Do Remote Operation", shell); + } + + @Override + public void run() { + + RemoteSampleObject obj = (RemoteSampleObject)getSelection().getFirstElement(); + if (obj != null){ + SampleJob job = new SampleJob(obj); + job.schedule(); + } + } + + + + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/.cvsignore 2006-07-13 08:27:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/META-INF/MANIFEST.MF 2009-04-30 14:52:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.examples.tutorial;singleton:=true -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.1.300.qualifier Bundle-Activator: samples.RSESamplesPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/about.ini eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/about.ini 2009-05-13 22:11:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/about.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/about.properties 2009-05-27 22:43:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2006, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/build.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/build.properties 2009-05-27 15:14:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -20,6 +20,6 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png + tm32.png src.includes = about.html \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/plugin.properties 2009-05-27 15:14:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,4 +10,4 @@ ################################################################################ pluginName = Remote System Explorer Examples -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.examples.tutorial + 3.1.300-SNAPSHOT + eclipse-plugin + Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.examples.tutorial/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.examples.tutorial/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.files.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/.cvsignore 2006-04-10 20:11:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.files.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/META-INF/MANIFEST.MF 2009-07-30 13:35:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.files.ui;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.2.101.qualifier Bundle-Activator: org.eclipse.rse.internal.files.ui.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, @@ -38,4 +38,5 @@ org.eclipse.rse.internal.files.ui.wizards;x-internal:=true Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Import-Package: com.ibm.icu.text +Import-Package: com.ibm.icu.text, + com.ibm.icu.util diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.files.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/plugin.properties 2009-08-06 14:48:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,7 +22,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Files UI -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project PreferencePage.UniversalFiles = Files PreferencePage.Cache = File Cache diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.files.ui/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/plugin.xml 2009-02-01 16:12:41.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -20,6 +20,7 @@ Johnson Ma (Wind River) - [195402] Add tar.gz archive support David McKnight (IBM) - [261019] New File/Folder actions available in Work Offline mode David McKnight (IBM) - [218227][usability] Contribute a "Show in RSE" action to Resource Navigator and Project Explorer +David McKnight (IBM) - [328617] synchronize cache operation should also support individual files --> @@ -448,9 +449,15 @@ + id="org.eclipse.rse.files.ui.actions.synchronizeCache"> - + + + + + + + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.files.ui + 3.2.101-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemEditableRemoteFile.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemEditableRemoteFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemEditableRemoteFile.java 2009-07-23 17:38:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemEditableRemoteFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -38,6 +38,19 @@ * David McKnight (IBM) - [267247] Wrong encoding * David McKnight (IBM) - [272772] Exception handling in SystemEditableRemoteFile * David McKnight (IBM) - [284420] nullprogressmonitor is needed + * David McKnight (IBM) - [310215] SystemEditableRemoteFile.open does not behave as expected + * David McKnight (IBM) - [324519] SystemEditableRemoteFile throws NPE when used in headless mode + * David McKnight (IBM) - [325502] The default editor for a file is not updated when opened in RSE explorer + * David McKnight (IBM) - [334839] File Content Conflict is not handled properly + * David McKnight (IBM) - [249031] Last used editor should be set to SystemEditableRemoteFile + * David McKnight (IBM) - [359704] SystemEditableRemoteFile does not release reference to editor + * Rick Sawyer (IBM) - [376535] RSE does not respect editor overrides + * David McKnight (IBM) - [357111] [DSTORE]File with invalid characters can't be opened in editor + * David McKnight (IBM) - [385420] double-click to open System editor from Remote Systems view not working + * David McKnight (IBM) - [385416] NPE during shutdown with remote editor open + * David McKnight (IBM) - [390609] Cached file opened twice in case of eclipse linked resource.. + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files + * Xuan Chen (IBM) - [399752] Cannot download remote file due to scoping rule *******************************************************************************/ package org.eclipse.rse.files.ui.resources; @@ -64,6 +77,8 @@ import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.IDocument; import org.eclipse.osgi.util.NLS; import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.RSECorePlugin; @@ -75,6 +90,8 @@ import org.eclipse.rse.internal.files.ui.actions.SystemDownloadConflictAction; import org.eclipse.rse.internal.files.ui.resources.SystemFileNameHelper; import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager; +import org.eclipse.rse.internal.subsystems.files.core.model.SystemFileTransferModeMapping; +import org.eclipse.rse.internal.subsystems.files.core.model.SystemFileTransferModeRegistry; import org.eclipse.rse.services.clientserver.SystemEncodingUtil; import org.eclipse.rse.services.clientserver.messages.CommonMessages; import org.eclipse.rse.services.clientserver.messages.ICommonMessageIds; @@ -83,6 +100,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.services.files.RemoteFileIOException; import org.eclipse.rse.subsystems.files.core.SystemIFileProperties; +import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping; import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; @@ -124,6 +142,7 @@ private IEditorPart editor; private IFile localFile; private IWorkbenchPage page; + private boolean _usingDefaultDescriptor = false; /** * Internal class for downloading file @@ -262,17 +281,24 @@ this.root = SystemRemoteEditManager.getInstance().getRemoteEditProjectLocation().makeAbsolute().toOSString(); this.localPath = getDownloadPath(); - // dkm - use registered - String fileName = remoteFile.getName(); - - IEditorRegistry registry = getEditorRegistry(); - - IEditorDescriptor descriptor = registry.getDefaultEditor(fileName); - if (descriptor == null) - { + IFile localResource = getLocalResource(); + + // first look for editor corresponding to this particular file + IEditorDescriptor descriptor = null; + try { + descriptor = IDE.getEditorDescriptor(localResource); + + if (!localResource.exists()){ + _usingDefaultDescriptor = true; + } + } catch (PartInitException e) { + } + + if (descriptor == null){ descriptor = getDefaultTextEditor(); } - this._editorDescriptor = descriptor; + + this._editorDescriptor = descriptor; } protected IEditorRegistry getEditorRegistry() @@ -472,6 +498,7 @@ if (isReadOnly) { setEditorAsReadOnly(); + setFileAsReadOnly(); // added since setEditorAsReadOnly() no longer sets the file properties } else { @@ -504,7 +531,10 @@ listener.addIgnoreFile(localFile); //pmd.run(false, true, downloadFileRunnable); - downloadFileRunnable.setRule(getRemoteFile()); + //Probably in the early day of eclipse, we need to explicitly set those schedule rule. But now, since the change of eclipse scheduling rule, + //those rule settings are not necessary, and will probable also cause problem. + //Removed the explicit rule setting fixed the problem. + //downloadFileRunnable.setRule(getRemoteFile()); downloadFileRunnable.schedule(); Display display = Display.getDefault(); try { @@ -653,9 +683,24 @@ } catch (SystemMessageException e) { - SystemMessageDialog.displayMessage(e); - return false; + if (remoteFile.isText() && specializeFile(true)){ // turn the file into binary type to allow for binary transfer + // try again + try + { + subsystem.download(remoteFile, localPath, remoteFile.getEncoding(), monitor); + } + catch (SystemMessageException ex){ + specializeFile(false); // turn it back to text mode + SystemMessageDialog.displayMessage(e); // throw original exception + return false; + } + } + else { + SystemMessageDialog.displayMessage(e); + return false; + } } + if (monitor.isCanceled()) { return false; @@ -684,6 +729,68 @@ return true; } + private boolean specializeFile(boolean binary){ + String fname = remoteFile.getName(); + int dotIndex = fname.lastIndexOf('.'); + String name = null; + String extension = null; + if (dotIndex > 0){ + name = fname.substring(0, dotIndex); + extension = fname.substring(dotIndex+1); + } + else { + name = fname; + } + + if (name == null){ + return false; + } + + // make this file binary, and try again + SystemFileTransferModeRegistry reg = (SystemFileTransferModeRegistry)RemoteFileUtility.getSystemFileTransferModeRegistry(); + SystemFileTransferModeMapping[] newMappings = null; + ISystemFileTransferModeMapping[] mappings = reg.getModeMappings(); + + SystemFileTransferModeMapping mapping = null; + for (int m = 0; m < mappings.length && mapping == null; m++){ + ISystemFileTransferModeMapping map = mappings[m]; + if (name.equals(map.getName())){ + String ext = map.getExtension(); + if (extension != null && extension.equals(ext)){ + mapping = (SystemFileTransferModeMapping)map; + } + else if (extension == ext){ + mapping = (SystemFileTransferModeMapping)map; + } + } + } + if (mapping != null){ + newMappings = new SystemFileTransferModeMapping[mappings.length]; + for (int i = 0; i < mappings.length; i++) { + newMappings[i] = (SystemFileTransferModeMapping)mappings[i]; + } + } + else { + newMappings = new SystemFileTransferModeMapping[mappings.length + 1]; + int i = 0; + for (; i < mappings.length; i++) { + newMappings[i] = (SystemFileTransferModeMapping)mappings[i]; + } + + newMappings[i] = mapping = new SystemFileTransferModeMapping(name, extension); + } + if (binary){ + mapping.setAsBinary(); + } + else { + mapping.setAsText(); + } + + reg.setModeMappings(newMappings); + reg.saveAssociations(); + return true; + } + /** * Saves the local file and uploads it to the host immediately, rather than, in response to a resource change * event. @@ -907,6 +1014,16 @@ */ private String getDownloadPath() { + //If this remote file is actually local, and it is part of a project in this workspace, just return the absolute path of the remote file. + IFile file = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + String absolutePath = remoteFile.getAbsolutePath(); + file = getProjectFileForLocation(absolutePath); + } + if (file != null) { + return remotePath; + } IPath path = new Path(root); @@ -1053,10 +1170,13 @@ if (editorInput instanceof IFileEditorInput) { - IPath path = ((IFileEditorInput) editorInput).getFile().getLocation(); + IFile file = ((IFileEditorInput) editorInput).getFile(); + IPath path = file.getLocation(); if (path!=null && lFile.compareTo(new java.io.File(path.toOSString()))==0) { - //if (path.makeAbsolute().toOSString().equalsIgnoreCase(localPath)) - return OPEN_IN_SAME_PERSPECTIVE; + if (!file.isLinked()){ // linked resources need to be treated differently + //if (path.makeAbsolute().toOSString().equalsIgnoreCase(localPath)) + return OPEN_IN_SAME_PERSPECTIVE; + } } } } @@ -1152,7 +1272,8 @@ if (download(shell)) { setLocalResourceProperties(); - openEditor(); + setFileAsReadOnly(); + openEditor(remoteFile, readOnly); setEditorAsReadOnly(); } } @@ -1162,7 +1283,7 @@ { addAsListener(); setLocalResourceProperties(); - openEditor(); + openEditor(remoteFile, readOnly); } } else @@ -1188,8 +1309,8 @@ if (download(shell)) { setLocalResourceProperties(); - setReadOnly(getLocalResource(), true); - openEditor(); + setFileAsReadOnly(); + openEditor(remoteFile, readOnly); setEditorAsReadOnly(); } } @@ -1197,7 +1318,7 @@ } else if (result == OPEN_IN_SAME_PERSPECTIVE) { - openEditor(); + openEditor(remoteFile, readOnly); } else if (result == OPEN_IN_DIFFERENT_PERSPECTIVE) { @@ -1213,7 +1334,8 @@ if (answer) { - openEditor(); + setFileAsReadOnly(); + openEditor(remoteFile, readOnly); setEditorAsReadOnly(); // put editor in read only mode, but not file } } @@ -1282,7 +1404,8 @@ if (download(monitor)) { setLocalResourceProperties(); - openEditor(); + setFileAsReadOnly(); + openEditor(remoteFile, readOnly); setEditorAsReadOnly(); } } @@ -1292,7 +1415,7 @@ { addAsListener(); setLocalResourceProperties(); - openEditor(); + openEditor(remoteFile, readOnly); } } else @@ -1320,8 +1443,8 @@ if (download(monitor)) { setLocalResourceProperties(); - setReadOnly(getLocalResource(), true); - openEditor(); + setFileAsReadOnly(); + openEditor(remoteFile, readOnly); setEditorAsReadOnly(); } } @@ -1586,14 +1709,6 @@ */ public void openEditor() throws PartInitException { - IWorkbenchPage activePage = this.page; - IWorkbench wb = PlatformUI.getWorkbench(); - if (activePage == null) - { - activePage = wb.getActiveWorkbenchWindow().getActivePage(); - } - IFile file = getLocalResource(); - // get fresh remote file object remoteFile.markStale(true); // make sure we get the latest remote file (with proper permissions and all) if (!remoteFile.getParentRemoteFileSubSystem().isOffline()){ @@ -1608,6 +1723,22 @@ } } boolean readOnly = !remoteFile.canWrite(); + openEditor(remoteFile, readOnly); + } + + + /** + * Method to open the editor given an IRemoteFile and a specified readOnly property. + */ + private void openEditor(IRemoteFile remoteFile, boolean readOnly) throws PartInitException + { + IWorkbenchPage activePage = this.page; + IWorkbench wb = PlatformUI.getWorkbench(); + if (activePage == null) + { + activePage = wb.getActiveWorkbenchWindow().getActivePage(); + } + IFile file = getLocalResource(); ResourceAttributes attr = file.getResourceAttributes(); if (attr!=null) { attr.setReadOnly(readOnly); @@ -1622,30 +1753,44 @@ } // set editor as preferred editor for this file - String editorId = null; - if (_editorDescriptor != null) - editorId = _editorDescriptor.getId(); + if (_editorDescriptor != null){ + if (_usingDefaultDescriptor){ + _editorDescriptor = IDE.getEditorDescriptor(file); + editorId = _editorDescriptor.getId(); + _usingDefaultDescriptor = false; + } + else { + editorId = _editorDescriptor.getId(); + } + } IDE.setDefaultEditor(file, editorId); - - FileEditorInput finput = new FileEditorInput(file); - - // check for files already open - - // DKM - when _editorId is not lpex, this causes problem - // DY - changed editor from SystemTextEditor to IEditorPart - //editor = (SystemTextEditor)activePage.openEditor(file, _editorId); - if (_editorDescriptor != null && _editorDescriptor.isOpenExternal()){ - editor = ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(file), _editorDescriptor, true, null); + if (_editorDescriptor.isOpenExternal()){ + openSystemEditor(); // opening regular way doesn't work anymore } else { - editor = activePage.openEditor(finput, _editorDescriptor.getId()); + FileEditorInput finput = new FileEditorInput(file); + + // check for files already open + + // DKM - when _editorId is not lpex, this causes problem + // DY - changed editor from SystemTextEditor to IEditorPart + //editor = (SystemTextEditor)activePage.openEditor(file, _editorId); + if (_editorDescriptor != null && _editorDescriptor.isOpenExternal()){ + editor = ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(file), _editorDescriptor, true, null); + } + else { + editor = activePage.openEditor(finput, _editorDescriptor.getId()); + } + + + SystemIFileProperties properties = new SystemIFileProperties(file); + properties.setRemoteFileObject(this); + if (properties.getDirty()){ + updateDirtyIndicator(); + } } - - - SystemIFileProperties properties = new SystemIFileProperties(file); - properties.setRemoteFileObject(this); } /** @@ -1698,6 +1843,10 @@ { ((ISystemTextEditor) editor).setReadOnly(true); } + } + + private void setFileAsReadOnly() + { IFile file = getLocalResource(); setReadOnly(file, true); @@ -1733,19 +1882,18 @@ */ public void partClosed(IWorkbenchPart part) { - /* - if (editor == part) - { - delete(); - } - */ - SystemUniversalTempFileListener.getListener().unregisterEditedFile(this); - - IWorkbenchPage page = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); - - if (page != null) - { - page.removePartListener(this); + if (editor == part){ + //delete(); + + SystemUniversalTempFileListener.getListener().unregisterEditedFile(this); + IWorkbenchWindow win = SystemBasePlugin.getActiveWorkbenchWindow(); + if (win != null){ // if the window is already closed, the listener doesn't matter + IWorkbenchPage page = win.getActivePage(); + if (page != null){ + page.removePartListener(this); + editor = null; + } + } } } @@ -1926,6 +2074,7 @@ { this.setLocalResourceProperties(); this.upload(progressMonitor); + systemEditor.setInput(newInput); } catch (SystemMessageException e) { SystemMessageDialog dialog = new SystemMessageDialog(SystemBasePlugin.getActiveWorkbenchShell(), e.getSystemMessage()); dialog.open(); @@ -1955,6 +2104,19 @@ return true; } + private void markEditorDirty(){ + ITextEditor textEditor = (ITextEditor)editor; + IDocumentProvider provider = textEditor.getDocumentProvider(); + if (provider != null){ + IDocument doc = provider.getDocument(textEditor.getEditorInput()); + String content = doc.get(); + try { + doc.replace(0, content.length(), content); + } catch (BadLocationException e) { + } + } + } + public void updateDirtyIndicator() { // for lpex dirty indicator @@ -1964,6 +2126,22 @@ { ((ISystemTextEditor) editor).updateDirtyIndicator(); } + else if (editor instanceof ITextEditor){ // mark dirty by updating editor contents + // only do this if we need to mark it as dirty + SystemIFileProperties properties = new SystemIFileProperties(localFile); + if (properties.getDirty()){ + if (Display.getCurrent() == null){ // if we're not on a UI thread + Display.getDefault().asyncExec(new Runnable() { + public void run() { + markEditorDirty(); + } + }); + } + else { + markEditorDirty(); + } + } + } } } @@ -1993,4 +2171,29 @@ return remoteFile.isStale(); } + /** + * Get the editor descriptor to be associated with the remote file + * @return the editor descriptor associated with this remote file + * @since 3.2 + */ + public IEditorDescriptor getEditorDescriptor(){ + return _editorDescriptor; + } + + /** + * Set the editor descriptor to be associated with the remote file + * @param descriptor the new editor descriptor + * @since 3.2 + */ + public void setEditorDescriptor(IEditorDescriptor descriptor){ + _editorDescriptor = descriptor; + } + + private static IFile getProjectFileForLocation(String absolutePath) + { + IPath workspacePath = new Path(absolutePath); + IFile file = SystemBasePlugin.getWorkspaceRoot().getFileForLocation(workspacePath); + return file; + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemTempFileListener.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemTempFileListener.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemTempFileListener.java 2008-11-25 15:11:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemTempFileListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -25,6 +25,8 @@ * David McKnight (IBM) - [235221] Files truncated on exit of Eclipse * David McKnight (IBM) - [251631] NullPointerException in SystemTempFileListener * David McKnight (IBM) - [256048] Saving a member open in Remote LPEX editor while Working Offline doesn't set the dirty property + * David McKnight (IBM) - [381482] Improper use of save participant is causing a workspace hang + * David McKnight (IBM) - [390609] Cached file opened twice in case of eclipse linked resource.. *******************************************************************************/ package org.eclipse.rse.files.ui.resources; @@ -68,6 +70,7 @@ import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.progress.UIJob; import org.eclipse.ui.progress.WorkbenchJob; @@ -95,14 +98,15 @@ } public void saving(ISaveContext context) throws CoreException { - // wait for completion of synch - while (isSynching()){ - try { - Thread.sleep(1000); - } - catch (Exception e){ - + if (PlatformUI.getWorkbench().isClosing() && + context.getKind() == ISaveContext.FULL_SAVE) { + while (isSynching()){ + try { + Thread.sleep(1000); + } + catch (Exception e){ + } } } } @@ -781,9 +785,9 @@ return false; IResourceDelta[] subdeltas = delta.getAffectedChildren(); - if (subdeltas.length > 0) + for (int i = 0; i < subdeltas.length; i++) { - IResource resource = subdeltas[0].getResource(); + IResource resource = subdeltas[i].getResource(); if ((resource != null) && (resource.getType() == IResource.PROJECT)) { if (resource.getName().equals(SystemRemoteEditManager.REMOTE_EDIT_PROJECT_NAME)) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemUniversalTempFileListener.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemUniversalTempFileListener.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemUniversalTempFileListener.java 2008-11-25 15:11:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/SystemUniversalTempFileListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -25,6 +25,8 @@ * David McKnight (IBM) - [235221] Files truncated on exit of Eclipse * David McKnight (IBM) - [249544] Save conflict dialog appears when saving files in the editor * David McKnight (IBM) - [256048] Saving a member open in Remote LPEX editor while Working Offline doesn't set the dirty property + * David McKnight (IBM) - [191284] Confusing behaviour when editing a Readonly file. + * David McKnight (IBM) - [334839] File Content Conflict is not handled properly ********************************************************************************/ package org.eclipse.rse.files.ui.resources; @@ -32,7 +34,6 @@ import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.events.ISystemResourceChangeEvents; import org.eclipse.rse.core.events.SystemResourceChangeEvent; @@ -53,6 +54,8 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.activities.WorkbenchActivityHelper; /** * This class manages listening for resource changes within our temp file project @@ -199,8 +202,14 @@ // If remote file is read-only make it writable as the local // copy has changed to be writable if (remoteFile.exists() && !remoteFile.canWrite() && !tempFile.isReadOnly()) { - remoteFile.getParentRemoteFileSubSystem().setReadOnly( - remoteFile, false, new NullProgressMonitor()); + IRemoteFileSubSystem ss = remoteFile.getParentRemoteFileSubSystem(); + ss.setReadOnly(remoteFile, false, monitor); + + // the remote file is still marked read-only, we need to requery the file (i.e. for SSH and FTP) + if (!remoteFile.canWrite()){ + remoteFile.markStale(true); + remoteFile = ss.getRemoteFileObject(remoteFile.getAbsolutePath(), monitor); + } } boolean openEditorAfterUpload = false; @@ -390,8 +399,8 @@ // indicate that the temp file is no longer dirty properties.setDirty(false); - editable.updateDirtyIndicator(); - + if (editable.isDirty()) + editable.updateDirtyIndicator(); } else if (storedModifiedStamp == -1) { @@ -423,17 +432,26 @@ final SystemEditableRemoteFile remoteEdit = editable; final IFile tFile = tempFile; final IRemoteFile rFile = remoteFile; + final SystemIFileProperties fProperties = properties; // upload is run in a job, so the conflict action/dialog needs to run in UI thread Display.getDefault().asyncExec(new Runnable() { public void run() { - Shell shell = RSEUIPlugin.getTheSystemRegistryUI().getShell(); - + boolean closing = PlatformUI.getWorkbench().isClosing(); + Shell shell = null; + if (closing){ + shell = Display.getDefault().getActiveShell(); + } + else { + shell = RSEUIPlugin.getTheSystemRegistryUI().getShell(); + } SystemUploadConflictAction conflictAction = new SystemUploadConflictAction(shell, tFile, rFile, remoteNewer); conflictAction.run(); - remoteEdit.updateDirtyIndicator(); + if (fProperties.getDirty()){ + remoteEdit.updateDirtyIndicator(); + } } }); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/UniversalFileTransferUtility.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/UniversalFileTransferUtility.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/UniversalFileTransferUtility.java 2009-07-28 18:22:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/resources/UniversalFileTransferUtility.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -58,6 +58,13 @@ * David McKnight (IBM) - [276534] Cache Conflict After Synchronization when Browsing Remote System with Case-Differentiated-Only Filenames * David McKnight (IBM) - [281712] [dstore] Warning message is needed when disk is full * David McKnight (IBM) - [234258] [dnd] Drag&Drop a folder silently ignores elements without permissions + * David McKnight (IBM) - [299140] Local Readonly file can't be copied/pasted twice + * David McKnight (IBM) - [298440] jar files in a directory can't be pasted to another system properly + * David McKnight (IBM) - [311218] Content conflict dialog pops up when it should not + * David McKnight (IBM) - [228743] [usability][dnd] Paste into read-only folder fails silently + * David McKnight (IBM) - [376410] cross-system copy/paste operation doesn't transfer remote encodings for binary files + * David McKnight (IBM) - [386486] when the original timestamp of a file is 0 don't set it after an upload + * David McKnight (IBM) - [389838] Fast folder transfer does not account for code page *******************************************************************************/ package org.eclipse.rse.files.ui.resources; @@ -124,6 +131,7 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; import org.eclipse.rse.subsystems.files.core.subsystems.IVirtualRemoteFile; +import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileSubSystem; import org.eclipse.rse.subsystems.files.core.util.ValidatorFileUniqueName; import org.eclipse.rse.ui.RSEUIPlugin; @@ -176,7 +184,8 @@ */ private static boolean doSuperTransfer(IRemoteFileSubSystem subsystem) { - boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER) && + //boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER) && + boolean doSuperTransferProperty = false; // disabling due to potential corruption subsystem.getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement(); return doSuperTransferProperty; } @@ -227,11 +236,16 @@ // changed encodings matter too String remoteEncoding = remoteFile.getEncoding(); String lastEncoding = properties.getEncoding(); + + + boolean usedReadOnly = properties.getReadOnly(); + boolean isReadOnly = !remoteFile.canWrite(); + if (storedModifiedStamp == remoteModifiedStamp && - (usedBin == shouldUseBin) && - (remoteEncoding.equals(lastEncoding)) - ) - { + usedBin == shouldUseBin && + remoteEncoding.equals(lastEncoding) && + usedReadOnly == isReadOnly + ){ return true; } } @@ -314,7 +328,7 @@ listener.addIgnoreFile(tempFile); String remoteEncoding = srcFileOrFolder.getEncoding(); srcFS.download(srcFileOrFolder, tempFile.getLocation().makeAbsolute().toOSString(), remoteEncoding, monitor); - listener.removeIgnoreFile(tempFile); + if (!tempFile.exists() && !tempFile.isSynchronized(IResource.DEPTH_ZERO)) { // eclipse doesn't like this if the resource appears to be from another project @@ -330,10 +344,18 @@ } if (tempFile.exists()) { + SystemIFileProperties properties = new SystemIFileProperties(tempFile); + // set the appropriate readonly flag boolean readOnly = !srcFileOrFolder.canWrite(); setReadOnly(tempFile, readOnly); - + + // set file properties + properties.setRemoteFileTimeStamp(srcFileOrFolder.getLastModified()); + properties.setDownloadFileTimeStamp(tempFile.getLocation().toFile().lastModified()); + properties.setReadOnly(readOnly); + properties.setDirty(false); + if (remoteEncoding != null) { if (srcFileOrFolder.isBinary()) @@ -349,8 +371,7 @@ } else { - // using text mode so the char set needs to be local - SystemIFileProperties properties = new SystemIFileProperties(tempFile); + // using text mode so the char set needs to be local if (properties.getLocalEncoding() != null){ String localEncoding = properties.getLocalEncoding(); tempFile.setCharset(localEncoding, null); @@ -359,6 +380,7 @@ } } } + listener.removeIgnoreFile(tempFile); } catch (SystemOperationCancelledException soce) { return null; @@ -593,18 +615,31 @@ { emptyFolders.add(tempFolder); } - //get all subfolders + //get all subfolders children=srcFS.list(srcFileOrFolder, IFileService.FILE_TYPE_FOLDERS, monitor); + if(!(children==null) && !(children.length==0)) { - SystemRemoteResourceSet childSet = new SystemRemoteResourceSet(srcFS, children); - //recurse with subfolders to check for empty folders - SystemWorkspaceResourceSet childResults = downloadResourcesToWorkspaceMultiple(childSet, monitor); - if (childResults.hasMessage()) - { - resultSet.setMessage(childResults.getMessage()); + // make sure children are not archives! + ArrayList fcs = new ArrayList(); + for (int c = 0; c < children.length; c++){ + IRemoteFile child = children[c]; + if (!child.isArchive()){ + fcs.add(child); + } + } + if (fcs.size() > 0){ + + SystemRemoteResourceSet childSet = new SystemRemoteResourceSet(srcFS, fcs); + + //recurse with subfolders to check for empty folders + SystemWorkspaceResourceSet childResults = downloadResourcesToWorkspaceMultiple(childSet, monitor); + if (childResults.hasMessage()) + { + resultSet.setMessage(childResults.getMessage()); + } + resultSet.addResource(tempFolder); } - resultSet.addResource(tempFolder); } } catch (SystemMessageException e) @@ -685,52 +720,55 @@ String storedEncoding = properties.getEncoding(); String currentEncoding = srcFileOrFolder.getEncoding(); - if (storedTime != currentTime && (storedEncoding == null || !storedEncoding.equals(currentEncoding))) + if (storedTime != currentTime || (storedEncoding == null || !storedEncoding.equals(currentEncoding))) { if (tempFile.exists()) { - // set the appropriate readonly flag - boolean readOnly = !srcFileOrFolder.canWrite(); - setReadOnly(tempFile, readOnly); - - try - { - if (remoteEncoding != null) + // deal with encoding properties + if (storedEncoding == null || !storedEncoding.equals(currentEncoding)){ + // set the appropriate readonly flag + boolean readOnly = !srcFileOrFolder.canWrite(); + setReadOnly(tempFile, readOnly); + + try { - if (srcFileOrFolder.isBinary()) + if (remoteEncoding != null) { - if (!tempFile.isSynchronized(IResource.DEPTH_ZERO)) + if (srcFileOrFolder.isBinary()) { - tempFile.refreshLocal(IResource.DEPTH_ZERO, null/*monitor*/); + if (!tempFile.isSynchronized(IResource.DEPTH_ZERO)) + { + tempFile.refreshLocal(IResource.DEPTH_ZERO, null/*monitor*/); + } + if (!tempFile.getCharset().equals(remoteEncoding)) + { + tempFile.setCharset(remoteEncoding, null); + } } - if (!tempFile.getCharset().equals(remoteEncoding)) + else { - tempFile.setCharset(remoteEncoding, null); - } - } - else - { - // using text mode so the char set needs to be local - if (properties.getLocalEncoding() != null){ - String localEncoding = properties.getLocalEncoding(); - tempFile.setCharset(localEncoding, null); + // using text mode so the char set needs to be local + if (properties.getLocalEncoding() != null){ + String localEncoding = properties.getLocalEncoding(); + tempFile.setCharset(localEncoding, null); + } + // otherwise, the default charset is inherited so no need to set } - // otherwise, the default charset is inherited so no need to set } } + catch (Exception e) + { + SimpleSystemMessage errorMessage = new SimpleSystemMessage(Activator.PLUGIN_ID, + ICommonMessageIds.MSG_OPERATION_FAILED, + IStatus.ERROR, "", e); //$NON-NLS-1$ + resultSet.setMessage(errorMessage); + return null; + } } - catch (Exception e) - { - SimpleSystemMessage errorMessage = new SimpleSystemMessage(Activator.PLUGIN_ID, - ICommonMessageIds.MSG_OPERATION_FAILED, - IStatus.ERROR, "", e); //$NON-NLS-1$ - resultSet.setMessage(errorMessage); - return null; - } - try { + // set all properties setIFileProperties(tempFile, srcFileOrFolder, srcFS); } catch (Exception e) @@ -1505,7 +1543,7 @@ IRemoteFileSubSystem targetFS = targetFolder.getParentRemoteFileSubSystem(); - + boolean isWindows = !targetFS.getParentRemoteFileSubSystemConfiguration().isUnixStyle(); boolean doSuperTransferPreference = doSuperTransfer(targetFS); SystemRemoteResourceSet resultSet = new SystemRemoteResourceSet(targetFS); @@ -1520,7 +1558,7 @@ } } - if (!targetFolder.canWrite()) + if (!targetFolder.canWrite() && !isWindows) // windows check for bug 228743 { String msgTxt = FileResources.FILEMSG_SECURITY_ERROR; String msgDetails = NLS.bind(FileResources.FILEMSG_SECURITY_ERROR_DETAILS, targetFS.getHostAliasName()); @@ -1718,17 +1756,24 @@ targetFS.upload(srcFileLocation, srcCharSet, newPath, remoteEncoding,monitor); newFilePathList.add(newPath); + + IRemoteFile newFile = targetFS.getRemoteFileObject(newPath, monitor); + if (newFile.isBinary() && newFile instanceof RemoteFile){ // after a binary upload, we need to mark the encoding of the remote file + ((RemoteFile)newFile).setEncoding(srcCharSet); + } // should check preference first if (RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.PRESERVETIMESTAMPS)) { SystemIFileProperties properties = new SystemIFileProperties(srcFileOrFolder); - try { - IRemoteFile newFile = targetFS.getRemoteFileObject(newPath, monitor); - targetFS.setLastModified(newFile, properties.getRemoteFileTimeStamp(), monitor); - } - catch (SystemUnsupportedOperationException e){ - // service doesn't support setLastModified - SystemBasePlugin.logError("Unable to set last modified", e); //$NON-NLS-1$ + long ts = properties.getRemoteFileTimeStamp(); + if (ts != 0){ // don't set 0 timestamp + try { + targetFS.setLastModified(newFile, ts, monitor); + } + catch (SystemUnsupportedOperationException e){ + // service doesn't support setLastModified + SystemBasePlugin.logError("Unable to set last modified", e); //$NON-NLS-1$ + } } } } @@ -1913,13 +1958,9 @@ try { - String srcCharSet = null; + String srcCharSet = RemoteFileUtility.getSourceEncoding((IFile)srcFileOrFolder); boolean isText = RemoteFileUtility.getSystemFileTransferModeRegistry().isText(newPath); - if (isText) - { - srcCharSet = RemoteFileUtility.getSourceEncoding((IFile)srcFileOrFolder); - } IPath location = srcFileOrFolder.getLocation(); IRemoteFile copiedFile = null; if (location == null) // remote EFS file? @@ -1969,8 +2010,11 @@ copiedFile = targetFS.getRemoteFileObject(targetFolder, name, monitor); + if (copiedFile.isBinary() && copiedFile instanceof RemoteFile){ // after a binary upload, we need to mark the encoding of the remote file + ((RemoteFile)copiedFile).setEncoding(srcCharSet); + } + // should check preference first - if (RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.PRESERVETIMESTAMPS)) { SystemIFileProperties properties = new SystemIFileProperties(srcFileOrFolder); @@ -1981,12 +2025,14 @@ if (timestamp == 0) timestamp = srcFileOrFolder.getLocalTimeStamp(); - try { - targetFS.setLastModified(copiedFile, timestamp, monitor); - } - catch (SystemUnsupportedOperationException e){ - // service doesn't support setLastModified - SystemBasePlugin.logError("Unable to set last modified", e); //$NON-NLS-1$ + if (timestamp != 0){ // don't set 0 timestamps + try { + targetFS.setLastModified(copiedFile, timestamp, monitor); + } + catch (SystemUnsupportedOperationException e){ + // service doesn't support setLastModified + SystemBasePlugin.logError("Unable to set last modified", e); //$NON-NLS-1$ + } } } @@ -2224,7 +2270,10 @@ { SystemIFileProperties properties = new SystemIFileProperties(source); try { - target.getParentRemoteFileSubSystem().setLastModified(target, properties.getRemoteFileTimeStamp(), monitor); + long ts = properties.getRemoteFileTimeStamp(); + if (ts != 0){ // don't set 0 timestamps + target.getParentRemoteFileSubSystem().setLastModified(target, ts, monitor); + } } catch (SystemUnsupportedOperationException e){ // service doesn't support setLastModified diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileFilterStringEditPane.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileFilterStringEditPane.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileFilterStringEditPane.java 2008-04-05 17:47:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileFilterStringEditPane.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -15,6 +15,7 @@ * David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible * David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + * David Dykstal (IBM) - [148977] New Filter dialog should propose a default filter name on the 2nd page ********************************************************************************/ package org.eclipse.rse.files.ui.widgets; @@ -862,4 +863,24 @@ return super.canSaveImplicitly(); } } + + public String getDefaultFilterName() + { + String defaultFilterName = ""; //$NON-NLS-1$ + if (folderCombo != null) { + String folderName = folderCombo.getText().trim(); + if (folderName.length() > 0) { + String separator = inputSubsystemConfiguration.getSeparator(); + if (folderName.endsWith(separator)) { + folderName = folderName.substring(0, folderName.length() - separator.length()); + } + int p = folderName.lastIndexOf(separator); + p += separator.length(); + if (p < folderName.length()) { + defaultFilterName = folderName.substring(p); + } + } + } + return defaultFilterName; + } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.java 2009-02-01 16:12:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -23,6 +23,7 @@ * Rupen Mardirossian (IBM) - [227213] Added RESID_CONFLICT_COPY_PATTERN to be used for copying resources to parent folder. * David Dykstal (IBM) [231841] Correcting messages for folder creation * David McKnight (IBM) - [245260] Different user's connections on a single host are mapped to the same temp files cache + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.internal.files.ui; @@ -110,6 +111,9 @@ public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL; public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_TOOLTIP; + + public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL; + public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_TOOLTIP; public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_DEFAULT_MODE_LABEL; public static String RESID_PREF_UNIVERSAL_FILES_FILETYPES_DEFAULT_MODE_TOOLTIP; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.properties eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.properties 2009-02-01 16:12:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/FileResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,6 +25,7 @@ # David Dykstal (IBM) [231841] Correcting messages for folder creation # Kevin Doyle (IBM) - [242389] [usability] RSE Save Conflict dialog should indicate which file is in conflict # David McKnight (IBM) - [245260] Different user's connections on a single host are mapped to the same temp files cache +# David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type ############################################################################### # NLS_MESSAGEFORMAT_VAR @@ -107,6 +108,9 @@ RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL=Text RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_TOOLTIP=Transfer as text file +RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL=XML +RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_TOOLTIP=Transfer as XML file + RESID_PREF_UNIVERSAL_FILES_FILETYPES_DEFAULT_MODE_LABEL=Default File Transfer Mode RESID_PREF_UNIVERSAL_FILES_FILETYPES_DEFAULT_MODE_TOOLTIP=Default mode of file transfer for unspecified file types diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/LinkWithSystemViewAction.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/LinkWithSystemViewAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/LinkWithSystemViewAction.java 2009-06-30 16:22:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/LinkWithSystemViewAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 IBM Corporation and others. + * Copyright (c) 2007, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * David McKnight (IBM) - [187711] Link with Editor action for System View * David McKnight (IBM) - [238294] ClassCastException using Link With Editor * David McKnight (IBM) - [281309] RSE Explorer View is not able to be sync with Editor in next Eclipse launched + * David McKnight (IBM) - [354283] Refresh highlights wrong tab when two files of same name are open *******************************************************************************/ package org.eclipse.rse.internal.files.ui.actions; @@ -31,6 +32,7 @@ import org.eclipse.rse.core.filters.ISystemFilter; import org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManager; import org.eclipse.rse.core.filters.ISystemFilterReference; +import org.eclipse.rse.core.model.ISystemRegistry; import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.internal.files.ui.FileResources; import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager; @@ -137,7 +139,6 @@ private IAdaptable _targetRemoteObj; private ISystemTree _systemTree; private ISystemFilterReference _filterRef; - private ISystemViewElementAdapter _adapter; public LinkFromFolderJob(IAdaptable remoteFolder, ISystemFilterReference filterRef, IAdaptable targetRemoteObj, ISystemTree systemTree) { super(FileResources.MESSAGE_EXPANDING_FOLDER); @@ -158,7 +159,7 @@ try { // get the adapter - ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)((IAdaptable)_remoteFolder).getAdapter(ISystemViewElementAdapter.class); + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)(_remoteFolder).getAdapter(ISystemViewElementAdapter.class); // get the context ContextObject contextObject = new ContextObject(_remoteFolder, _subSystem, _filterRef); @@ -276,7 +277,7 @@ // my home filter - will encompass iff remoteObjectAbsoluteName is within the home dir try { - IAdaptable homeObj = (IAdaptable)_subSystem.getObjectWithAbsoluteName(".", new NullProgressMonitor()); + IAdaptable homeObj = (IAdaptable)_subSystem.getObjectWithAbsoluteName(".", new NullProgressMonitor()); //$NON-NLS-1$ if (homeObj != null){ String homePath = getAbsolutePath(homeObj); would = remoteObjectAbsoluteName.startsWith(homePath); @@ -369,7 +370,7 @@ if (item != null){ _systemTree.getTree().setSelection(item); } - else + else if (remoteObj != null) { // no reference in the tree so we will search forward from the filter in a job (avoiding query on the main thread) LinkFromFilterJob job = new LinkFromFilterJob(remoteObj, _systemTree); @@ -415,11 +416,22 @@ if (file.getProject().getName().equals(SystemRemoteEditManager.REMOTE_EDIT_PROJECT_NAME)) { SystemIFileProperties properties = new SystemIFileProperties(file); - String path = properties.getRemoteFilePath(); + String path = properties.getRemoteFilePath(); + if (path != null && path.equals(adapter.getAbsoluteName(obj))) { - page.bringToTop(editor); - return; + ISubSystem objSS = adapter.getSubSystem(obj); + ISubSystem editorSS = null; + // make sure this is for the correct file subsystem + String subsystemID = properties.getRemoteFileSubSystem(); + if (subsystemID != null){ + ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + editorSS = registry.getSubSystem(subsystemID); + } + if (objSS != null && editorSS != null && objSS.equals(editorSS)){ + page.bringToTop(editor); + return; + } } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SynchronizeCacheActionDelegate.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SynchronizeCacheActionDelegate.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SynchronizeCacheActionDelegate.java 2009-05-20 14:42:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SynchronizeCacheActionDelegate.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007 IBM Corporation. All rights reserved. + * Copyright (c) 2007, 2009 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFileAction.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFileAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFileAction.java 2009-06-03 16:39:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFileAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,8 @@ * David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob * David McKnight (IBM) - [224377] "open with" menu does not have "other" option * David McKnight (IBM) - [276103] Files with names in different cases are not handled properly + * David McKnight (IBM) - [309813] RSE permits opening of file after access removed + * David McKnight (IBM) - [312362] Editing Unix file after it changes on host edits old data *******************************************************************************/ package org.eclipse.rse.internal.files.ui.actions; @@ -104,7 +106,7 @@ long storedModifiedStamp = properties.getRemoteFileTimeStamp(); // get updated remoteFile so we get the current remote timestamp - //remoteFile.markStale(true); + remoteFile.markStale(true); IRemoteFileSubSystem subsystem = remoteFile.getParentRemoteFileSubSystem(); try { @@ -133,9 +135,13 @@ boolean usedBinary = properties.getUsedBinaryTransfer(); boolean isBinary = remoteFile.isBinary(); + boolean usedReadOnly = properties.getReadOnly(); + boolean isReadOnly = !remoteFile.canWrite(); + return (!dirty && !remoteNewer && usedBinary == isBinary && + usedReadOnly == isReadOnly && !encodingChanged); } return false; @@ -147,6 +153,12 @@ */ protected void process(IRemoteFile remoteFile) { + // make sure we're using the latest version of remoteFile + try { + remoteFile = remoteFile.getParentRemoteFileSubSystem().getRemoteFileObject(remoteFile.getAbsolutePath(), new NullProgressMonitor()); + } + catch (Exception e){ + } SystemEditableRemoteFile editable = SystemRemoteEditManager.getEditableRemoteObject(remoteFile, null); if (editable == null){ // case for cancelled operation when user was prompted to save file of different case @@ -156,9 +168,10 @@ { try { + boolean isCached = isFileCached(editable, remoteFile); if (editable.checkOpenInEditor() != ISystemEditableRemoteObject.OPEN_IN_SAME_PERSPECTIVE) { - if (isFileCached(editable, remoteFile)) + if (isCached) { editable.openEditor(); } @@ -170,8 +183,16 @@ } else { - editable.setLocalResourceProperties(); - editable.openEditor(); + if (isCached) + { + editable.setLocalResourceProperties(); + editable.openEditor(); + } + else + { + DownloadAndOpenJob oJob = new DownloadAndOpenJob(editable, false); + oJob.schedule(); + } } } catch (Exception e) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFilesAction.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFilesAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFilesAction.java 2009-06-03 16:39:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemEditFilesAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,9 @@ * David McKnight (IBM) - [189873] DownloadJob changed to DownloadAndOpenJob * David McKnight (IBM) - [224377] "open with" menu does not have "other" option * David McKnight (IBM) - [276103] Files with names in different cases are not handled properly + * David McKnight (IBM) - [309813] RSE permits opening of file after access removed + * David McKnight (IBM) - [312362] Editing Unix file after it changes on host edits old data + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files *******************************************************************************/ package org.eclipse.rse.internal.files.ui.actions; @@ -24,6 +27,8 @@ import java.util.Iterator; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile; @@ -33,6 +38,7 @@ import org.eclipse.rse.subsystems.files.core.SystemIFileProperties; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; +import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.rse.ui.actions.SystemBaseAction; import org.eclipse.rse.ui.view.ISystemEditableRemoteObject; import org.eclipse.swt.widgets.Shell; @@ -102,7 +108,8 @@ Object obj = iterator.next(); if (obj instanceof IRemoteFile) { - process((IRemoteFile)obj); + IRemoteFile remoteFile = (IRemoteFile)obj; + process(remoteFile); } } } @@ -124,7 +131,7 @@ long storedModifiedStamp = properties.getRemoteFileTimeStamp(); // get updated remoteFile so we get the current remote timestamp - //remoteFile.markStale(true); + remoteFile.markStale(true); IRemoteFileSubSystem subsystem = remoteFile.getParentRemoteFileSubSystem(); try { @@ -151,11 +158,14 @@ boolean usedBinary = properties.getUsedBinaryTransfer(); boolean isBinary = remoteFile.isBinary(); + boolean usedReadOnly = properties.getReadOnly(); + boolean isReadOnly = !remoteFile.canWrite(); + return (!dirty && !remoteNewer && usedBinary == isBinary && + usedReadOnly == isReadOnly && !encodingChanged); - } return false; } @@ -165,6 +175,12 @@ */ protected void process(IRemoteFile remoteFile) { + // make sure we're using the latest version of remoteFile + try { + remoteFile = remoteFile.getParentRemoteFileSubSystem().getRemoteFileObject(remoteFile.getAbsolutePath(), new NullProgressMonitor()); + } + catch (Exception e){ + } String editorId = null; IEditorDescriptor des = getDefaultEditor(remoteFile); if (des != null) @@ -176,6 +192,31 @@ editorId = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$ } + //If this is a local file in the workspace projects, just open it up. + String absolutePath = remoteFile.getAbsolutePath(); + IFile localFile = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + localFile = SystemFileActionUtility.getProjectFileForLocation(absolutePath); + } + if (localFile != null) { + if (!localFile.exists()) { + try { + localFile.refreshLocal(IResource.DEPTH_ZERO, null); + } catch (CoreException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + try { + SystemFileActionUtility.openEditor(localFile, !remoteFile.canWrite()); + } + catch (Exception e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + return; + } + return; + } + SystemEditableRemoteFile editable = SystemRemoteEditManager.getEditableRemoteObject(remoteFile, des); if (editable == null){ // case for cancelled operation when user was prompted to save file of different case @@ -185,9 +226,10 @@ { try { + boolean isCached = isFileCached(editable, remoteFile); if (editable.checkOpenInEditor() != ISystemEditableRemoteObject.OPEN_IN_SAME_PERSPECTIVE) { - if (isFileCached(editable, remoteFile)) + if (isCached) { editable.openEditor(); } @@ -199,8 +241,16 @@ } else { - editable.setLocalResourceProperties(); - editable.openEditor(); + if (isCached) + { + editable.setLocalResourceProperties(); + editable.openEditor(); + } + else + { + DownloadAndOpenJob oJob = new DownloadAndOpenJob(editable, false); + oJob.schedule(); + } } } catch (Exception e) @@ -210,6 +260,4 @@ } } - - } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemFileActionUtility.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemFileActionUtility.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemFileActionUtility.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemFileActionUtility.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,172 @@ +/******************************************************************************** + * Copyright (c) 2013 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files + ********************************************************************************/ + +package org.eclipse.rse.internal.files.ui.actions; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.ResourceAttributes; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.ui.IEditorDescriptor; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorRegistry; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.internal.WorkbenchPage; +import org.eclipse.ui.part.FileEditorInput; + +public class SystemFileActionUtility { + + static void openEditor(IFile localFile, boolean readOnly) throws PartInitException { + IEditorDescriptor editorDescriptor = null; + + try { + editorDescriptor = IDE.getEditorDescriptor(localFile); + } catch (PartInitException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + + if (editorDescriptor == null) { + if (PlatformUI.isWorkbenchRunning()) + { + IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry(); + editorDescriptor = registry.findEditor("org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$ + } + } + + //This file is from local connection, and it is inside a project in the work + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + + ResourceAttributes attr = localFile.getResourceAttributes(); + if (attr!=null) { + attr.setReadOnly(readOnly); + try + { + localFile.setResourceAttributes(attr); + } + catch (Exception e) + { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + + // set editor as preferred editor for this file + String editorId = null; + if (editorDescriptor != null) { + editorId = editorDescriptor.getId(); + } + + IDE.setDefaultEditor(localFile, editorId); + if (editorDescriptor.isOpenExternal()){ + SystemFileActionUtility.openSystemEditor(localFile); // opening regular way doesn't work anymore + } + else { + FileEditorInput finput = new FileEditorInput(localFile); + IEditorPart editor = null; + // check for files already open + if (editorDescriptor != null && editorDescriptor.isOpenExternal()){ + editor = ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(localFile), editorDescriptor, true, null); + } + else { + editor = activePage.openEditor(finput, editorDescriptor.getId()); + } + + return; + } + } + + static void openSystemEditor(IFile localFile) throws PartInitException { + IEditorDescriptor editorDescriptor = null; + + try { + editorDescriptor = IDE.getEditorDescriptor(localFile); + } catch (PartInitException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + + if (editorDescriptor == null) { + if (PlatformUI.isWorkbenchRunning()) + { + IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry(); + editorDescriptor = registry.findEditor("org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$ + } + } + + //This file is from local connection, and it is inside a project in the work + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + + // set editor as preferred editor for this file + String editorId = null; + if (editorDescriptor != null) { + editorId = editorDescriptor.getId(); + } + + IDE.setDefaultEditor(localFile, editorId); + + FileEditorInput fileInput = new FileEditorInput(localFile); + activePage.openEditor(fileInput, IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID); + + return; + + } + + /** + * Open the in place editor + */ + public static void openInPlaceEditor(IFile localFile) throws PartInitException + { + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + FileEditorInput fileInput = new FileEditorInput(localFile); + activePage.openEditor(fileInput, IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID); + } + + public static void hackOpenEditor(IFile localFile, IEditorDescriptor descriptor, boolean readOnly) throws PartInitException + { + //This file is from local connection, and it is inside a project in the work + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + ResourceAttributes attr = localFile.getResourceAttributes(); + if (attr!=null) { + attr.setReadOnly(readOnly); + try { + localFile.setResourceAttributes(attr); + } + catch (Exception e) + { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + + // set editor as preferred editor for this file + String editorId = descriptor.getId(); + IDE.setDefaultEditor(localFile, editorId); + + FileEditorInput finput = new FileEditorInput(localFile); + + IEditorPart editor = null; + if (descriptor.isOpenExternal()){ + editor = ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(localFile), descriptor, true, null); + } + else { + editor = activePage.openEditor(finput, descriptor.getId()); + } + } + + static IFile getProjectFileForLocation(String absolutePath) + { + IPath workspacePath = new Path(absolutePath); + IFile file = SystemBasePlugin.getWorkspaceRoot().getFileForLocation(workspacePath); + return file; + } + + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemMoveRemoteFileAction.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemMoveRemoteFileAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemMoveRemoteFileAction.java 2008-05-23 19:40:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemMoveRemoteFileAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -25,16 +25,24 @@ * David McKnight (IBM) - [224313] [api] Create RSE Events for MOVE and COPY holding both source and destination fields * David McKnight (IBM) - [224377] "open with" menu does not have "other" option * David Dykstal (IBM) [230821] fix IRemoteFileSubSystem API to be consistent with IFileService + * David McKnight (IBM) - [240699] Problem with moving a file which has been opened in an editor + * David McKnight (IBM) - [191132] Incorrect error message when trying to edit a file that has been moved + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files ********************************************************************************/ package org.eclipse.rse.internal.files.ui.actions; +import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Vector; +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.WorkspaceJob; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Status; import org.eclipse.jface.viewers.Viewer; import org.eclipse.osgi.util.NLS; @@ -43,16 +51,21 @@ import org.eclipse.rse.core.filters.ISystemFilterReference; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile; +import org.eclipse.rse.files.ui.resources.UniversalFileTransferUtility; import org.eclipse.rse.internal.files.ui.Activator; import org.eclipse.rse.internal.files.ui.FileResources; import org.eclipse.rse.internal.files.ui.ISystemFileConstants; +import org.eclipse.rse.internal.files.ui.resources.SystemRemoteEditManager; import org.eclipse.rse.internal.ui.dialogs.CopyRunnable; import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage; import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.services.clientserver.messages.SystemMessageException; +import org.eclipse.rse.subsystems.files.core.SystemIFileProperties; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.rse.ui.actions.SystemBaseCopyAction; import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; @@ -341,6 +354,81 @@ return null; } + private void moveTempResource(IResource oldLocalResource, IResource newLocalResource, IRemoteFile newRemoteFile, IRemoteFileSubSystem ss) + { + if (oldLocalResource != null) + { + try + { + moveTempFileProperties(oldLocalResource, ss, newRemoteFile); + if (!newLocalResource.exists()){ + + IContainer parent = newLocalResource.getParent(); + if (!parent.exists()){ + File p = new File(parent.getLocation().toOSString()); + if (!p.exists()){ + p.mkdirs(); + } + } + parent.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); + } + oldLocalResource.move(newLocalResource.getFullPath(), true, new NullProgressMonitor()); + + } + catch (Exception e) + { + e.printStackTrace(); + } + + } + } + + private void moveTempFileProperties(IResource oldLocalResource, IRemoteFileSubSystem ss, IRemoteFile newRemoteFile) + { + + if (oldLocalResource instanceof IContainer) + { + IContainer localContainer = (IContainer) oldLocalResource; + try + { + IResource[] members = localContainer.members(); + for (int i = 0; i < members.length; i++) + { + IResource member = members[i]; + IRemoteFile newChildRemoteFile = ss.getRemoteFileObject(newRemoteFile, member.getName(), new NullProgressMonitor()); + moveTempFileProperties(member, ss, newChildRemoteFile); //$NON-NLS-1$ + } + } + catch (Exception e) + { + } + } + else if (oldLocalResource instanceof IFile) + { + IFile localFile = (IFile)oldLocalResource; + try + { + SystemIFileProperties properties = new SystemIFileProperties(localFile); + properties.setRemoteFilePath(newRemoteFile.getAbsolutePath()); + + Object editableObj = properties.getRemoteFileObject(); + if (editableObj != null) + { + SystemEditableRemoteFile editable = (SystemEditableRemoteFile)editableObj; + + // change the remote file regardless of whether it's open in an editor or not + // there's an in-memory editable, so change the associated remote file + editable.setRemoteFile(newRemoteFile); + + } + } + catch (Exception e) + { + } + + } + + } /** * Called after all the copy/move operations end, be it successfully or not. * Your opportunity to display completion or do post-copy selections/refreshes @@ -357,6 +445,63 @@ operation = ISystemRemoteChangeEvents.SYSTEM_REMOTE_OPERATION_MOVE; } + // deal with editors + for (int i = 0; i < movedFiles.size(); i++){ + + IRemoteFile oldRemoteFile = (IRemoteFile)movedFiles.get(i); + IRemoteFile newRemoteFile = null; + try { + newRemoteFile = ss.getRemoteFileObject((String)copiedFiles.get(i), new NullProgressMonitor()); + } catch (SystemMessageException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + IResource oldLocalTempResource = null; + IResource newLocalTempResource = null; + IResource resourceInProjectForOldRemoteFile = null; + IResource resourceInProjectForNewRemoteFile = null; + if (oldRemoteFile.getHost().getSystemType().isLocal()) { + String absolutePath = oldRemoteFile.getAbsolutePath(); + resourceInProjectForOldRemoteFile = SystemFileActionUtility.getProjectFileForLocation(absolutePath); + } + + if (resourceInProjectForOldRemoteFile == null) { + //The source file is not one of the file inside an eclipse project + oldLocalTempResource = UniversalFileTransferUtility.getTempFileFor(oldRemoteFile); + + if (newRemoteFile.getHost().getSystemType().isLocal()) { + String absolutePath = newRemoteFile.getAbsolutePath(); + resourceInProjectForNewRemoteFile = SystemFileActionUtility.getProjectFileForLocation(absolutePath); + } + if (resourceInProjectForNewRemoteFile == null) { + //The destination file is not one of the files inside an eclipse project. + //We need to do regular moving of temp file. + if (SystemRemoteEditManager.getInstance().doesRemoteEditProjectExist()){ + newLocalTempResource = UniversalFileTransferUtility.getTempFileFor(newRemoteFile); + } + } + } + + if (oldLocalTempResource != null && oldLocalTempResource.exists()) { + if (newLocalTempResource != null) { + moveTempResource(oldLocalTempResource, newLocalTempResource, newRemoteFile, ss); + } + else { + //Source file is not inside an eclipse project, but destination file is. So we need to delete the temp file for source file only. + try + { + oldLocalTempResource.delete(false, null); + // get rid of associated editable if there was one before + SystemIFileProperties properties = new SystemIFileProperties(oldLocalTempResource); + properties.setRemoteFileObject(null); + } + catch (Exception e) + { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + } + } Viewer originatingViewer = getViewer(); RSECorePlugin.getTheSystemRegistry().fireRemoteResourceChangeEvent(operation, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemRemoteFileOpenWithMenu.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemRemoteFileOpenWithMenu.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemRemoteFileOpenWithMenu.java 2009-07-24 16:51:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemRemoteFileOpenWithMenu.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 IBM Corporation and others. + * Copyright (c) 2005, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,9 +18,13 @@ * David McKnight (IBM) - [224377] "open with" menu does not have "other" option * David McKnight (IBM) - [277141] System Editor Passed Incorrect Cache Information in Presence of Case-Differentiated-Only filenames * David McKnight (IBM) - [284596] [regression] Open with-> problem when descriptor doesn't match previous + * David McKnight (IBM) - [309755] SystemRemoteFileOpenWithMenu.getPreferredEditor(), the listed default editor is not always correct + * David McKnight (IBM) - [312362] Editing Unix file after it changes on host edits old data + * Rick Sawyer (IBM) - [376535] RSE does not respect editor overrides + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files *******************************************************************************/ - package org.eclipse.rse.internal.files.ui.actions; +import java.lang.reflect.Method; import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; @@ -29,8 +33,11 @@ import java.util.Hashtable; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourceAttributes; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.content.IContentType; import org.eclipse.jface.action.ContributionItem; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.IStructuredSelection; @@ -55,6 +62,7 @@ import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.ui.IEditorDescriptor; +import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorRegistry; import org.eclipse.ui.IWorkbench; @@ -231,14 +239,56 @@ protected void openEditor(IRemoteFile remoteFile, IEditorDescriptor descriptor) { + // make sure we're using the latest version of remoteFile + try { + remoteFile = remoteFile.getParentRemoteFileSubSystem().getRemoteFileObject(remoteFile.getAbsolutePath(), new NullProgressMonitor()); + } + catch (Exception e){ + } + + boolean systemEditor = descriptor != null && descriptor.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID); + + String absolutePath = remoteFile.getAbsolutePath(); + IFile localFile = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + localFile = SystemFileActionUtility.getProjectFileForLocation(absolutePath); + } + if (localFile != null) { + //It is a local file which inside an eclipse project. + try { + if (!localFile.exists()) { + try { + localFile.refreshLocal(IResource.DEPTH_ZERO, null); + } catch (CoreException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + if (systemEditor) { + SystemFileActionUtility.openSystemEditor(localFile); + } + else if (descriptor != null){ + SystemFileActionUtility.hackOpenEditor(localFile, descriptor, !remoteFile.canWrite()); + } + else { + SystemFileActionUtility.openEditor(localFile, !remoteFile.canWrite()); + } + } + catch (Exception e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + return; + } + return; + } + SystemEditableRemoteFile editable = SystemRemoteEditManager.getEditableRemoteObject(remoteFile, descriptor); if (editable == null){ // case for cancelled operation when user was prompted to save file of different case return; } - boolean systemEditor = descriptor != null && descriptor.getId().equals(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID); - + + if (isFileCached(editable, remoteFile)) { try { @@ -319,7 +369,7 @@ editable.setEditor(editor); SystemIFileProperties properties = new SystemIFileProperties(file); - properties.setRemoteFileObject(this); + properties.setRemoteFileObject(editable); } private boolean isFileCached(ISystemEditableRemoteObject editable, IRemoteFile remoteFile) @@ -339,7 +389,7 @@ long storedModifiedStamp = properties.getRemoteFileTimeStamp(); // get updated remoteFile so we get the current remote timestamp - //remoteFile.markStale(true); + remoteFile.markStale(true); IRemoteFileSubSystem subsystem = remoteFile.getParentRemoteFileSubSystem(); try { @@ -366,9 +416,13 @@ boolean usedBinary = properties.getUsedBinaryTransfer(); boolean isBinary = remoteFile.isBinary(); + boolean usedReadOnly = properties.getReadOnly(); + boolean isReadOnly = !remoteFile.canWrite(); + return (!dirty && !remoteNewer && usedBinary == isBinary && + usedReadOnly == isReadOnly && !encodingChanged); } return false; @@ -395,8 +449,23 @@ IFile localFile = getLocalResource(remoteFile); - if (localFile == null) { - return registry.getDefaultEditor(remoteFile.getName()); + if (localFile == null || !localFile.exists()){ + // bug #376535 - need to respect editor overrides + IEditorDescriptor desc = registry.getDefaultEditor(remoteFile.getName(), IDE.guessContentType(localFile)); + // Using reflection in case IDE is older version, without this method + //desc = IDE.overrideDefaultEditorAssociation(new FileEditorInput(localFile), IDE.guessContentType(localFile), desc); + Class clazz = IDE.class; + try { + Class parmtypes[] = {IEditorInput.class, IContentType.class, IEditorDescriptor.class}; + Method method = clazz.getMethod("overrideDefaultEditorAssociation", parmtypes); //$NON-NLS-1$ + if (method != null) { + Object args[] = {new FileEditorInput(localFile), IDE.guessContentType(localFile), desc}; + desc = (IEditorDescriptor) method.invoke(null, args); + } + } catch (Exception e) { + } + + return desc; } else { return IDE.getDefaultEditor(localFile); @@ -458,7 +527,23 @@ IEditorDescriptor defaultEditor = registry.findEditor("org.eclipse.ui.DefaultTextEditor"); // may be null //$NON-NLS-1$ IEditorDescriptor preferredEditor = getPreferredEditor(_remoteFile); // may be null - Object[] editors = registry.getEditors(getFileName()); + IFile localFile = getLocalResource(_remoteFile); + IEditorDescriptor[] editors = registry.getEditors(getFileName()); + if (localFile != null) { + // bug #376535 - need to respect editor overrides + // Using reflection in case IDE is older version, without this method + //editors = IDE.overrideEditorAssociations(new FileEditorInput(localFile), IDE.guessContentType(localFile), editors); + Class clazz = IDE.class; + try { + Class parmtypes[] = {IEditorInput.class, IContentType.class, IEditorDescriptor[].class}; + Method method = clazz.getMethod("overrideEditorAssociations", parmtypes); //$NON-NLS-1$ + if (method != null) { + Object args[] = {new FileEditorInput(localFile), IDE.guessContentType(localFile), editors}; + editors = (IEditorDescriptor[]) method.invoke(null, args); + } + } catch (Exception e) { + } + } Collections.sort(Arrays.asList(editors), comparer); boolean defaultFound = false; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemUploadConflictAction.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemUploadConflictAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemUploadConflictAction.java 2009-05-27 15:14:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemUploadConflictAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,12 +24,15 @@ * David McKnight (IBM) - [249544] Save conflict dialog appears when saving files in the editor * Kevin Doyle (IBM) - [242389] [usability] RSE Save Conflict dialog should indicate which file is in conflict * David McKnight (IBM) - [267247] Wrong encoding + * David McKnight (IBM) - [330804] Change the default selection of Save Conflict dialog + * David McKnight (IBM) - [334839] File Content Conflict is not handled properly *******************************************************************************/ package org.eclipse.rse.internal.files.ui.actions; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; @@ -66,6 +69,8 @@ import org.eclipse.rse.ui.dialogs.SystemPromptDialog; import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Image; @@ -82,6 +87,7 @@ import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.FileEditorInput; @@ -140,8 +146,12 @@ } ReopenAction reopen = new ReopenAction(_tempFile, _saveasFile); - - Display.getDefault().asyncExec(reopen); + if (Display.getCurrent() != null){ + reopen.run(); + } + else { + Display.getDefault().asyncExec(reopen); + } } return Status.OK_STATUS; } @@ -165,13 +175,20 @@ String srcEncoding = RemoteFileUtility.getSourceEncoding(_tempFile); fs.download(_remoteFile, _tempFile.getLocation().makeAbsolute().toOSString(), srcEncoding, monitor); - + + // need to refresh this otherwise the local resource will be out of sync + _tempFile.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor()); properties.setRemoteFileTimeStamp(_remoteFile.getLastModified()); - //properties.setRemoteFileTimeStamp(-1); - - properties.setDirty(false); - properties.setUsedBinaryTransfer(_remoteFile.isBinary()); - } + properties.setDirty(false); + properties.setUsedBinaryTransfer(_remoteFile.isBinary()); + + Display.getDefault().asyncExec(new Runnable(){ + public void run(){ + IEditorPart part = getEditorFor(_tempFile); + part.setFocus(); + } + }); + } catch (final SystemMessageException e) { Display.getDefault().asyncExec(new Runnable() { @@ -274,6 +291,25 @@ _overwriteLocal = _overwriteLocalButton.getSelection(); _overwriteRemote = _overwriteRemoteButton.getSelection(); _saveas = _saveasButton.getSelection(); + if (_saveas){ + if (_saveasLocation == null){ + try { + _saveasLocation = _remoteFile.getParentRemoteFileSubSystem().getRemoteFileObject(_saveasFileEntry.getText(), new NullProgressMonitor()); + } catch (SystemMessageException e) { + } + if (_saveasLocation == null){ + enableOkButton(false); + _errorMessage = new SimpleSystemMessage(Activator.PLUGIN_ID, + ISystemFileConstants.MSG_VALIDATE_PATH_EMPTY, + IStatus.ERROR, + FileResources.MSG_VALIDATE_PATH_EMPTY, + FileResources.MSG_VALIDATE_PATH_EMPTY_DETAILS); + + setErrorMessage(_errorMessage); + return; + } + } + } close(); } @@ -354,7 +390,7 @@ _overwriteLocalButton = new Button(options, SWT.RADIO); _overwriteLocalButton.setText(FileResources.RESID_CONFLICT_SAVE_REPLACELOCAL); _overwriteLocalButton.addSelectionListener(this); - _overwriteLocalButton.setSelection(true); + _overwriteRemoteButton = new Button(options, SWT.RADIO); _overwriteRemoteButton.setText(FileResources.RESID_CONFLICT_SAVE_OVERWRITEREMOTE); @@ -363,6 +399,7 @@ _saveasButton = new Button(options, SWT.RADIO); _saveasButton.setText(FileResources.RESID_CONFLICT_SAVE_SAVETODIFFERENT); _saveasButton.addSelectionListener(this); + _saveasButton.setSelection(true); Composite s = new Composite(options, SWT.NONE); GridLayout slayout = new GridLayout(); @@ -371,18 +408,45 @@ s.setLayoutData(new GridData(GridData.FILL_BOTH)); _saveasFileEntry = new Text(s, SWT.BORDER); - _saveasFileEntry.setEnabled(false); + _saveasFileEntry.setEnabled(true); + _saveasFileEntry.addKeyListener(new KeyListener() { + + public void keyReleased(KeyEvent e) { + String loc = _saveasFileEntry.getText(); + if (loc != null && loc.length() > 0){ + _errorMessage = null; + setErrorMessage(_errorMessage); + enableOkButton(true); + } + else { + enableOkButton(false); + } + } + + public void keyPressed(KeyEvent e) { + } + }); GridData fileEntryData = new GridData(GridData.FILL_BOTH); fileEntryData.widthHint = 100; _saveasFileEntry.setLayoutData(fileEntryData); - _saveasFileEntry.setEditable(false); + _saveasFileEntry.setEditable(true); _browseButton = new Button(s, SWT.PUSH); _browseButton.setText(SystemResources.BUTTON_BROWSE); _browseButton.addSelectionListener(this); - _browseButton.setEnabled(false); + _browseButton.setEnabled(true); + // since saveas is the new default, need to prompt dialog with error message + enableOkButton(false); + _errorMessage = new SimpleSystemMessage(Activator.PLUGIN_ID, + ISystemFileConstants.MSG_VALIDATE_PATH_EMPTY, + IStatus.ERROR, + FileResources.MSG_VALIDATE_PATH_EMPTY, + FileResources.MSG_VALIDATE_PATH_EMPTY_DETAILS); + + setErrorMessage(_errorMessage); + setHelp(); return c; @@ -513,31 +577,7 @@ _saveasFile = saveasFile; } - private IEditorPart getEditorFor(IFile tempFile) - { - - IWorkbenchWindow window = SystemBasePlugin.getActiveWorkbenchWindow(); - if (window != null) - { - IWorkbenchPage page = window.getActivePage(); - if (page != null) - { - IEditorPart editor = page.getActiveEditor(); - IEditorInput input = editor.getEditorInput(); - if (input instanceof FileEditorInput) - { - FileEditorInput finput = (FileEditorInput) input; - if (finput.getFile().getFullPath().equals(tempFile.getFullPath())) - { - return editor; - } - } - } - } - - return null; - } - + public void run() { try @@ -577,6 +617,21 @@ e.printStackTrace(); } } + else { + // editor closed, possibly due to shutdown + // can't manipulate editors, but we can at least make the original temp file uptodate + SystemIFileProperties properties = new SystemIFileProperties(_tempFile); + SystemEditableRemoteFile edit = (SystemEditableRemoteFile)properties.getRemoteFileObject(); + if (edit != null){ + try { + edit.download(getShell()); + edit.addAsListener(); + edit.setLocalResourceProperties(); + } + catch (Exception e){ + } + } + } } } @@ -625,7 +680,13 @@ { IRemoteFile remoteFile = cnfDialog.getSaveasLocation(); BackgroundSaveasJob sjob = new BackgroundSaveasJob(remoteFile); - sjob.schedule(); + + if (PlatformUI.getWorkbench().isClosing()){ + sjob.run(new NullProgressMonitor()); + } + else { + sjob.schedule(); + } } } else @@ -635,4 +696,30 @@ properties.setDirty(true); } } + + private IEditorPart getEditorFor(IFile tempFile) + { + + IWorkbenchWindow window = SystemBasePlugin.getActiveWorkbenchWindow(); + if (window != null) + { + IWorkbenchPage page = window.getActivePage(); + if (page != null) + { + IEditorPart editor = page.getActiveEditor(); + IEditorInput input = editor.getEditorInput(); + if (input instanceof FileEditorInput) + { + FileEditorInput finput = (FileEditorInput) input; + if (finput.getFile().getFullPath().equals(tempFile.getFullPath())) + { + return editor; + } + } + } + } + + return null; + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/SystemFilePropertyPage.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/SystemFilePropertyPage.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/SystemFilePropertyPage.java 2008-05-27 21:31:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/SystemFilePropertyPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -28,6 +28,7 @@ * Xuan Chen (IBM) - [228707] get NPE when click ok on the properties page of an I5/OS IFS file * David McKnight (IBM) - [230001] Property page contains invalid values * David McKnight (IBM) - [199596] [refresh][ftp] Changing a file/folder's Read-Only attribute doesn't always update IRemoteFile + * David McKnight (IBM) - [373085] Changing the remote code page for a file transferred as text causes problems *******************************************************************************/ package org.eclipse.rse.internal.files.ui.propertypages; @@ -56,6 +57,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.services.files.RemoteFileIOException; import org.eclipse.rse.services.files.RemoteFileSecurityException; +import org.eclipse.rse.subsystems.files.core.SystemIFileProperties; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; import org.eclipse.rse.subsystems.files.core.subsystems.IVirtualRemoteFile; @@ -604,15 +606,35 @@ mgr.setEncoding(hostName, rfile.getAbsolutePath(), getSelectedEncoding()); } - + boolean isBinary = remoteFile.isBinary(); SystemEditableRemoteFile editable = new SystemEditableRemoteFile(remoteFile); - if (editable.checkOpenInEditor() != ISystemEditableRemoteObject.NOT_OPEN) { + if (editable.checkOpenInEditor() != ISystemEditableRemoteObject.NOT_OPEN) { // if the file is open IFile file = editable.getLocalResource(); - try { - file.setCharset(selectedEncoding, null); - } catch (CoreException e) { + if (isBinary){ // if binary, then we just need to change the encoding of the IFile so the editor can load properly + try { + file.setCharset(selectedEncoding, null); + } catch (CoreException e) { + } + } + else { + // we need to re-download and convert the file + SystemIFileProperties properties = new SystemIFileProperties(file); + properties.setRemoteFileTimeStamp(0); // clear the timestamp - so we can re-download + + try { + editable.download(getShell()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } } + else if (!isBinary){ + // we need to re-download and convert the file + SystemIFileProperties properties = new SystemIFileProperties(editable.getLocalResource()); + properties.setRemoteFileTimeStamp(0); // clear the timestamp - so we can re-download + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/UniversalPreferencePage.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/UniversalPreferencePage.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/UniversalPreferencePage.java 2009-02-03 18:59:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/propertypages/UniversalPreferencePage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,6 +21,8 @@ * David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared * David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others * David McKnight (IBM) - [245260] Different user's connections on a single host are mapped to the same temp files cache + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type + * David McKnight (IBM) - [389838] Fast folder transfer does not account for code page *******************************************************************************/ package org.eclipse.rse.internal.files.ui.propertypages; @@ -366,18 +368,21 @@ }); + boolean enableSuperTransfer = false; + // archive transfer Composite archiveGroup = new Composite(parent, SWT.NULL); GridLayout alayout = new GridLayout(); alayout.numColumns = 2; archiveGroup.setLayout(alayout); archiveGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); - + archiveGroup.setEnabled(enableSuperTransfer); // set it can be disabled doSuperTransferButton = SystemWidgetHelpers.createCheckBox(archiveGroup, FileResources.RESID_SUPERTRANSFER_PREFS_ENABLE, this); GridData cdata = new GridData(); cdata.horizontalSpan = 2; doSuperTransferButton.setLayoutData(cdata); + doSuperTransferButton.setEnabled(enableSuperTransfer); // so it can be disabled archiveTypeCombo = SystemWidgetHelpers.createLabeledReadonlyCombo(archiveGroup, null, FileResources.RESID_SUPERTRANSFER_PREFS_TYPE_LABEL, FileResources.RESID_SUPERTRANSFER_PREFS_TYPE_TOOLTIP); archiveTypeCombo.setItems(ArchiveHandlerManager.getInstance().getRegisteredExtensions()); @@ -475,9 +480,10 @@ - String[] contentTypes = new String[2]; + String[] contentTypes = new String[3]; contentTypes[0] = FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_BINARY_LABEL; contentTypes[1] = FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL; + contentTypes[2] = FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL; CellEditor editors[] = new CellEditor[3]; editors[0] = null; @@ -518,7 +524,8 @@ String superTransferArcType = store.getString(ISystemFilePreferencesConstants.SUPERTRANSFER_ARC_TYPE); archiveTypeCombo.setText(superTransferArcType); - boolean doSuperTransfer = store.getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + //boolean doSuperTransfer = store.getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + boolean doSuperTransfer = false; // disabling due to potential corruption doSuperTransferButton.setSelection(doSuperTransfer); // buffer sizes @@ -617,8 +624,9 @@ binaryFileImage = applyBinaryDecoration(fileImage); } + // for now just always using the same image - if (mapping.isBinary()) + if (mapping.isBinary() || mapping.isXML()) { return binaryFileImage; } @@ -645,9 +653,19 @@ item.setImage(0, image); item.setText(1, mapping.getLabel()); - boolean binary = mapping.isBinary(); - item.setText(2, binary ? FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_BINARY_LABEL : FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL); - + + boolean isText = mapping.isText(); + boolean isXML = mapping.isXML(); + + if (isText){ + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL); + } + else if (isXML){ + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL); + } + else { + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_BINARY_LABEL); + } if (selected) resourceTypeTable.setSelection(index); @@ -748,6 +766,11 @@ item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_BINARY_LABEL); item.setImage(getImageFor(mapping)); } + else if (mapping.isXML()){ + mapping.setAsXML(); + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL); + item.setImage(getImageFor(mapping)); + } } /** @@ -956,7 +979,8 @@ public static boolean getDoSuperTransfer() { IPreferenceStore store= RSEUIPlugin.getDefault().getPreferenceStore(); - return store.getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + //return store.getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + return false; // disabling due to potential corruption } public static int getDownloadBufferSize() @@ -1060,18 +1084,19 @@ if (value instanceof Integer) { int index = ((Integer)value).intValue(); - if (index == 0) - { + if (index == 0) { mapping.setAsBinary(); item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_BINARY_LABEL); - item.setImage(getImageFor(mapping)); } - else - { + else if (index == 1){ mapping.setAsText(); - item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL); - item.setImage(getImageFor(mapping)); + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_TEXT_LABEL); + } + else if (index == 2){ + mapping.setAsXML(); + item.setText(2, FileResources.RESID_PREF_UNIVERSAL_FILES_FILETYPES_MODE_XML_LABEL); } + item.setImage(getImageFor(mapping)); } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/resources/SystemRemoteEditManager.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/resources/SystemRemoteEditManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/resources/SystemRemoteEditManager.java 2009-06-03 16:39:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/resources/SystemRemoteEditManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,11 +20,13 @@ * David McKnight (IBM) - [253262] Cache Cleanup is removing .settings directory * David McKnight (IBM) - [245260] Different user's connections on a single host are mapped to the same temp files cache * David McKnight (IBM) - [276103] Files with names in different cases are not handled properly + * David McKnight (IBM) - [325502] The default editor for a file is not updated when opened in RSE explorer *******************************************************************************/ package org.eclipse.rse.internal.files.ui.resources; import java.io.File; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -871,7 +873,10 @@ } // fall through and let the new editable get created } - else { + else { + if (descriptor != null){ // update the editor descriptor + editable.setEditorDescriptor(descriptor); + } return editable; } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchPage.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchPage.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchPage.java 2009-06-08 21:02:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,6 +21,9 @@ * David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared * David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive * David McKnight (IBM) - [279307] NPE when select a filter remove search dialog + * Kit Lo (IBM) - [312923] TVT36:TCT252: JPN: Extra spaces in front of the second Regular expression checkbox (edit) + * David McKnight (IBM) - [340069] Change access modifier for SystemSearchPage methods to protected from private + * David McKnight (IBM) - [340212] Change access modifier for a few more SystemSearchPage methods *******************************************************************************/ package org.eclipse.rse.internal.files.ui.search; @@ -177,19 +180,19 @@ private static final int MAX_DATA_SIZE = 20; // inner class to hold search data - private class RemoteSearchData { + protected class RemoteSearchData { - private String searchString; - private boolean caseSensitive; - private boolean stringRegex; - private String fileNames; - private boolean fileNameCaseSensitive; - private boolean fileNameRegex; - private String profileName; - private String connectionName; - private String folderName; - private boolean includeArchives; - private boolean includeSubfolders; + public String searchString; + public boolean caseSensitive; + public boolean stringRegex; + public String fileNames; + public boolean fileNameCaseSensitive; + public boolean fileNameRegex; + public String profileName; + public String connectionName; + public String folderName; + public boolean includeArchives; + public boolean includeSubfolders; /** * Constructor for search data. @@ -604,7 +607,7 @@ * search data search string, then that data is deleted and replaced with the new data. * @return the search data corresponding to the current state of the dialog. */ - private RemoteSearchData getSearchData() { + protected RemoteSearchData getSearchData() { RemoteSearchData data = null; String searchString = stringCombo.getText(); @@ -666,7 +669,7 @@ * Gets the file names string. * @return the file names string. */ - private String getFileNames() { + protected String getFileNames() { return fileNameEditor.getFileNamesText(); } @@ -674,7 +677,7 @@ * Gets the profile name from the folder selection. * @return the profile name. */ - private String getProfileName() { + protected String getProfileName() { return folderNameEditor.getProfileName(); } @@ -682,7 +685,7 @@ * Gets the connection name from the folder selection. * @return the connection name. */ - private String getConnectionName() { + protected String getConnectionName() { return folderNameEditor.getConnectionName(); } @@ -690,7 +693,7 @@ * Gets the folder name from the folder selection. * @return the folder name. */ - private String getFolderName() { + protected String getFolderName() { return folderNameEditor.getFolderPath(); } @@ -1228,7 +1231,7 @@ * Gets the remote file subsystem for the given profile name and connection name. * @return the remote file subsystem, or null if the profile or connection does not exist. */ - private IRemoteFileSubSystem getRemoteFileSubSystem(String profName, String connName) { + protected IRemoteFileSubSystem getRemoteFileSubSystem(String profName, String connName) { if (profName == null || connName == null) { return null; @@ -1309,15 +1312,21 @@ fileNameCaseSensitiveButton.setLayoutData(gd); fileNameCaseSensitiveButton.setSelection(initialFileNameCaseSensitive); + // dummy label for alignment + Label dummyLabel = new Label(comp, SWT.LEFT); + dummyLabel.setText(""); //$NON-NLS-1$ + + gd = new GridData(GridData.BEGINNING); + gd.horizontalSpan = 2; + dummyLabel.setLayoutData(gd); + // checkbox for regex fileNameRegexButton = new Button(comp, SWT.CHECK); fileNameRegexButton.setText(FileResources.RESID_SEARCH_FILENAME_REGEX_LABEL); fileNameRegexButton.setToolTipText(FileResources.RESID_SEARCH_FILENAME_REGEX_TOOLTIP); - //gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); - gd = new GridData(GridData.HORIZONTAL_ALIGN_END); - gd.horizontalSpan = 3; fileNameRegexButton.setLayoutData(gd); fileNameRegexButton.setSelection(initialFileNameRegex); @@ -1517,7 +1526,7 @@ /** * Stores the current configuration to the dialog settings. */ - private void writeConfiguration() { + protected void writeConfiguration() { IDialogSettings s = getConfigDialogSettings(); s.put(STORE_CONFIG_CASE_SENSITIVE, caseButton.getSelection()); s.put(STORE_CONFIG_STRING_REGEX, stringRegexButton.getSelection()); @@ -1577,7 +1586,7 @@ /** * Writes the data. */ - private void writeData() { + protected void writeData() { // get the size of data int size = previousSearchData.size(); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java 2009-07-14 19:36:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -64,13 +64,32 @@ * David McKnight (IBM) - [276103] Files with names in different cases are not handled properly * David McKnight (IBM) - [276534] Cache Conflict After Synchronization when Browsing Remote System with Case-Differentiated-Only Filenames * David McKnight (IBM) - [280466] File download keeps running in case sensitive case + * David McKnight (IBM) - [309813] RSE permits opening of file after access removed + * David McKnight (IBM) - [308221] Bidi3.6: Improper display of date in Properties and Table Views + * David McKnight (IBM) - [317541] Show blank as the last modified for a file with no last modified + * David McKnight (IBM) - [323299] [files] remote file view adapter needs to use the latest version of IRemoteFile + * David McKnight (IBM) - [324192] Cannot open a renamed file + * David McKnight (IBM) - [228743] [usability][dnd] Paste into read-only folder fails silently + * David McKnight (IBM) - [284157] [performance] too many jobs kicked off for getting file permissions for table + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [215814] [performance] Duplicate Queries between Table and Remote Systems View + * David McKnight (IBM) - [249031] Last used editor should be set to SystemEditableRemoteFile + * David McKnight (IBM) - [341244] folder selection input to unlocked Remote Systems Details view sometimes fails + * David McKnight (IBM) - [363490] PHP files opening in system editor (Dreamweaver) + * Rick Sawyer (IBM) - [376535] RSE does not respect editor overrides + * David McKnight (IBM) - [389838] Fast folder transfer does not account for code page + * David Mcknight (IBM) - [374681] Incorrect number of children on the properties page of a directory + * Samuel Wu (IBM) - [398988] [ftp] FTP Only support to zVM + * Xuan Chen (IBM) - [399101] RSE edit actions on local files that map to actually workspace resources should not use temp files *******************************************************************************/ package org.eclipse.rse.internal.files.ui.view; import java.io.File; +import java.lang.reflect.Method; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; @@ -78,15 +97,18 @@ import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourceAttributes; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.runtime.content.IContentType; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; @@ -115,6 +137,7 @@ import org.eclipse.rse.core.subsystems.SubSystem; import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile; import org.eclipse.rse.files.ui.resources.UniversalFileTransferUtility; +import org.eclipse.rse.internal.core.RSECoreMessages; import org.eclipse.rse.internal.files.ui.Activator; import org.eclipse.rse.internal.files.ui.FileResources; import org.eclipse.rse.internal.files.ui.ISystemFileConstants; @@ -165,6 +188,7 @@ import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFile; import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileEmpty; import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileRoot; +import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFileSubSystem; import org.eclipse.rse.subsystems.files.core.subsystems.RemoteSearchResultsContentsType; import org.eclipse.rse.subsystems.files.core.util.ValidatorFileUniqueName; import org.eclipse.rse.ui.ISystemContextMenuConstants; @@ -186,20 +210,28 @@ import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; import org.eclipse.rse.ui.view.ISystemViewDropDestination; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; -import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IEditorDescriptor; +import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorRegistry; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.internal.WorkbenchPage; +import org.eclipse.ui.part.FileEditorInput; import org.eclipse.ui.progress.IElementCollector; import org.eclipse.ui.views.properties.IPropertyDescriptor; import org.eclipse.ui.views.properties.PropertyDescriptor; import com.ibm.icu.text.DateFormat; import com.ibm.icu.text.NumberFormat; +import com.ibm.icu.util.ULocale; + /** * Adapter for displaying remote file system objects in tree views. @@ -256,6 +288,60 @@ static final String _uploadMessage = FileResources.MSG_UPLOADING_PROGRESS; static final String _downloadMessage = FileResources.MSG_DOWNLOADING_PROGRESS; + public HashMap _permissionsJobMap = new HashMap(); + + class MultiFetchPermissionsJob extends Job { + private List _files; + private IFilePermissionsService _service; + private boolean _started = false; + + public MultiFetchPermissionsJob(IFilePermissionsService service){ + super(RSECoreMessages.RSESubSystemOperation_Get_properties_message); + _files = new ArrayList(); + _service = service; + } + + protected IStatus run(IProgressMonitor monitor) { + final ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + IRemoteFile[] files = null; + _started = true; + synchronized (_files){ + files = (IRemoteFile[])_files.toArray(new IRemoteFile[_files.size()]); + } + for (int i = 0; i < files.length; i++){ + IRemoteFile rFile = files[i]; + + try { + // service will take care of setting this on the host file + _service.getFilePermissions(rFile.getHostFile(), monitor); + registry.fireEvent(new SystemResourceChangeEvent(rFile, ISystemResourceChangeEvents.EVENT_PROPERTY_CHANGE, rFile)); + } + catch (Exception e){ + } + } + + _permissionsJobMap.remove(_service); + return Status.OK_STATUS; + } + + public int size(){ + return _files.size(); + } + + public boolean isStarted(){ + return _started; + } + + public void addFile(IRemoteFile file){ + if (!_files.contains(file)){ + _files.add(file); + } + } + + + } + + /** * Constructor */ @@ -421,18 +507,13 @@ if (moveAction == null) moveAction = new SystemMoveRemoteFileAction(shell); - //ISubSystem subsys = firstFile.getParentRemoteFileSubSystem(); - - // DKM - clipboard based copy actions - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); - if (pasteClipboardAction == null) { - pasteClipboardAction = new SystemPasteFromClipboardAction(shell, clipboard); + pasteClipboardAction = new SystemPasteFromClipboardAction(shell, null); } if (copyClipboardAction == null) { - copyClipboardAction = new SystemCopyToClipboardAction(shell, clipboard); + copyClipboardAction = new SystemCopyToClipboardAction(shell, null); } if (searchAction == null) { @@ -496,6 +577,31 @@ IRemoteFile file = (IRemoteFile) element; if (file.isFile() || file.isArchive()) // hack to show zips without folder icons { + // bug #376535 - need to respect editor overrides + IFile localFile = getLocalResource(file); + if (localFile != null) { + IEditorDescriptor editorDesc = getEditorRegistry().getDefaultEditor(file.getName(), IDE.guessContentType(localFile)); + // Using reflection in case IDE is older version, without this method + //editorDesc = IDE.overrideDefaultEditorAssociation(new FileEditorInput(localFile), IDE.guessContentType(localFile), editorDesc); + Class clazz = IDE.class; + try { + Class parmtypes[] = {IEditorInput.class, IContentType.class, IEditorDescriptor.class}; + Method method = clazz.getMethod("overrideDefaultEditorAssociation", parmtypes); //$NON-NLS-1$ + if (method != null) { + Object args[] = {new FileEditorInput(localFile), IDE.guessContentType(localFile), editorDesc}; + editorDesc = (IEditorDescriptor) method.invoke(null, args); + } + } catch (Exception e) { + } + + if (editorDesc != null) { + ImageDescriptor image = editorDesc.getImageDescriptor(); + if (image != null) { + return image; + } + } + } + return getEditorRegistry().getImageDescriptor(file.getName()); } else @@ -524,6 +630,25 @@ } /** + * Get the local cache of the remote file, or null if none. + * @param remoteFile the remote file. + * @return the local cached resource, or null if none. + */ + private IFile getLocalResource(IRemoteFile remoteFile) + { + IFile file = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + String absolutePath = remoteFile.getAbsolutePath(); + file = getProjectFileForLocation(absolutePath); + } + if (file == null) { + file = (IFile)UniversalFileTransferUtility.getTempFileFor(remoteFile); + } + return file; + } + + /** * Return the label for this object. Uses getName() on the remote file object. */ public String getText(Object element) @@ -642,6 +767,18 @@ return ((RemoteFileRoot) file).getRootFiles(); } IRemoteFileSubSystem ss = file.getParentRemoteFileSubSystem(); + + // make sure we have the lastest cached version otherwise could be working with a bad file that never got marked as stale + IRemoteFile originalFile = file; + if (ss instanceof RemoteFileSubSystem){ + IRemoteFile cachedFile = ((RemoteFileSubSystem)ss).getCachedRemoteFile(file.getAbsolutePath()); + if (cachedFile != null && cachedFile != originalFile){ + file = cachedFile; + if (originalFile.isStale()){ // the original file was marked stale, so the cached one should be too + file.markStale(true); + } + } + } /* @@ -741,65 +878,74 @@ } } - boolean hasChildren = file.hasContents(RemoteChildrenContentsType.getInstance(), filter); - - if (hasChildren && !file.isStale()) - { - children = file.getContents(RemoteChildrenContentsType.getInstance(), filter); - children = filterChildren(children); - } - else - { - try + // taking out the synchronized block to avoid potential deadlock + // TODO next release, find a risk-free way to avoid duplicate queries + // synchronized (file) + + { + boolean hasChildren = file.hasContents(RemoteChildrenContentsType.getInstance(), filter); + + if (hasChildren && !file.isStale()) { - if (monitor != null) - { - - children = ss.resolveFilterString(file, filter, monitor); - } - else - { - children = ss.resolveFilterString(file, filter, new NullProgressMonitor()); - } - - if ((children == null) || (children.length == 0)) - { - children = EMPTY_LIST; - } - else + children = file.getContents(RemoteChildrenContentsType.getInstance(), filter); + children = filterChildren(children); + } + else + { + try { - if (children.length == 1 && children[0] instanceof SystemMessageObject) + if (monitor != null) + { + + children = ss.resolveFilterString(file, filter, monitor); + } + else + { + children = ss.resolveFilterString(file, filter, new NullProgressMonitor()); + } + + if ((children == null) || (children.length == 0)) { - // don't filter children so that the message gets propagated + children = EMPTY_LIST; } else { - children = filterChildren(children); + if (children.length == 1 && children[0] instanceof SystemMessageObject) + { + // don't filter children so that the message gets propagated + } + else + { + children = filterChildren(children); + } } + } - - } - catch (InterruptedException exc) - { - children = new SystemMessageObject[1]; - SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, - ICommonMessageIds.MSG_EXPAND_CANCELLED, - IStatus.CANCEL, CommonMessages.MSG_EXPAND_CANCELLED); - children[0] = new SystemMessageObject(msg, ISystemMessageObject.MSGTYPE_CANCEL, element); + catch (InterruptedException exc) + { + children = new SystemMessageObject[1]; + SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, + ICommonMessageIds.MSG_EXPAND_CANCELLED, + IStatus.CANCEL, CommonMessages.MSG_EXPAND_CANCELLED); + children[0] = new SystemMessageObject(msg, ISystemMessageObject.MSGTYPE_CANCEL, element); + } + catch (Exception exc) + { + children = new SystemMessageObject[1]; + + SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, + ICommonMessageIds.MSG_EXPAND_FAILED, + IStatus.ERROR, + CommonMessages.MSG_EXPAND_FAILED); + children[0] = new SystemMessageObject(msg, ISystemMessageObject.MSGTYPE_ERROR, element); + SystemBasePlugin.logError("Exception resolving file filter strings", exc); //$NON-NLS-1$ + } // message already issued + } + file.markStale(false); + if (originalFile != null && originalFile != file){ + originalFile.markStale(false); } - catch (Exception exc) - { - children = new SystemMessageObject[1]; - - SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, - ICommonMessageIds.MSG_EXPAND_FAILED, - IStatus.ERROR, - CommonMessages.MSG_EXPAND_FAILED); - children[0] = new SystemMessageObject(msg, ISystemMessageObject.MSGTYPE_ERROR, element); - SystemBasePlugin.logError("Exception resolving file filter strings", exc); //$NON-NLS-1$ - } // message already issued } - file.markStale(false); return children; } @@ -851,6 +997,20 @@ { IRemoteFile file = (IRemoteFile) element; + IRemoteFileSubSystem ss = file.getParentRemoteFileSubSystem(); + + // make sure we have the lastest cached version otherwise could be working with a bad file that never got marked as stale + IRemoteFile originalFile = file; + if (ss instanceof RemoteFileSubSystem){ + IRemoteFile cachedFile = ((RemoteFileSubSystem)ss).getCachedRemoteFile(file.getAbsolutePath()); + if (cachedFile != null && cachedFile != originalFile){ + file = cachedFile; + if (originalFile.isStale()){ // the original file was marked stale, so the cached one should be too + file.markStale(true); + } + } + } + if (!file.exists()) return false; @@ -1287,11 +1447,20 @@ Date date = file.getLastModifiedDate(); if (date != null) { + long t = date.getTime(); + if (formatted) { - DateFormat datefmt = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM); - String formattedDate = datefmt.format(date); - return formattedDate; + if (t == 0){ + // no time available, we should leave this blank + return ""; //$NON-NLS-1$ + } + else { + ULocale locale = ULocale.getDefault(); + DateFormat icufmt = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.MEDIUM, locale); + String formattedDate = icufmt.format(date); + return formattedDate; + } } else { @@ -1464,26 +1633,18 @@ if (rFile.getHostFile() instanceof IHostFilePermissionsContainer){ ((IHostFilePermissionsContainer)rFile.getHostFile()).setPermissions(new PendingHostFilePermissions()); } - - Job deferredFetch = new Job(NLS.bind(FileResources.MESSAGE_GETTING_PERMISSIONS, file.getAbsolutePath())) - { - public IStatus run(IProgressMonitor monitor){ - try - { - // service will take care of setting this on the host file - service.getFilePermissions(rFile.getHostFile(), monitor); - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireEvent(new SystemResourceChangeEvent(rFile, ISystemResourceChangeEvents.EVENT_PROPERTY_CHANGE, rFile)); - } - catch (Exception e) - { - } - return Status.OK_STATUS; - } - }; - deferredFetch.schedule(); - - + + MultiFetchPermissionsJob deferredFetch = (MultiFetchPermissionsJob)_permissionsJobMap.get(service); + if (deferredFetch == null || deferredFetch.isStarted() || deferredFetch.size() > 50){ // max 50 files per job + deferredFetch = new MultiFetchPermissionsJob(service); + _permissionsJobMap.put(service, deferredFetch); + deferredFetch.addFile(file); + deferredFetch.schedule(100); + } + else { + deferredFetch.addFile(file); + } + return true; // query kicked off } } @@ -1519,9 +1680,13 @@ if (element instanceof IRemoteFile) { IRemoteFile file = (IRemoteFile) element; - boolean offline = file.getParentRemoteFileSubSystem().isOffline(); - boolean supportsArchiveManagement = file.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement(); - return !offline && file.canRead() && file.canWrite() && (file.isDirectory() || file.isRoot() || (file.isArchive() && supportsArchiveManagement)); + IRemoteFileSubSystem ss = file.getParentRemoteFileSubSystem(); + IRemoteFileSubSystemConfiguration config = ss.getParentRemoteFileSubSystemConfiguration(); + boolean offline = ss.isOffline(); + boolean isWindows = !config.isUnixStyle(); // windows check for bug 228743 + boolean supportsArchiveManagement = config.supportsArchiveManagement(); + + return !offline && file.canRead() && (file.canWrite() || isWindows) && (file.isDirectory() || file.isRoot() || (file.isArchive() && supportsArchiveManagement)); } return false; @@ -1539,10 +1704,12 @@ if (target instanceof IRemoteFile) { IRemoteFile targetFile = (IRemoteFile) target; - boolean supportsArchiveManagement = targetFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement(); + IRemoteFileSubSystemConfiguration config = targetFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration(); + boolean supportsArchiveManagement = config.supportsArchiveManagement(); if (!targetFile.isFile() || (targetFile.isArchive() && supportsArchiveManagement)) { - targetFile.canWrite(); + boolean isWindows = !config.isUnixStyle(); + return targetFile.canWrite() || isWindows; // windows check for bug 228743 } // all objects are of same type, so we only need to use first to validate Object first = srcSet.get(0); @@ -1580,7 +1747,8 @@ if (target instanceof IRemoteFile) { IRemoteFile targetFile = (IRemoteFile) target; - boolean supportsArchiveManagement = targetFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement(); + IRemoteFileSubSystemConfiguration config = targetFile.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration(); + boolean supportsArchiveManagement = config.supportsArchiveManagement(); if (!targetFile.isFile() || (targetFile.isArchive() && supportsArchiveManagement)) { // get properties @@ -1671,7 +1839,8 @@ { boolean supportsSearch = ((IRemoteFileSubSystemConfiguration)set.getSubSystem().getSubSystemConfiguration()).supportsSearch(); - boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); +// boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + boolean doSuperTransferProperty = false; // disabling due to potential corruption if (!doSuperTransferProperty && supportsSearch) { //flatset will contain all FILES that will be copied to workspace in UniversalFileTransferUtility and create corresponding folders. Empty folders will be ignored @@ -1993,18 +2162,21 @@ { IRemoteFile targetFolder = (IRemoteFile) target; IRemoteFileSubSystem targetFS = targetFolder.getParentRemoteFileSubSystem(); + boolean isWindows = !targetFS.getParentRemoteFileSubSystemConfiguration().isUnixStyle(); // make sure properties are uptodate try { //targetFolder.markStale(true); targetFolder = targetFS.getRemoteFileObject(targetFolder.getAbsolutePath(), monitor); + if (targetFolder == null) + targetFolder = (IRemoteFile)target; } catch (Exception e) { } - if (!targetFolder.canWrite()) + if (!targetFolder.canWrite() && !isWindows) // windows check for bug 228743 { String msgTxt = FileResources.FILEMSG_SECURITY_ERROR; String msgDetails = NLS.bind(FileResources.FILEMSG_SECURITY_ERROR_DETAILS, targetFS.getHostAliasName()); @@ -2025,7 +2197,8 @@ { if (fromSet instanceof SystemWorkspaceResourceSet) { - boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + //boolean doSuperTransferProperty = RSEUIPlugin.getDefault().getPreferenceStore().getBoolean(ISystemFilePreferencesConstants.DOSUPERTRANSFER); + boolean doSuperTransferProperty = false; // disabling due to potential corruption if (!doSuperTransferProperty) { SystemWorkspaceResourceSet flatFromSet = new SystemWorkspaceResourceSet(); @@ -2438,6 +2611,8 @@ { //targetFolder.markStale(true); targetFolder = targetFS.getRemoteFileObject(targetFolder.getAbsolutePath(), monitor); + if (targetFolder == null) + targetFolder = (IRemoteFile)target; } catch (Exception e) { @@ -2883,6 +3058,7 @@ } catch (Exception e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); } } @@ -2919,13 +3095,12 @@ if (editableObj != null) { SystemEditableRemoteFile editable = (SystemEditableRemoteFile)editableObj; - - // is this open? - if (editable.checkOpenInEditor() != ISystemEditableRemoteObject.NOT_OPEN){ - // there's an in-memory editable, so change the associated remote file - IRemoteFile newRemoteFile = ss.getRemoteFileObject(remotePath, new NullProgressMonitor()); - editable.setRemoteFile(newRemoteFile); - } + + // change the remote file regardless of whether it's open in an editor or not + // there's an in-memory editable, so change the associated remote file + IRemoteFile newRemoteFile = ss.getRemoteFileObject(remotePath, new NullProgressMonitor()); + editable.setRemoteFile(newRemoteFile); + } } catch (Exception e) @@ -2947,6 +3122,22 @@ String newRemotePath = file.getParentPath() + "/" + newName; //$NON-NLS-1$ IResource localResource = null; + IResource localProjectResource = null; + if (file.getHost().getSystemType().isLocal()) + { + if (file.isFile()) { + localProjectResource = getProjectFileForLocation(file.getAbsolutePath()); + } + else { + localProjectResource = getProjectFolderForLocation(file.getAbsolutePath()); + } + } + if (localProjectResource != null) { + //This is a local project file. So we will rename it directly in the workbench. + IPath newLocalPath = localProjectResource.getParent().getFullPath().append(newName); + localProjectResource.move(newLocalPath, true, null); + return true; + } if (SystemRemoteEditManager.getInstance().doesRemoteEditProjectExist()) { localResource = UniversalFileTransferUtility.getTempFileFor(file); @@ -3274,6 +3465,26 @@ } // only handle double click if object is a file + String absolutePath = remoteFile.getAbsolutePath(); + IFile localFile = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + localFile = getProjectFileForLocation(absolutePath); + } + if (localFile != null) { + try { + if (!localFile.exists()) { + + localFile.refreshLocal(IResource.DEPTH_ZERO, null); + } + openEditor(localFile, !remoteFile.canWrite()); + } + catch (Exception e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + return false; + } + return true; + } ISystemEditableRemoteObject editable = getEditableRemoteObject(remoteFile); if (editable != null) { @@ -3310,7 +3521,31 @@ // open new editor for correct replica editable = getEditableRemoteObject(remoteFile); - } + } + + + /* Commenting out - no longer needed with fix to bug #376535 + if (editable instanceof SystemEditableRemoteFile){ + SystemEditableRemoteFile edit = (SystemEditableRemoteFile)editable; + IEditorDescriptor oldDescriptor = edit.getEditorDescriptor(); + IEditorDescriptor curDescriptor = null; + IFile file = editable.getLocalResource(); + + if (file == null || !file.exists()){ + curDescriptor = registry.getDefaultEditor(remoteFile.getName()); + } + if (curDescriptor == null){ + try { + curDescriptor = IDE.getEditorDescriptor(file); + } catch (PartInitException e) { + curDescriptor = IDE.getDefaultEditor(file); + } + } + if (oldDescriptor != curDescriptor){ + edit.setEditorDescriptor(curDescriptor); + } + } + */ try { @@ -3358,6 +3593,12 @@ // in the system editor) IFile file = editable.getLocalResource(); SystemIFileProperties properties = new SystemIFileProperties(file); + try { + // refresh workspace with just added resource + file.refreshLocal(IResource.DEPTH_ZERO, null); + } catch (CoreException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } boolean newFile = !file.exists(); // detect whether there exists a temp copy already @@ -3401,9 +3642,13 @@ boolean usedBinary = properties.getUsedBinaryTransfer(); boolean isBinary = remoteFile.isBinary(); + boolean usedReadOnly = properties.getReadOnly(); + boolean isReadOnly = !remoteFile.canWrite(); + return (!dirty && !remoteNewer && usedBinary == isBinary && + usedReadOnly == isReadOnly && !encodingChanged); } return false; @@ -3425,9 +3670,21 @@ RemoteFile remoteFile = (RemoteFile) element; if (remoteFile.isFile()) { + String absolutePath = remoteFile.getAbsolutePath(); + IFile localProjectFile = null; + if (remoteFile.getHost().getSystemType().isLocal()) + { + localProjectFile = getProjectFileForLocation(absolutePath); + } try { - IFile file = getCachedCopy(remoteFile); // Note that this is a case-sensitive check + IFile file = null; + if (localProjectFile == null) { + file = getCachedCopy(remoteFile); // Note that this is a case-sensitive check + } + else { + file = localProjectFile; + } if (file != null) { SystemIFileProperties properties = new SystemIFileProperties(file); @@ -3712,4 +3969,111 @@ { return new SystemFetchOperation(null, o, this, collector, true); } + + private static IFile getProjectFileForLocation(String absolutePath) + { + IPath workspacePath = new Path(absolutePath); + IFile file = SystemBasePlugin.getWorkspaceRoot().getFileForLocation(workspacePath); + return file; + } + + private static IContainer getProjectFolderForLocation(String absolutePath) + { + IPath workspacePath = new Path(absolutePath); + IContainer container = SystemBasePlugin.getWorkspaceRoot().getContainerForLocation(workspacePath); + return container; + } + + private static void openEditor(IFile localFile, boolean readOnly) throws PartInitException { + IEditorDescriptor editorDescriptor = null; + + try { + editorDescriptor = IDE.getEditorDescriptor(localFile); + } catch (PartInitException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + + if (editorDescriptor == null) { + if (PlatformUI.isWorkbenchRunning()) + { + IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry(); + editorDescriptor = registry.findEditor("org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$ + } + } + + //This file is from local connection, and it is inside a project in the work + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + + ResourceAttributes attr = localFile.getResourceAttributes(); + if (attr!=null) { + attr.setReadOnly(readOnly); + try + { + localFile.setResourceAttributes(attr); + } + catch (Exception e) + { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + } + + // set editor as preferred editor for this file + String editorId = null; + if (editorDescriptor != null) { + editorId = editorDescriptor.getId(); + } + + IDE.setDefaultEditor(localFile, editorId); + if (editorDescriptor.isOpenExternal()){ + openSystemEditor(localFile); // opening regular way doesn't work anymore + } + else { + FileEditorInput finput = new FileEditorInput(localFile); + // check for files already open + if (editorDescriptor != null && editorDescriptor.isOpenExternal()){ + ((WorkbenchPage)activePage).openEditorFromDescriptor(new FileEditorInput(localFile), editorDescriptor, true, null); + } + else { + activePage.openEditor(finput, editorDescriptor.getId()); + } + + return; + } + } + + private static void openSystemEditor(IFile localFile) throws PartInitException { + IEditorDescriptor editorDescriptor = null; + + try { + editorDescriptor = IDE.getEditorDescriptor(localFile); + } catch (PartInitException e) { + SystemBasePlugin.logError(e.getLocalizedMessage(), e); + } + + if (editorDescriptor == null) { + if (PlatformUI.isWorkbenchRunning()) + { + IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry(); + editorDescriptor = registry.findEditor("org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$ + } + } + + //This file is from local connection, and it is inside a project in the work + IWorkbenchPage activePage = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage(); + + // set editor as preferred editor for this file + String editorId = null; + if (editorDescriptor != null) { + editorId = editorDescriptor.getId(); + } + + IDE.setDefaultEditor(localFile, editorId); + + FileEditorInput fileInput = new FileEditorInput(localFile); + activePage.openEditor(fileInput, IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID); + + return; + + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/feature.properties 2009-05-27 22:32:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ featureName=RSE FTP Service # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=The Remote System Explorer (RSE) ftp feature contains an FTP-based \ @@ -27,7 +27,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Symbian Software Ltd. and others.\n\ +Copyright (c) 2000, 2012 Symbian Software Ltd. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -44,8 +44,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -53,42 +53,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -97,47 +93,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/feature.xml 2009-08-06 22:00:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + @@ -38,7 +38,7 @@ - + @@ -46,8 +46,8 @@ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/license.html 2007-06-04 16:09:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.ftp + 3.1.0-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.properties 2009-05-27 22:32:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=RSE FTP Service Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=The Remote System Explorer (RSE) ftp feature contains an FTP-based \ @@ -29,7 +29,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Symbian Software Ltd. and others.\n\ +Copyright (c) 2000, 2012 Symbian Software Ltd. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -46,8 +46,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -55,42 +55,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -99,47 +95,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:12:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.properties 2009-05-27 22:43:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,6 +21,6 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Symbian Software Ltd. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Symbian Software Ltd. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/build.properties 2009-05-14 07:35:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 07:35:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE FTP Service Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.ftp-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.importexport/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/.cvsignore 2007-03-22 14:50:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.importexport/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/META-INF/MANIFEST.MF 2009-09-15 20:34:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.importexport; singleton:=true -Bundle-Version: 1.2.1.qualifier +Bundle-Version: 1.2.300.qualifier Bundle-Activator: org.eclipse.rse.internal.importexport.RemoteImportExportPlugin Bundle-Localization: plugin Export-Package: org.eclipse.rse.internal.importexport;x-internal:=true, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.importexport/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/plugin.properties 2009-05-13 22:11:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ # Plugin name pluginName = RSE Import/Export -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project # Remote file import and export wizards newWizardCategoryName = Remote Systems diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.importexport/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.importexport + 1.2.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExportWizardPage1.java eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExportWizardPage1.java --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExportWizardPage1.java 2009-04-17 15:03:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExportWizardPage1.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared * Takuya Miyamoto - [185925] Integrate Platform/Team Synchronization * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support + * David McKnight (IBM) - [341630] [import/export] destination prompt not cleared after destination chosen *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -728,6 +729,9 @@ if (destinationValue.length() == 0) { setMessage(DESTINATION_EMPTY_MESSAGE); return false; + } + else { + setMessage((String)null); // clear the message when a destination has been chosen } String conflictingContainer = getConflictingContainerNameFor(destinationValue); if (conflictingContainer != null) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExporter.java eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExporter.java --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExporter.java 2008-05-05 18:43:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteExporter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,11 +9,14 @@ * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - [183824] Forward SystemMessageException from IRemoteFileSubsystem * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding + * David McKnight (IBM) - [191482] [importexport][efs] Export from Project on a remote EFS project Errors *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; import java.io.File; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; @@ -23,6 +26,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.services.clientserver.messages.SystemMessageException; +import org.eclipse.rse.services.files.IFileService; import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; @@ -101,7 +105,40 @@ } String localEncoding = file.getCharset(); String hostEncoding = Utilities.getIRemoteFile(_host, dest).getEncoding(); - rfss.upload(file.getLocation().makeAbsolute().toOSString(), localEncoding, dest, hostEncoding, new NullProgressMonitor()); //$NON-NLS-1$ + IPath location = file.getLocation(); + if (location != null){ + rfss.upload(location.makeAbsolute().toOSString(), localEncoding, dest, hostEncoding, new NullProgressMonitor()); //$NON-NLS-1$ + } + else { + // an EFS file + int lastSep = dest.lastIndexOf(sep); + String remoteParent = dest.substring(0, lastSep); + String remoteFile = dest.substring(lastSep +1); + + OutputStream outstream = rfss.getOutputStream(remoteParent, remoteFile, IFileService.NONE, new NullProgressMonitor()); + + InputStream instream = file.getContents(); + try { + int length = 1000; + byte[] buffer = new byte[length]; + + int bytesRead = 0; + boolean done = false; + while (!done){ + bytesRead = instream.read(buffer, 0, length); + if (bytesRead > 0){ + outstream.write(buffer, 0, bytesRead); + } + if (bytesRead == -1){ + done = true; + } + } + } + finally { + instream.close(); + outstream.close(); + } + } } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java 2009-06-03 16:41:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteFileImportOperation.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support * David McKnight (IBM) - [276535] File Conflict when Importing Remote Folder with Case-Differentiated-Only Filenames into Project + * David McKnight (IBM) - [191558] [importexport][efs] Import to Project doesn't work with remote EFS projects *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -20,6 +21,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -506,8 +508,22 @@ return; } - - rfss.download(((UniFilePlus) fileObject).remoteFile, targetResource.getLocation().makeAbsolute().toOSString(), encoding, null); + if (targetResource.getLocation() == null){ + // an EFS file destination + String remoteFileName = ((UniFilePlus) fileObject).remoteFile.getName(); + String remoteParentPath = ((UniFilePlus) fileObject).remoteFile.getParentPath(); + + InputStream instream = rfss.getInputStream(remoteParentPath, remoteFileName, true, monitor); + if (!targetResource.exists()){ + targetResource.create(instream, IResource.FORCE, monitor); + } + else { + targetResource.setContents(instream, IResource.FORCE, monitor); + } + } + else { + rfss.download(((UniFilePlus) fileObject).remoteFile, targetResource.getLocation().makeAbsolute().toOSString(), encoding, null); + } try { // refresh workspace with just added resource targetResource.refreshLocal(IResource.DEPTH_ZERO, new SubProgressMonitor(monitor, 1, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java 2009-05-19 15:36:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/RemoteImportWizardPage1.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,8 @@ * Takuya Miyamoto - [185925] Integrate Platform/Team Synchronization * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support * David McKnight (IBM) - [276535] File Conflict when Importing Remote Folder with Case-Differentiated-Only Filenames into Project + * David McKnight (IBM) - [191558] [importexport][efs] Import to Project doesn't work with remote EFS projects + * David McKnight (IBM) - [368465] Import Files -RSE - Cyclic Symbolic Reference problem *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -140,6 +142,7 @@ private Object _fileSystemObject; private IImportStructureProvider _provider; private MinimizedFileSystemElement _element; + private List _resultsQueried; private volatile boolean _isActive = false; public QueryAllJob(Object fileSystemObject, IImportStructureProvider provider, MinimizedFileSystemElement element){ @@ -147,19 +150,21 @@ _fileSystemObject = fileSystemObject; _provider = provider; _element = element; + _resultsQueried = new ArrayList(); } public IStatus run(IProgressMonitor monitor){ _isActive = true; + Display.getDefault().asyncExec(new Runnable(){ + public void run(){ + updateWidgetEnablements(); + selectionGroup.setAllSelections(true); + } + }); query(_fileSystemObject, _element, monitor); _isActive = false; - Display.getDefault().asyncExec(new Runnable(){ - public void run(){ - updateWidgetEnablements(); - selectionGroup.setAllSelections(true); - } - }); + return Status.OK_STATUS; } @@ -184,14 +189,18 @@ while (childrenEnum.hasNext()) { Object child = childrenEnum.next(); - String elementLabel = _provider.getLabel(child); - //Create one level below - MinimizedFileSystemElement result = new MinimizedFileSystemElement(elementLabel, element, _provider.isFolder(child)); - result.setFileSystemObject(child); - - if (child instanceof UniFilePlus){ - if (((UniFilePlus)child).isDirectory()){ - resultsToQuery.add(result); + if (!_resultsQueried.contains(child)){ + _resultsQueried.add(child); + + String elementLabel = _provider.getLabel(child); + //Create one level below + MinimizedFileSystemElement result = new MinimizedFileSystemElement(elementLabel, element, _provider.isFolder(child)); + result.setFileSystemObject(child); + + if (child instanceof UniFilePlus){ + if (((UniFilePlus)child).isDirectory()){ + resultsToQuery.add(result); + } } } } @@ -1454,8 +1463,15 @@ IContainer container = getSpecifiedContainer(); if (container == null) return false; - else - return getSpecifiedContainer().getLocation().isPrefixOf(sourcePath); + else { + if (container.getLocation() == null){ + // this is an EFS project + return false; + } + else { + return container.getLocation().isPrefixOf(sourcePath); + } + } } /* (non-Javadoc) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/UniFilePlus.java eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/UniFilePlus.java --- eclipse-rse-3.1.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/UniFilePlus.java 2009-04-17 15:03:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.importexport/src/org/eclipse/rse/internal/importexport/files/UniFilePlus.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * David Dykstal (IBM) [230821] fix IRemoteFileSubSystem API to be consistent with IFileService * Takuya Miyamoto - [185925] Integrate Platform/Team Synchronization * David McKnight (IBM) - [272708] [import/export] fix various bugs with the synchronization support + * David McKnight (IBM) - [368465] Import Files -RSE - Cyclic Symbolic Reference problem *******************************************************************************/ package org.eclipse.rse.internal.importexport.files; @@ -57,13 +58,13 @@ public boolean canWrite() { return remoteFile.canWrite(); } - + public int compareTo(File pathname) { - if (pathname instanceof UniFilePlus) return remoteFile.compareTo(pathname); + if (pathname instanceof UniFilePlus) + return remoteFile.compareTo(pathname); return super.compareTo(pathname); } - - /* +/* public int compareTo(Object o) { return remoteFile.compareTo(o); @@ -118,7 +119,13 @@ } public boolean equals(Object obj) { - return remoteFile.equals(obj); + if (obj instanceof UniFilePlus){ + UniFilePlus uniF = (UniFilePlus)obj; + return remoteFile.getCanonicalPath().equals(uniF.remoteFile.getCanonicalPath()); + } + else { + return remoteFile.equals(obj); + } } public boolean exists() { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.local-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/feature.properties 2009-05-27 22:32:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ featureName=RSE Local Services # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=Remote System Explorer (RSE) Local Services provides an \ @@ -28,7 +28,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.local-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/feature.xml 2009-07-30 13:35:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.local-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/license.html 2007-06-04 16:08:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.local-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.local + 2.1.400-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplateFeature/feature.properties 2009-05-27 22:32:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=RSE Local Services Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=Remote System Explorer (RSE) Local Services provides an \ @@ -30,7 +30,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -44,8 +44,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -53,42 +53,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -97,47 +93,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplateFeature/license.html 2007-06-04 16:08:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:13:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.properties 2009-05-27 22:43:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/build.properties 2009-05-14 08:14:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 08:14:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE Local Services Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.local-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/.cvsignore 2006-04-10 20:34:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/META-INF/MANIFEST.MF 2009-07-30 13:35:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.processes.ui;singleton:=true -Bundle-Version: 3.0.101.qualifier +Bundle-Version: 3.0.400.qualifier Bundle-Activator: org.eclipse.rse.internal.processes.ui.ProcessesPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/plugin.properties 2009-05-27 15:12:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Processes UI -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project #Factory.LocalProcesses = Local Processes PropertyPage.ServerLauncherSettings = Server Launcher Settings diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.processes.ui + 3.0.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/src/org/eclipse/rse/internal/processes/ui/dialogs/RemoteProcessesDialog.java eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/src/org/eclipse/rse/internal/processes/ui/dialogs/RemoteProcessesDialog.java --- eclipse-rse-3.1.2/org.eclipse.rse.processes.ui/src/org/eclipse/rse/internal/processes/ui/dialogs/RemoteProcessesDialog.java 2007-06-05 10:56:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.processes.ui/src/org/eclipse/rse/internal/processes/ui/dialogs/RemoteProcessesDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [302485] RemoteProcessesDialog doesn't check for null selection on okay *******************************************************************************/ package org.eclipse.rse.internal.processes.ui.dialogs; @@ -123,10 +123,11 @@ protected boolean processOK() { StructuredSelection sel = (StructuredSelection)_viewer.getSelection(); - IRemoteProcess proc = (IRemoteProcess)sel.getFirstElement(); - if (proc != null) - { - _selected = proc; + if (sel.getFirstElement() instanceof IRemoteProcess){ + IRemoteProcess proc = (IRemoteProcess)sel.getFirstElement(); + if (proc != null){ + _selected = proc; + } } return true; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.remotecdt/.project eclipse-rse-3.4.2/org.eclipse.rse.remotecdt/.project --- eclipse-rse-3.1.2/org.eclipse.rse.remotecdt/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.remotecdt/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,11 @@ + + + org.eclipse.rse.remotecdt + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.remotecdt/README.txt eclipse-rse-3.4.2/org.eclipse.rse.remotecdt/README.txt --- eclipse-rse-3.1.2/org.eclipse.rse.remotecdt/README.txt 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.remotecdt/README.txt 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,4 @@ +As of RSE 3.1m7 (May 1, 2009), the remotecdt integration has moved into CDT. Get it from + +Repository: :pserver:anonymous@dev.eclipse.org:/cvsroot/tools +Module: org.eclipse.cdt/cross/org.eclipse.cdt.launch.remote diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/.project eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/.project --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + org.eclipse.rse.scp-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/build.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,18 @@ +################################################################################ +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# Anna Dushistova(Mentor Graphics)- adapted from WinCE +################################################################################ +bin.includes = feature.xml,\ + feature.properties,\ + license.html,\ + epl-v10.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.rse.subsystems.files.scp.source=org.eclipse.rse.subsystems.files.scp + \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,168 @@ +################################################################################ +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# Anna Dushistova(Mentor Graphics)- adapted from WinCE +################################################################################ + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +# "featureName" property - name of the feature +featureName=RSE SCP File Services (Incubation) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "description" property - description of the feature +description=SCP file services for the Remote System Explorer (RSE). \ +Supports non-Windows systems. Includes Source. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2009, 2012 Mentor Graphics Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,58 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.scp + 0.2.0-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,174 @@ +################################################################################ +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# Anna Dushistova(Mentor Graphics)- adapted from WinCE feature.properties +################################################################################ + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=RSE SCP Files Services Source (Incubation) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "description" property - description of the feature +description=SCP file services for the Remote System Explorer (RSE). \ +Supports non-Windows systems. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2009, 2012 Mentor Graphics Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.html eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,33 @@ + + + + +About + + +

    About This Content

    + +

    March 27, 2008

    +

    License

    + +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + +

    Source Code

    +

    This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

    + + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.ini 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=tm32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.mappings eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.mappings --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.mappings 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.mappings 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,30 @@ +################################################################################ +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# Anna Dushistova(Mentor Graphics) - adapted from WinCE +################################################################################ + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=RSE SCP File Services Source (Incubation)\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Mentor Graphics Corporation and others 2009, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,13 @@ +############################################################################### +# Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +# Anna Dushistova (Mentor Graphics)- adapted from WinCE +############################################################################### +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/plugin.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ +################################################################################ +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# Anna Dushistova(Mentor Graphics)- adapted from WinCE +################################################################################ + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +pluginName=RSE SCP File Services Source (Incubation) +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.scp-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.sdk/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/META-INF/MANIFEST.MF 2008-09-30 14:40:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.sdk -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.4.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/about.ini eclipse-rse-3.4.2/org.eclipse.rse.sdk/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/about.ini 2009-05-13 22:11:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/about.properties eclipse-rse-3.4.2/org.eclipse.rse.sdk/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/about.properties 2009-02-01 18:41:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,8 +25,8 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm\n\ +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm\n\ \n\ This product includes software developed by the\n\ Apache Software Foundation http://www.apache.org/ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/build.properties eclipse-rse-3.4.2/org.eclipse.rse.sdk/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/build.properties 2009-05-14 08:16:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,6 +17,6 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ plugin.properties src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.sdk/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.sdk/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.sdk/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/plugin.properties 2009-05-14 08:16:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = Remote System Explorer Extender SDK -providerName = Eclipse.org - DSDP \ No newline at end of file +providerName = Eclipse TM Project \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.sdk/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.sdk/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.sdk + 3.4.0-SNAPSHOT + eclipse-plugin + Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.sdk/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.sdk/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/feature.properties 2009-05-13 22:12:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ for the core RSE frameworks, SSH, FTP or dstore protocols. # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -45,8 +45,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -54,42 +54,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -98,47 +94,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/feature.xml 2009-11-05 17:37:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.sdk-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.sdk-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.sdk + 3.4.1-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services/.cvsignore 2006-04-10 20:39:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/.settings/.api_filters eclipse-rse-3.4.2/org.eclipse.rse.services/.settings/.api_filters --- eclipse-rse-3.1.2/org.eclipse.rse.services/.settings/.api_filters 2009-07-30 07:59:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/.settings/.api_filters 2013-02-12 20:26:45.000000000 +0000 @@ -98,6 +98,13 @@ + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services/META-INF/MANIFEST.MF 2009-07-30 07:59:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.2.200.qualifier Bundle-Activator: org.eclipse.rse.internal.services.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/ISystemFileTypes.java eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/ISystemFileTypes.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/ISystemFileTypes.java 2006-04-10 20:39:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/ISystemFileTypes.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006 IBM Corporation. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,7 +11,8 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type + * David McKnight (IBM) - [304170] [api] ISystemFileTypes and ISystemFileTransferModeMapping should be marked @noimplement ********************************************************************************/ @@ -20,12 +21,25 @@ import java.io.File; /** - * @author dmcknigh + * Used to determine whether a file is binary, text or XML. + * + * @noimplement This interface is not intended to be implemented by clients. */ public interface ISystemFileTypes { public boolean isBinary(File file); public boolean isText(File file); + + /** + * @since 3.2 + */ + public boolean isXML(File file); public boolean isBinary(String file); + public boolean isText(String file); -} \ No newline at end of file + + /** + * @since 3.2 + */ + public boolean isXML(String file); +} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java 2008-06-04 08:48:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * David McKnight (IBM) [215847]SystemEncodingUtil needs to convert to unsigned when checking xml file * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.services.clientserver; @@ -71,6 +72,36 @@ public String getLocalDefaultEncoding() { return System.getProperty("file.encoding"); //$NON-NLS-1$ } + + + /** + * @since 3.2 + */ + public boolean isXML(String filePath) { + int index = filePath.lastIndexOf("."); //$NON-NLS-1$ + + // check if there is a "." + if (index == -1) { + return false; + } + else { + + // check if the name ends with "." + if (index == filePath.length() - 1) { + return false; + } + else { + String extension = filePath.substring(index+1); + + if (extension.equalsIgnoreCase("xml") || extension.equalsIgnoreCase("xmi")) { //$NON-NLS-1$ //$NON-NLS-2$ + return true; + } + else { + return false; + } + } + } + } } /** @@ -115,30 +146,7 @@ * @return true if the file is an XML file, false otherwise. */ public boolean isXML(String filePath) { - - int index = filePath.lastIndexOf("."); //$NON-NLS-1$ - - // check if there is a "." - if (index == -1) { - return false; - } - else { - - // check if the name ends with "." - if (index == filePath.length() - 1) { - return false; - } - else { - String extension = filePath.substring(index+1); - - if (extension.equalsIgnoreCase("xml") || extension.equalsIgnoreCase("xmi")) { //$NON-NLS-1$ //$NON-NLS-2$ - return true; - } - else { - return false; - } - } - } + return _defaultEncodingProvider.isXML(filePath); } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/archiveutils/SystemZipHandler.java eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/archiveutils/SystemZipHandler.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/archiveutils/SystemZipHandler.java 2008-06-04 10:21:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/archiveutils/SystemZipHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2008 IBM Corporation and others. + * Copyright (c) 2003, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,6 +24,7 @@ * Xuan Chen (IBM) - [191370] [dstore] Supertransfer zip not deleted when canceling copy * Martin Oberhuber (Wind River) - [cleanup] Add API "since" tags * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers + * Krzysztof Kosmatka, Atrem S.A. - [331005] Error opening file from ZIP with \ separators *******************************************************************************/ package org.eclipse.rse.services.clientserver.archiveutils; @@ -2451,6 +2452,7 @@ { ZipEntry entry = _zipfile.getEntry(name); if (entry == null) entry = _zipfile.getEntry("/" + name); //$NON-NLS-1$ + if (entry == null) entry = _zipfile.getEntry(name.replace('/', '\\')); // fixing bug 331005 if (entry == null) throw new IOException("SystemZipHandler.safeGetEntry(): The ZipEntry " + name + " cannot be found in " + _file.toString()); //$NON-NLS-1$ //$NON-NLS-2$ return entry; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/messages/SystemNetworkIOException.java eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/messages/SystemNetworkIOException.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/messages/SystemNetworkIOException.java 2009-09-15 20:48:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/messages/SystemNetworkIOException.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/processes/HostProcessFilterImpl.java eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/processes/HostProcessFilterImpl.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/processes/HostProcessFilterImpl.java 2008-02-22 21:51:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/processes/HostProcessFilterImpl.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 IBM Corporation and others. + * Copyright (c) 2005, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * Martin Oberhuber (Wind River) - [219975] Fix implementations of clone() * Martin Oberhuber (Wind River) - [220041][api][breaking] Get rid of IHostProcessFilter#getStates() + * David McKnight (IBM) - [225776] [dstore][processes] process filter status fields aren't persisted *******************************************************************************/ package org.eclipse.rse.services.clientserver.processes; @@ -468,7 +469,6 @@ public void setSpecificState(String stateCode) { anystatus = false; - initStates(); states.put(stateCode, new Boolean(true)); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services/plugin.properties 2009-05-27 15:11:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Services Framework -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project extPoint.archivehandlers = Remote Archive Handlers extPoint.codePageConverters = Code Page Converters diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services + 3.2.200-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceHostShell.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceHostShell.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceHostShell.java 2008-12-14 18:28:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceHostShell.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,6 +20,8 @@ * Anna Dushistova (MontaVista) - adapted from SshHostShell * Anna Dushistova (MontaVista) - [240523] [rseterminals] Provide a generic adapter factory that adapts any ITerminalService to an IShellService * Anna Dushistova (MontaVista) - [258720] SshHostShell fails to run command if initialWorkingDirectory supplied + * Rob Stryker (JBoss) - [335059] TerminalServiceShellOutputReader logs error when hostShell.exit() is called + * Martin Oberhuber (Wind River) - [356132] wait for initial output *******************************************************************************/ package org.eclipse.rse.internal.services.shells; @@ -58,17 +60,22 @@ try { fTerminalShell = terminalShell; String encoding = fTerminalShell.getDefaultEncoding(); + BufferedReader bufReader; if (encoding != null) { - fStdoutHandler = new TerminalServiceShellOutputReader(this, - new BufferedReader(new InputStreamReader(fTerminalShell - .getInputStream(), encoding)), false); + bufReader = new BufferedReader(new InputStreamReader(fTerminalShell + .getInputStream(), encoding)); } else { - fStdoutHandler = new TerminalServiceShellOutputReader(this, - new BufferedReader(new InputStreamReader(fTerminalShell - .getInputStream())), false); + bufReader = new BufferedReader(new InputStreamReader(fTerminalShell + .getInputStream())); } - fStderrHandler = new TerminalServiceShellOutputReader(this, null, - true); + //bug 356132: wait for initial output before sending any command + //FIXME this should likely move into the TerminalServiceShellWriterThread, so wait can be canceled + bufReader.mark(1); + bufReader.read(); + bufReader.reset(); + + fStdoutHandler = new TerminalServiceShellOutputReader(this, bufReader, false); + fStderrHandler = new TerminalServiceShellOutputReader(this, null, true); OutputStream outputStream = fTerminalShell.getOutputStream(); if (encoding != null) { // use specified encoding @@ -119,6 +126,12 @@ if (fShellWriter != null) { fShellWriter.stopThread(); } + if( fStderrHandler != null ) { + fStderrHandler.stopThread(); + } + if( fStdoutHandler!= null ) { + fStdoutHandler.stopThread(); + } fTerminalShell.exit(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java 2008-12-04 22:19:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - Added vt100 escape sequence ignoring. * Anna Dushistova (MontaVista) - adapted from SshShellOutputReader * Anna Dushistova (MontaVista) - [240523] [rseterminals] Provide a generic adapter factory that adapts any ITerminalService to an IShellService + * Rob Stryker (JBoss) - [335059] TerminalServiceShellOutputReader logs error when hostShell.exit() is called *******************************************************************************/ package org.eclipse.rse.internal.services.shells; @@ -35,6 +36,8 @@ public class TerminalServiceShellOutputReader extends AbstractHostShellOutputReader { protected BufferedReader fReader; + private volatile Thread fReaderThread = null; + private volatile boolean isCanceled = false; private String fPromptChars = ">$%#]"; //Characters we accept as the end of a prompt //$NON-NLS-1$; public TerminalServiceShellOutputReader(IHostShell hostShell, @@ -50,12 +53,21 @@ //TODO Check if ssh supports some method of having separate stdout and stderr streams return null; } + fReaderThread = Thread.currentThread(); + try { + return interruptableReadLine(); + } finally { + fReaderThread = null; + } + } + + private IHostOutput interruptableReadLine() { StringBuffer theLine = new StringBuffer(); StringBuffer theDebugLine = null; theDebugLine = new StringBuffer(); int ch; boolean done = false; - while (!done && !isFinished()) { + while (!done && !isFinished() && !isCanceled) { try { ch = fReader.read(); switch (ch) { @@ -125,9 +137,10 @@ if (len>=0 && fPromptChars.indexOf(theLine.charAt(len))>=0) { waitIncrement = 5; //wait only 5 msec if we think it's a prompt } - try { - Thread.sleep(waitIncrement); - } catch (InterruptedException e) { + if (!isCanceled) { + try { + Thread.sleep(waitIncrement); + } catch (InterruptedException e) { /*ignore*/ } } if (!fReader.ready()) { done = true; @@ -137,7 +150,10 @@ //FIXME it's dangerous to return null here since this will end //our reader thread completely... the exception could just be //temporary, and we should keep running! - Activator.getDefault().logException(e); + if( !this.isCanceled ) { + /* 335059: Don't log IOException on close due to cancellation */ + Activator.getDefault().logException(e); + } return null; } } @@ -147,4 +163,15 @@ } return new SimpleHostOutput(theLine.toString()); } + + /** + * Stop the reader Thread, forcing internalReadLine() to return. + * Does not close the Stream. + */ + public void stopThread() { + this.isCanceled = true; + if (fReaderThread != null) { + fReaderThread.interrupt(); + } + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellWriterThread.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellWriterThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellWriterThread.java 2008-12-19 14:37:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellWriterThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Martin Oberhuber (Wind River) - initial API and implementation * Anna Dushistova (MontaVista) - adapted from SshShellWriterThread * Anna Dushistova (MontaVista) - [240523] [rseterminals] Provide a generic adapter factory that adapts any ITerminalService to an IShellService + * Rob Stryker (JBoss) - [335059] TerminalServiceShellOutputReader logs error when hostShell.exit() is called *******************************************************************************/ package org.eclipse.rse.internal.services.shells; @@ -20,7 +21,7 @@ public class TerminalServiceShellWriterThread extends Thread { private PrintWriter fOutputWriter; private String fNextCommand; - private boolean fIsCancelled; + private volatile boolean fIsCancelled; /** * constructor for terminal service shell writer thread diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/DefaultFileServiceCodePageConverter.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/DefaultFileServiceCodePageConverter.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/DefaultFileServiceCodePageConverter.java 2009-06-10 23:45:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/DefaultFileServiceCodePageConverter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2009 IBM Corporation. All rights reserved. + * Copyright (c) 2007, 2012 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -13,6 +13,9 @@ * David McKnight (IBM) -[220379] [api] Provide a means for contributing custom BIDI encodings * David McKnight (IBM) -[246857] Rename problem when a file is opened in the editor * David McKnight (IBM) -[279014] [dstore][encoding] text file corruption can occur when downloading from UTF8 to cp1252 + * David McKnight (IBM) -[324669] [dstore] IBM-eucJP to UTF-8 char conversion appends nulls to end of file during text-mode download + * David McKnight (IBM) -[280451] IFileServiceCodePageConverter.convertClientStringToRemoteBytes() should throw runtime exception + * David McKnight (IBM) -[280453] [performance] DefaultFileServiceCodePageConverter is wasteful with main memory ********************************************************************************/ package org.eclipse.rse.services.files; @@ -41,8 +44,9 @@ } catch (Exception e) { + // outstream could not be written properly: report + throw new RuntimeException(e); } - return clientString.getBytes(); } public void convertFileFromRemoteEncoding(String remotePath, File file, String remoteEncoding, @@ -52,31 +56,51 @@ // read in the file try { + // decoder to go from remote encoding to UTF8 + Charset rmtCharset = Charset.forName(remoteEncoding); + CharsetDecoder rmtDecoder = rmtCharset.newDecoder(); + + inputStream = new FileInputStream(file); + int fileLength = (int)file.length(); + BufferedInputStream bufInputStream = new BufferedInputStream(inputStream, fileLength); + + if (fileLength > 0){ - inputStream = new FileInputStream(file); - BufferedInputStream bufInputStream = new BufferedInputStream(inputStream, fileLength); - byte[] buffer = new byte[fileLength]; - bufInputStream.read(buffer, 0, fileLength); - bufInputStream.close(); - ByteBuffer rmtBuf = ByteBuffer.wrap(buffer, 0, fileLength); - - // decoder to go from remote encoding to UTF8 - Charset rmtCharset = Charset.forName(remoteEncoding); - CharsetDecoder rmtDecoder = rmtCharset.newDecoder(); - - // convert from the remote encoding - CharBuffer decodedBuf = null; - decodedBuf = rmtDecoder.decode(rmtBuf); - // for conversion to the local encoding - Charset charset = Charset.forName(localEncoding); - CharsetEncoder encoder = charset.newEncoder(); - byte[] localBuffer = null; - // convert to the specified local encoding - ByteBuffer lclBuf = encoder.encode(decodedBuf); - localBuffer = lclBuf.array(); - outStream = new FileOutputStream(file); - outStream.write(localBuffer, 0, localBuffer.length); + + int MAX_READ = 10000; + if (fileLength <= MAX_READ){ // read the whole file at once + + byte[] buffer = new byte[fileLength]; + bufInputStream.read(buffer, 0, fileLength); + bufInputStream.close(); + inputStream.close(); + outStream = new FileOutputStream(file); + convertBuffer(buffer, rmtDecoder, fileLength, localEncoding, outStream); + } + else { // read and write sections of file at a time + int inOffset = 0; + + File altFile = new File(file.getAbsolutePath() + "~"); //$NON-NLS-1$ + outStream = new FileOutputStream(altFile); // using alternate file because we're writing while reading + while (inOffset < fileLength){ + int readSize = MAX_READ; + if (inOffset + MAX_READ > fileLength){ + readSize = fileLength - inOffset; + } + byte[] buffer = new byte[readSize]; + inputStream.read(buffer, 0, readSize); + inOffset += readSize; + convertBuffer(buffer, rmtDecoder, readSize, localEncoding, outStream); + } + inputStream.close(); + outStream.close(); + if(!altFile.renameTo(file) && file.exists()) { + file.delete(); + altFile.renameTo(file); + } + } + } } catch (Exception e) { // outstream could not be written properly: report @@ -96,6 +120,27 @@ } } } + + private void convertBuffer(byte[] buffer, CharsetDecoder rmtDecoder, int readSize, String localEncoding, FileOutputStream outStream) throws Exception{ + ByteBuffer rmtBuf = ByteBuffer.wrap(buffer, 0, readSize); + + // convert from the remote encoding + CharBuffer decodedBuf = null; + decodedBuf = rmtDecoder.decode(rmtBuf); + + // for conversion to the local encoding + Charset charset = Charset.forName(localEncoding); + CharsetEncoder encoder = charset.newEncoder(); + byte[] localBuffer = null; + + // convert to the specified local encoding + ByteBuffer lclBuf = encoder.encode(decodedBuf); + localBuffer = lclBuf.array(); + + // use the limit rather than the array length to avoid unwanted nulls + int writeSize = lclBuf.limit(); + outStream.write(localBuffer, 0, writeSize); + } public boolean isServerEncodingSupported(String remoteEncoding, IFileService fs) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/IFileServiceCodePageConverter.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/IFileServiceCodePageConverter.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/IFileServiceCodePageConverter.java 2009-06-10 23:45:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/files/IFileServiceCodePageConverter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2009 IBM Corporation. All rights reserved. + * Copyright (c) 2007, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * David McKnight (IBM) -[209704] [api] Ability to override default encoding conversion needed. * David McKnight (IBM) -[220379] [api] Provide a means for contributing custom BIDI encodings * David McKnight (IBM) -[279014] [dstore][encoding] text file corruption can occur when downloading from UTF8 to cp1252 + * David McKnight (IBM) -[280451] IFileServiceCodePageConverter.convertClientStringToRemoteBytes() should throw runtime exception ********************************************************************************/ package org.eclipse.rse.services.files; @@ -36,6 +37,7 @@ * @param fs The file service to apply conversion to. * Can be used to determine implementation specific settings to the converter * @return The bytes to upload to the server + * @throws RuntimeException (wrapping a CharacterCodingException or IOException) in case of an error transposing from source to target encoding */ public byte [] convertClientStringToRemoteBytes(String remotePath, String clientString, String remoteEncoding, IFileService fs); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/HostShellProcessAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/HostShellProcessAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/HostShellProcessAdapter.java 2009-05-27 15:11:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/HostShellProcessAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 PalmSource, Inc. and others. + * Copyright (c) 2006, 2011, PalmSource, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ * Martin Oberhuber (Wind River) - renamed from HostShellAdapter (bug 161777) * Martin Oberhuber (Wind River) - improved Javadoc * Greg Watson (IBM) - patch for bug #252060 + * Yufen Kuo (MontaVista) - [274153] Fix pipe closed with RSE *******************************************************************************/ package org.eclipse.rse.services.shells; @@ -84,6 +85,7 @@ public synchronized int exitValue() { if(hostShell.isActive()) throw new IllegalThreadStateException(); + hostShell.exit(); // No way to tell what the exit value was. // TODO it would be possible to get the exit value // when the remote process is started like this: @@ -136,7 +138,7 @@ // Allow for the data from the stream to be read if it's available if (inputStream.available() != 0 || errorStream.available() != 0) throw new InterruptedException(); - + hostShell.exit(); hostShellInput.close(); hostShellError.close(); inputStream.close(); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/terminals/package.html eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/terminals/package.html --- eclipse-rse-3.1.2/org.eclipse.rse.services/src/org/eclipse/rse/services/terminals/package.html 2008-12-14 18:28:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services/src/org/eclipse/rse/services/terminals/package.html 2013-02-12 20:26:45.000000000 +0000 @@ -3,7 +3,7 @@ - + Package-level Javadoc @@ -34,7 +34,7 @@ ensures that future evolving of the ITerminalShell interface can be done without breaking binary compatibility with extenders implementing it.
  • BaseShellDecorator and - TerminalShellDecorator abstract base + TerminalShellDecorator abstract base classes should be used when clients want to add functionality by decorating an existing IBaseShell or ITerminalShell object they have. Again, extending these not only saves the extender typing default delegation methods, but also @@ -43,7 +43,7 @@ is the RSE Service Interface, and currently only provides one factory method launchTerminal() for creating a new Terminal Connection. - AbstractTerminalService must be used as base + AbstractTerminalService must be used as base class by extenders who wish to implement the ITerminalService, in order to ensure binary compatibility in case the interface evolves - even though the AbstractTerminalService is currently empty.
  • @@ -51,8 +51,7 @@ The classes and interfaces in this package are designed to have only minimal dependency into Eclipse core APIs, such that Services can eventually be re-used in environments outside Eclipse. Especially -IBaseShell, along with -ProcessBaseShell and +IBaseShell and BaseShellDecorator are usable in any environment, provided that mock objects are provided for Eclipse IAdaptable and PlatformObject. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/.classpath eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/.classpath 2007-01-30 20:42:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/.classpath 2013-02-12 20:26:45.000000000 +0000 @@ -1,12 +1,7 @@ - - - - - - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/.cvsignore 2006-04-10 20:44:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/META-INF/MANIFEST.MF 2009-07-30 13:35:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.dstore -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.2.1.qualifier Bundle-Activator: org.eclipse.rse.internal.services.dstore.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", - org.eclipse.dstore.core;bundle-version="[3.0.0,4.0.0)", + org.eclipse.dstore.core;bundle-version="[3.3.0,4.0.0)", org.eclipse.dstore.extra;bundle-version="[2.1.0,3.0.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/about.ini eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/about.ini 2009-05-13 22:13:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/about.properties eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/about.properties 2009-02-01 15:34:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm \ No newline at end of file +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/build.properties eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/build.properties 2009-05-27 15:09:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2001, 2009 IBM Corporation and others. +# Copyright (c) 2001, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,7 +16,7 @@ .,\ about.ini,\ about.mappings,\ - dsdp32.png + tm32.png source.. = src/,miners/ output.. = bin/ jars.compile.order = dstore_miners.jar,. Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/CommandMiner.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/CommandMiner.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/CommandMiner.java 2008-05-20 15:26:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/CommandMiner.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,12 @@ * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * Noriaki Takatsu (IBM) - [230399] [multithread] changes to stop CommandMiner threads when clients disconnect * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [286671] Dstore shell service interprets < and > sequences - cmd descriptor to identify ability + * David McKnight (IBM) [312415] [dstore] shell service interprets < and > sequences - handle old client/new server case + * David McKnight (IBM) [320624] [dstore] shell < and > sequence conversion not being applied to thread + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * Noriaki Takatsu (IBM) - [365765] [dstore][multithread]client environment cause harm to singe-process server + * David McKnight (IBM) - [396783] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 2) *******************************************************************************/ package org.eclipse.rse.dstore.universal.miners; @@ -27,6 +33,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; import org.eclipse.dstore.core.miners.Miner; @@ -34,6 +41,8 @@ import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStoreAttributes; import org.eclipse.dstore.core.model.DataStoreResources; +import org.eclipse.dstore.core.server.SystemServiceManager; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.rse.internal.dstore.universal.miners.command.CommandMinerThread; import org.eclipse.rse.internal.dstore.universal.miners.command.QueryPathThread; import org.eclipse.rse.internal.dstore.universal.miners.command.patterns.Patterns; @@ -143,6 +152,10 @@ DataElement shellD = createCommandDescriptor(fsD, "Shell", "C_SHELL", false); //$NON-NLS-1$ //$NON-NLS-2$ _dataStore.createReference(cancellable, shellD, "abstracts", "abstracted by"); //$NON-NLS-1$ //$NON-NLS-2$ + + // indicates support for char conversion in version 3.2 + createCommandDescriptor(fsD, "CharConversion", "C_CHAR_CONVERSION", false); //$NON-NLS-1$ //$NON-NLS-2$ + // DataElement inputD = _dataStore.createObject(cmdD, "input", "Enter command"); _dataStore.createObject(cmdD, "input", "Enter command"); //$NON-NLS-1$ //$NON-NLS-2$ @@ -200,8 +213,10 @@ DataElement encodingArg = getCommandArgument(theElement, 1); if (encodingArg.getType().equals("shell.encoding")) //$NON-NLS-1$ { - // fix for 191599 - System.setProperty("dstore.stdin.encoding",encodingArg.getValue()); //$NON-NLS-1$ + if (SystemServiceManager.getInstance().getSystemService() == null) { + // fix for 191599 + System.setProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING,encodingArg.getValue()); + } } launchCommand(subject, invocation, status); } @@ -225,7 +240,17 @@ getPossibleCommands(status); return status; } + else if (name.equals("C_CHAR_CONVERSION")) //$NON-NLS-1$ + { + DataElement cmdStatus = getCommandArgument(theElement, 0); + CommandMinerThread theThread = (CommandMinerThread) _threads.get(cmdStatus.getAttribute(DE.A_ID)); + if (theThread != null) + { + theThread._supportsCharConversion = true; + } + } + return status; } @@ -241,13 +266,19 @@ Iterator iter = _threads.keySet().iterator(); try { + List threadsToRemove = new ArrayList(); while (iter.hasNext()) { String threadName = (String) iter.next(); CommandMinerThread theThread = (CommandMinerThread) _threads.get(threadName); if ((theThread == null) || (!theThread.isAlive())) { - _threads.remove(threadName); + threadsToRemove.add(threadName); + } + } + if (!threadsToRemove.isEmpty()){ + for (int i = 0; i < threadsToRemove.size(); i++){ + _threads.remove(threadsToRemove.get(i)); } } } @@ -255,6 +286,8 @@ { _dataStore.trace(e); } + + CommandMinerThread newCommand = new CommandMinerThread(subject, invocation, status, getPatterns(), _descriptors); _threads.put(status.getAttribute(DE.A_ID), newCommand); newCommand.start(); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/EnvironmentMiner.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/EnvironmentMiner.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/EnvironmentMiner.java 2008-05-20 15:26:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/EnvironmentMiner.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,9 @@ * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * Noriaki Takatsu (IBM) - [226237] [dstore] Move the place where the ServerLogger instance is made * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [385211] [dstore] include java information under sys info element *******************************************************************************/ package org.eclipse.rse.dstore.universal.miners; @@ -31,6 +34,7 @@ import org.eclipse.dstore.core.miners.Miner; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; /** * The environment miner provides access to the environment variables @@ -103,6 +107,21 @@ _dataStore.createObject(systemInfo, "system.property", "os.name", System.getProperty("os.name")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ _dataStore.createObject(systemInfo, "system.property", "os.version", System.getProperty("os.version")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + // java properties + _dataStore.createObject(systemInfo, "system.property", "java.version", System.getProperty("java.version")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vendor", System.getProperty("java.vendor")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vendor.url", System.getProperty("java.vendor.url")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.home", System.getProperty("java.home")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.specification.version", System.getProperty("java.vm.specification.version")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.specification.vendor", System.getProperty("java.vm.specification.vendor")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.specification.name" , System.getProperty("java.vm.specification.name")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.version", System.getProperty("java.vm.version")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.vendor", System.getProperty("java.vm.vendor"));//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.vm.name", System.getProperty("java.vm.name"));//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.class.path", System.getProperty("java.class.path"));//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + _dataStore.createObject(systemInfo, "system.property", "java.library.path", System.getProperty("java.library.path")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + + getSystemNode(); _dataStore.refresh(_minerData); getSystemEnvironment(); @@ -180,7 +199,7 @@ envCommand = "/QOpenSys/usr/bin/sh -c env"; //$NON-NLS-1$ } - String specialEncoding= System.getProperty("dstore.stdin.encoding"); //$NON-NLS-1$ + String specialEncoding= System.getProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING); try { Process _process = Runtime.getRuntime().exec(envCommand); @@ -237,6 +256,9 @@ _dataStore.refresh(_system); } + catch (OutOfMemoryError err){ + System.exit(-1); + } catch (IOException e) { System.err.println("Error getting System Environment Variables\n" + e.getMessage()); //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalFileSystemMiner.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalFileSystemMiner.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalFileSystemMiner.java 2009-07-16 18:32:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalFileSystemMiner.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -41,6 +41,11 @@ * David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder * David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive * David McKnight (IBM) - [283617] [dstore] UniversalFileSystemMiner.handleQueryGetRemoteObject does not return correct result when the queried file does not exist. + * David McKnight (IBM) - [dstore] cancelable threads not removed fast enough from Hashmap, resulting in OOM + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect + * Noriaki Takatsu (IBM) - [380562] [multithread][dstore] File Search is not canceled by the client UI on disconnect + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [392012] [dstore] make server safer for delete operations *******************************************************************************/ package org.eclipse.rse.dstore.universal.miners; @@ -49,9 +54,11 @@ import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; +import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Set; import java.util.StringTokenizer; import org.eclipse.dstore.core.miners.Miner; @@ -110,6 +117,7 @@ public static final String CLASSNAME = "UniversalFileSystemMiner"; //$NON-NLS-1$ protected HashMap _cancellableThreads; + private FileDescriptors _fileDescriptors; private static final int PERMISSION_OWNER = 0; private static final int PERMISSION_GROUP = 1; @@ -127,6 +135,8 @@ _archiveHandlerManager.setRegisteredHandler("tar.gz", SystemTgzHandler.class); //$NON-NLS-1$ _archiveHandlerManager.setRegisteredHandler("tgz", SystemTgzHandler.class); //$NON-NLS-1$ _archiveHandlerManager.setRegisteredHandler("tar", SystemTarHandler.class); //$NON-NLS-1$ + + _fileDescriptors = new FileDescriptors(); } /** @@ -442,15 +452,19 @@ int inclusion, DataElement status) { // do query on a thread - FileQueryThread queryThread = new FileQueryThread(subject, fileobj, queryType, filter, caseSensitive, inclusion, showHidden, _isWindows, status); + FileQueryThread queryThread = new FileQueryThread(subject, fileobj, queryType, filter, caseSensitive, inclusion, showHidden, _isWindows, status, _fileDescriptors); queryThread.start(); updateCancellableThreads(status.getParent(), queryThread); } - private void updateCancellableThreads(DataElement command, ICancellableHandler thread) + /** + * @since 3.2 + */ + public void updateCancellableThreads(DataElement command, ICancellableHandler thread) { //First Check to make sure that there are no "zombie" threads + List threadsToRemove = new ArrayList(); Iterator iter = _cancellableThreads.keySet().iterator(); try { @@ -461,7 +475,12 @@ if ((theThread == null) || theThread.isDone() || theThread.isCancelled()) { - _cancellableThreads.remove(threadElement); + threadsToRemove.add(threadElement); + } + } + if (!threadsToRemove.isEmpty()){ + for (int i = 0; i < threadsToRemove.size(); i++){ + _cancellableThreads.remove(threadsToRemove.get(i)); } } } @@ -470,9 +489,11 @@ _dataStore.trace(e); } // save find thread in hashmap for retrieval during cancel - _cancellableThreads.put(command, thread); + if (!thread.isDone() && !thread.isCancelled()){ + _cancellableThreads.put(command, thread); + } } - + /** * Method to list the files for a given filter. @@ -632,10 +653,24 @@ * Method to Delete a file or folder. */ public DataElement handleDelete(DataElement subject, DataElement status, boolean refreshDataStore) { - DeleteThread deleteThread = new DeleteThread(subject, this, _dataStore, false, status); - deleteThread.start(); + // first make sure this is a valid object to delete + String type = subject.getType(); + if (IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR.equals(type)){ + + DeleteThread deleteThread = new DeleteThread(subject, this, _dataStore, false, status); + deleteThread.start(); - updateCancellableThreads(status.getParent(), deleteThread); + updateCancellableThreads(status.getParent(), deleteThread); + } + else { + UniversalServerUtilities.logWarning(getName(), "illegal deletion type: " + type, _dataStore); //$NON-NLS-1$ + statusCancelled(status); + } return status; } @@ -646,9 +681,9 @@ deleteThread.start(); updateCancellableThreads(status.getParent(), deleteThread); - return status; } + /** * Method to Rename a file or folder. @@ -1109,6 +1144,7 @@ } _dataStore.refresh(subject); + _dataStore.disconnectObject(subject); return statusDone(status); } @@ -1352,7 +1388,26 @@ } public void finish() { - //_archiveHandlerManager.dispose(); + try { + if (_cancellableThreads != null) { + Set keys = _cancellableThreads.keySet(); + Iterator iteratorKeys = keys.iterator(); + while (iteratorKeys.hasNext()) { + Object key = iteratorKeys.next(); + ICancellableHandler thread = (ICancellableHandler) _cancellableThreads.get(key); + if (thread != null) { + if (!thread.isDone()) { + thread.cancel(); + } + } + } + + _cancellableThreads.clear(); + } + } + catch(Throwable e) { + e.printStackTrace(); + } super.finish(); } @@ -1501,15 +1556,15 @@ // Define filesystem descriptors DataElement UniversalFilter = createObjectDescriptor(schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR); - FileDescriptors._deUniversalFileObject = createObjectDescriptor(schemaRoot, + _fileDescriptors._deUniversalFileObject = createObjectDescriptor(schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR); - FileDescriptors._deUniversalFolderObject = createObjectDescriptor(schemaRoot, + _fileDescriptors._deUniversalFolderObject = createObjectDescriptor(schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR); - FileDescriptors._deUniversalArchiveFileObject = createObjectDescriptor( + _fileDescriptors._deUniversalArchiveFileObject = createObjectDescriptor( schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR); - FileDescriptors._deUniversalVirtualFileObject = createObjectDescriptor( + _fileDescriptors._deUniversalVirtualFileObject = createObjectDescriptor( schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR); - FileDescriptors._deUniversalVirtualFolderObject = createObjectDescriptor( + _fileDescriptors._deUniversalVirtualFolderObject = createObjectDescriptor( schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR); _dataStore.refresh(schemaRoot); @@ -1530,23 +1585,23 @@ createCommandDescriptor(UniversalFilter, "Filter", IUniversalDataStoreConstants.C_QUERY_ROOTS); //$NON-NLS-1$ - DataElement queryAllDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$ + DataElement queryAllDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryAllDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - DataElement queryFilesDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$ + DataElement queryFilesDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryFilesDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - DataElement queryFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$ + DataElement queryFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - DataElement queryAllArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$ + DataElement queryAllArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryAllArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - DataElement queryFilesArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$ + DataElement queryFilesArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryFilesArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - DataElement queryFolderArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$ + DataElement queryFolderArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$ _dataStore.createReference(cancellable, queryFolderArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); createCommandDescriptor(UniversalFilter, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$ @@ -1559,90 +1614,90 @@ createCommandDescriptor(UniversalFilter, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$ - _dataStore.createReference(FileDescriptors._deUniversalFileObject, - FileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - _dataStore.createReference(FileDescriptors._deUniversalFolderObject, - FileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - _dataStore.createReference(FileDescriptors._deUniversalFileObject, - FileDescriptors._deUniversalVirtualFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - _dataStore.createReference(FileDescriptors._deUniversalFolderObject, - FileDescriptors._deUniversalVirtualFolderObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); + _dataStore.createReference(_fileDescriptors._deUniversalFileObject, + _fileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); + _dataStore.createReference(_fileDescriptors._deUniversalFolderObject, + _fileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); + _dataStore.createReference(_fileDescriptors._deUniversalFileObject, + _fileDescriptors._deUniversalVirtualFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); + _dataStore.createReference(_fileDescriptors._deUniversalFolderObject, + _fileDescriptors._deUniversalVirtualFolderObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); // create the search descriptor and make it cancelable - DataElement searchDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Search", IUniversalDataStoreConstants.C_SEARCH); //$NON-NLS-1$ + DataElement searchDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Search", IUniversalDataStoreConstants.C_SEARCH); //$NON-NLS-1$ _dataStore.createReference(cancellable, searchDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$ createCommandDescriptor(tempnode, "Filter", IUniversalDataStoreConstants.C_CREATE_TEMP); //$NON-NLS-1$ //create deleteDescriptor and make it cancelable - DataElement deleteFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$ + DataElement deleteFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$ _dataStore.createReference(cancellable, deleteFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create deleteBatchDescriptor and make it cancelable - DataElement deleteBatchFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$ + DataElement deleteBatchFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$ _dataStore.createReference(cancellable, deleteBatchFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create createNewFileDescriptor and make it cancelable - DataElement createNewFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$ + DataElement createNewFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$ _dataStore.createReference(cancellable, createNewFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create createNewFolderDescriptor and make it cancelable - DataElement createNewFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$ + DataElement createNewFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$ _dataStore.createReference(cancellable, createNewFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create renameDescriptor and make it cancelable - DataElement renameFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$ + DataElement renameFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$ _dataStore.createReference(cancellable, renameFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$ //create deleteDescriptor and make it cancelable - DataElement deleteFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$ + DataElement deleteFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$ _dataStore.createReference(cancellable, deleteFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create deleteBatchDescriptor and make it cancelable - DataElement deleteBatchFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$ + DataElement deleteBatchFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$ _dataStore.createReference(cancellable, deleteBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create renameDescriptor and make it cancelable - DataElement renameFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$ + DataElement renameFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$ _dataStore.createReference(cancellable, renameFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create copyDescriptor and make it cancelable - DataElement copyFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Copy", IUniversalDataStoreConstants.C_COPY); //$NON-NLS-1$ + DataElement copyFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Copy", IUniversalDataStoreConstants.C_COPY); //$NON-NLS-1$ _dataStore.createReference(cancellable, copyFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create copyFolderBatchDescriptor and make it cancelable - DataElement copyBatchFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CopyBatch", IUniversalDataStoreConstants.C_COPY_BATCH); //$NON-NLS-1$ + DataElement copyBatchFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CopyBatch", IUniversalDataStoreConstants.C_COPY_BATCH); //$NON-NLS-1$ _dataStore.createReference(cancellable, copyBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$ //create createFolderDescriptor and make it cancelable - DataElement createNewFileInFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$ + DataElement createNewFileInFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$ _dataStore.createReference(cancellable, createNewFileInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); //create createFolderDescriptor and make it cancelable - DataElement createNewFolderInFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$ + DataElement createNewFolderInFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$ _dataStore.createReference(cancellable, createNewFolderInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$ //make sure C_QUERY_GET_REMOTE_OBJECT command also available for file and folder objects - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalVirtualFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalVirtualFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalVirtualFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalVirtualFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$ // create a download command descriptor and make it cancelable DataElement downloadDescriptor = createCommandDescriptor( - FileDescriptors._deUniversalFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$ + _fileDescriptors._deUniversalFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$ _dataStore.createReference(cancellable, downloadDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); DataElement adownloadDescriptor = createCommandDescriptor( - FileDescriptors._deUniversalArchiveFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$ + _fileDescriptors._deUniversalArchiveFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$ _dataStore.createReference(cancellable, adownloadDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by); @@ -1652,10 +1707,10 @@ createCommandDescriptor(tempnode, "UnusedPort", IUniversalDataStoreConstants.C_QUERY_UNUSED_PORT); //$NON-NLS-1$ // command descriptor to retrieve package name for a class file - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetQualifiedClassName", IUniversalDataStoreConstants.C_QUERY_CLASSNAME); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetQualifiedClassName", IUniversalDataStoreConstants.C_QUERY_CLASSNAME); //$NON-NLS-1$ // command descriptor to retrieve qualified class name for class file - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetFullClassName", //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetFullClassName", //$NON-NLS-1$ IUniversalDataStoreConstants.C_QUERY_QUALIFIED_CLASSNAME); @@ -1663,14 +1718,14 @@ if (!_isWindows) { // descriptors for permissions createCommandDescriptor(UniversalFilter, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "GetPermissions",IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "GetPermissions",IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$ createCommandDescriptor(UniversalFilter, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ - createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "SetPermissions",IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ + createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "SetPermissions",IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$ } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalProcessMiner.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalProcessMiner.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalProcessMiner.java 2008-05-20 15:26:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/UniversalProcessMiner.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,8 @@ * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * David McKnight (IBM) [224906] [dstore] changes for getting properties and doing exit due to single-process capability * David McKnight (IBM) - [226561] [apidoc] Add API markup to RSE Javadocs where extend / implement is allowed + * David McKnight (IBM) - [364633] [dstore][multithread] process miner getting wrong uid + * David McKnight (IBM) - [385214] [dstore][processes] user id query coming back blank *******************************************************************************/ package org.eclipse.rse.dstore.universal.miners; @@ -90,7 +92,7 @@ DataElement status = getCommandStatus(theCommand); DataElement subject = getCommandArgument(theCommand, 0); - //UniversalServerUtilities.logInfo(getMinerName(), name + ":" + subject); + UniversalServerUtilities.logInfo(getMinerName(), name + ":" + subject, _dataStore); if (subject == null) { @@ -150,12 +152,14 @@ * Get the username */ protected DataElement handleQueryUserName(DataElement subject, DataElement status) { + String userName = null; if (_dataStore.getClient() != null){ - subject.setAttribute(DE.A_VALUE, _dataStore.getClient().getProperty("user.name")); //$NON-NLS-1$ + userName = _dataStore.getClient().getProperty("client.username"); //$NON-NLS-1$ } - else { - subject.setAttribute(DE.A_VALUE, System.getProperty("user.name")); //$NON-NLS-1$ + if (userName == null){ + userName = System.getProperty("user.name"); //$NON-NLS-1$ } + subject.setAttribute(DE.A_VALUE, userName); _dataStore.refresh(subject); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/CommandMinerThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/CommandMinerThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/CommandMinerThread.java 2009-07-24 16:15:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/CommandMinerThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 IBM Corporation and others. + * Copyright (c) 2003, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,8 +21,25 @@ * David McKnight (IBM) [249715] [dstore][shells] Unix shell does not echo command * David McKnight (IBM) [153275] [dstore-shells] Ctrl+C does not break remote program * David McKnight (IBM) [284179] [dstore] commands have a hard coded line length limit of 100 characters + * David McKnight (IBM) - [286671] Dstore shell service interprets < and > sequences + * David McKnight (IBM) [290743] [dstore][shells] allow bash shells and custom shell invocation + * David McKnight (IBM) [287305] [dstore] Need to set proper uid for commands when using SecuredThread and single server for multiple clients[ + * Peter Wang (IBM) [299422] [dstore] OutputHandler.readLines() not compatible with servers that return max 1024bytes available to be read + * David McKnight (IBM) [302174] [dstore] shell init command can potentially get called too late + * David McKnight (IBM) [302724] problems with environment variable substitution + * David McKnight (IBM) [302996] [dstore] null checks and performance issue with shell output + * David McKnight (IBM) [308246] [dstore] fix for Bug 287305 breaks on z/OS due to "su" usage + * David McKnight (IBM) [312415] [dstore] shell service interprets < and > sequences - handle old client/new server case + * David McKnight (IBM) [318372] [dstore][shells] "export" shell command invalid for certain shells + * David McKnight (IBM) [323262] [dstore] zos shell does not display [ ] brackets properly + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) [339741] [dstore][shells] consecutive prompt line is ignored + * Noriaki Takatsu (IBM) [369767] [multithread][dstore] Invalid Default directory in shell Launch + * David McKnight (IBM) [372968] [dstore][shell] provide support for csh and tcsh shells + * David McKnight (IBM) [395306] [dstore] Regression for CommandMinerThread authority + * David McKnight (IBM) [395465] [dstore][shells] customer hit an NPE on shell cleanup *******************************************************************************/ - + package org.eclipse.rse.internal.dstore.universal.miners.command; @@ -40,11 +57,14 @@ import java.util.List; import org.eclipse.dstore.core.miners.MinerThread; +import org.eclipse.dstore.core.model.Client; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStoreAttributes; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.rse.dstore.universal.miners.CommandMiner; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; +import org.eclipse.rse.dstore.universal.miners.UniversalServerUtilities; import org.eclipse.rse.internal.dstore.universal.miners.command.patterns.ParsedOutput; import org.eclipse.rse.internal.dstore.universal.miners.command.patterns.Patterns; @@ -56,6 +76,34 @@ */ public class CommandMinerThread extends MinerThread { + class InitRunnable implements Runnable + { + private boolean _done = false; + private String _initCmd; + + public InitRunnable(String command){ + _initCmd = command; + } + + public boolean isDone(){ + return _done; + } + + public void run() + { + // wait a second so the profile can complete startup + try { + sleep(1000); + } + catch (Exception e) + { + } + + _done = true; // setting before the call so that sendInput doesn't wait on this + sendInput(_initCmd); + } + } + private DataElement _status; private String _invocation; @@ -74,6 +122,8 @@ private OutputHandler _stdOutputHandler; private OutputHandler _stdErrorHandler; private boolean _isShell; + private boolean _isCsh = false; + private boolean _isDone; private boolean _isWindows; private boolean _isTTY; @@ -88,6 +138,10 @@ private String PSEUDO_TERMINAL; private DataElement _lastPrompt; + private InitRunnable _initRunnable; + private Thread _cdThread; + + public boolean _supportsCharConversion = false; public CommandMinerThread(DataElement theElement, String invocation, DataElement status, Patterns thePatterns, CommandMiner.CommandMinerDescriptors descriptors) { @@ -96,10 +150,11 @@ _isDone = false; _status = status; _descriptors = descriptors; + boolean isBash = false; _subject = theElement; - String maxLineLengthStr = System.getProperty("DSTORE_SHELL_MAX_LINE"); //$NON-NLS-1$ + String maxLineLengthStr = System.getProperty(IDataStoreSystemProperties.DSTORE_SHELL_MAX_LINE); if (maxLineLengthStr != null) { try { @@ -120,7 +175,11 @@ if (isZ) { - System.setProperty("dstore.stdin.encoding","Cp037"); //$NON-NLS-1$ //$NON-NLS-2$ + String inCoding = System.getProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING); + if (inCoding == null || inCoding.length() == 0){ + // IBM-1047 works better on z/OS than cp037 + System.setProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING,"IBM-1047"); //$NON-NLS-1$ + } } _isWindows = theOS.toLowerCase().startsWith("win"); //$NON-NLS-1$ @@ -130,14 +189,23 @@ } try - { - String userHome = null; - if (_dataStore.getClient() != null){ - userHome = _dataStore.getClient().getProperty("user.home");//$NON-NLS-1$ - } - else { - userHome = System.getProperty("user.home");//$NON-NLS-1$ + { + String suCommand = null; + String userHome = null; + Client client = _dataStore.getClient(); + + if (client != null){ + String clientActualUserId = client.getProperty("user.name");//$NON-NLS-1$ + String clientUserId = client.getUserid(); + + userHome = client.getProperty("user.home");//$NON-NLS-1$ + if (!theOS.equals("z/OS") && clientUserId != null && !clientActualUserId.equals(clientUserId)){ //$NON-NLS-1$ + suCommand = "su " + clientUserId + " -c "; //$NON-NLS-1$ //$NON-NLS-2$ + } } + else { + userHome = System.getProperty("user.home");//$NON-NLS-1$ + } _cwdStr = theElement.getSource(); if (_cwdStr == null || _cwdStr.length() == 0) @@ -174,12 +242,16 @@ { _isTTY = false; } + + + + + _patterns.setIsTerminal(_isTTY); String property = "SHELL="; //$NON-NLS-1$ String[] env = getEnvironment(_subject); - boolean isBash = false; boolean isBashonZ = false; boolean isSHonZ = false; @@ -197,16 +269,17 @@ } else { - isBash = true; - // no bash! - theShell = "sh"; //$NON-NLS-1$ - + isBash = true; } } else if (theShell.endsWith("sh") && isZ)//$NON-NLS-1$ { isSHonZ = true; } + else if (theShell.endsWith("/csh") || theShell.endsWith("/tcsh")){ //$NON-NLS-1$//$NON-NLS-2$ + _isCsh = true; + } + } // In a single-process server, both user.home and HOME don't represent // each client home directory. @@ -219,23 +292,31 @@ } } + // check for custom shell invocation + String customShellInvocation = System.getProperty(IDataStoreSystemProperties.DSTORE_SHELL_INVOCATION); + if (customShellInvocation != null && customShellInvocation.length() > 0){ + theShell = customShellInvocation; + } if (theShell == null) { if (_invocation.equals(">")) //$NON-NLS-1$ { _invocation = "sh"; //$NON-NLS-1$ + _isShell = true; if (isZ) isSHonZ = true; } + + if (_isTTY) { if (isSHonZ) - { + { String args[] = new String[3]; args[0] = PSEUDO_TERMINAL; - args[1] = _invocation; + args[1] = "sh"; //$NON-NLS-1$ args[2] = "-L"; //$NON-NLS-1$ try { @@ -248,14 +329,28 @@ } else { - String args[] = new String[2]; - args[0] = PSEUDO_TERMINAL; - args[1] = _invocation; + List argsList = new ArrayList(); + + if (suCommand != null){ + String[] suSplit = suCommand.split(" "); //$NON-NLS-1$ + for (int i = 0; i < suSplit.length; i++){ // su before terminal + argsList.add(suSplit[i]); + } + } + argsList.add(PSEUDO_TERMINAL); + argsList.add(invocation); + + + String args[] = (String[])argsList.toArray(new String[argsList.size()]); _theProcess = Runtime.getRuntime().exec(args, env, theDirectory); } } else { + //VRB: for Linux on System z we end up here + if (suCommand!=null) + _invocation = suCommand + _invocation; + _theProcess = Runtime.getRuntime().exec(_invocation, env, theDirectory); } } @@ -264,51 +359,51 @@ if (_invocation.equals(">")) //$NON-NLS-1$ { _invocation = theShell; - + + _isShell = true; if (_isTTY) { - String args[] = null; - if (isBashonZ) - { - args = new String[5]; - args[0] = PSEUDO_TERMINAL; - args[1] = "-w"; //$NON-NLS-1$ - args[2] = "256"; //$NON-NLS-1$ - args[3] = _invocation; - args[4] = "--login"; //$NON-NLS-1$ + List argsList = new ArrayList(); + + if (!isBashonZ && !isSHonZ && suCommand != null){ + // su before starting rseterm + String[] suArgs = suCommand.split(" "); //$NON-NLS-1$ + for (int i = 0; i < suArgs.length; i++){ + argsList.add(suArgs[i]); + } + } + argsList.add(PSEUDO_TERMINAL); + + if (!isBashonZ && !isSHonZ && suCommand != null){ + // need sh -c before invocation + argsList.add("sh"); //$NON-NLS-1$ + argsList.add("-c"); //$NON-NLS-1$ + } + else { + + argsList.add("-w"); //$NON-NLS-1$ + argsList.add(""+_maxLineLength); //$NON-NLS-1$ + } + + argsList.add(_invocation); + + if (isBashonZ){ + argsList.add("--login"); //$NON-NLS-1$ didLogin = true; - } - else if (isBash) - { - args = new String[5]; - args[0] = PSEUDO_TERMINAL; - args[1] = "-w"; //$NON-NLS-1$ - args[2] = "256"; //$NON-NLS-1$ - args[3] = _invocation; - args[4] = "-l"; //$NON-NLS-1$ + } + else if (isBash){ + argsList.add("-l"); //$NON-NLS-1$ didLogin = true; - } - else if (isSHonZ) - { - args = new String[5]; - args[0] = PSEUDO_TERMINAL; - args[1] = "-w"; //$NON-NLS-1$ - args[2] = "256"; //$NON-NLS-1$ - args[3] = _invocation; - args[4] = "-L"; //$NON-NLS-1$ + } + else if (isSHonZ){ + argsList.add("-L"); //$NON-NLS-1$ didLogin = true; - } - else - { - args = new String[4]; - args[0] = PSEUDO_TERMINAL; - args[1] = "-w"; //$NON-NLS-1$ - args[2] = "256"; //$NON-NLS-1$ - args[3] = _invocation; - } - + } + + String args[] = (String[])argsList.toArray(new String[argsList.size()]); + try { _theProcess = Runtime.getRuntime().exec(args, env, theDirectory); } @@ -319,55 +414,54 @@ } else { - if (isBashonZ) - { - _theProcess = Runtime.getRuntime().exec(_invocation + " --login", env, theDirectory); //$NON-NLS-1$ - didLogin = true; - } - else if (isBash) - { - _theProcess = Runtime.getRuntime().exec(_invocation + " -l", env, theDirectory); //$NON-NLS-1$ - didLogin = true; + if (!isBashonZ && !isSHonZ && suCommand != null){ + _invocation = suCommand + _invocation; } - else if (isSHonZ) - { - _theProcess = Runtime.getRuntime().exec(_invocation + " -L", env, theDirectory); //$NON-NLS-1$ - didLogin = true; - } - else - { + + if (customShellInvocation != null && customShellInvocation.length() > 0){ + // all handled in the custom shell invocation _theProcess = Runtime.getRuntime().exec(_invocation, env, theDirectory); } + else { + if (isBashonZ) + { + _theProcess = Runtime.getRuntime().exec(_invocation + " --login", env, theDirectory); //$NON-NLS-1$ + didLogin = true; + } + else if (isBash) + { + _theProcess = Runtime.getRuntime().exec(_invocation + " -l", env, theDirectory); //$NON-NLS-1$ + didLogin = true; + } + else if (isSHonZ) + { + _theProcess = Runtime.getRuntime().exec(_invocation + " -L", env, theDirectory); //$NON-NLS-1$ + didLogin = true; + } + else + { + _theProcess = Runtime.getRuntime().exec(_invocation, env, theDirectory); + } + } } } else { - _isTTY = false; - + if (suCommand != null){ + theShell = suCommand + theShell; + } + List argsList = new ArrayList(); - //String[] inv = parseArgs(_invocation); - if (_isTTY) - { - String args[] = new String[4]; - args[0] = PSEUDO_TERMINAL; - args[1] = theShell; - args[2] = "-c"; //$NON-NLS-1$ - args[3] = _invocation; - - _theProcess = Runtime.getRuntime().exec(args, env, theDirectory); - } - else - { - - String args[] = new String[3]; - args[0] = theShell; - args[1] = "-c"; //$NON-NLS-1$ - args[2] = _invocation; - - - _theProcess = Runtime.getRuntime().exec(args, env, theDirectory); + String[] shellArray = theShell.split(" "); //$NON-NLS-1$ + for (int i = 0; i < shellArray.length; i++){ + argsList.add(shellArray[i]); } + argsList.add("-c"); //$NON-NLS-1$ + argsList.add(_invocation); + + String args[] = (String[])argsList.toArray(new String[argsList.size()]); + _theProcess = Runtime.getRuntime().exec(args, env, theDirectory); } } } @@ -421,7 +515,7 @@ _stdError = new DataInputStream(_theProcess.getErrorStream()); - String specialEncoding = System.getProperty("dstore.stdin.encoding"); //$NON-NLS-1$ + String specialEncoding = System.getProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING); if (specialEncoding != null) { @@ -462,29 +556,31 @@ _stdOutputHandler.setDataStore(_dataStore); _stdErrorHandler.start(); - if (didLogin && !userHome.equals(_cwdStr)) + // initialization + if (didLogin || _isTTY) { - // need to CD to the correct directory - final String cdCmd = "cd " + _cwdStr; //$NON-NLS-1$ - Thread cdThread = new Thread( - new Runnable() - { - public void run() - { - // wait a second so the profile can complete startup - try - { - sleep(1000); - } - catch (Exception e) - { - - } - sendInput(cdCmd); - } - }); - cdThread.start(); - + // unsupported prompting + boolean unsupportedPrompt = theShell.endsWith("bsh") || //$NON-NLS-1$//$NON-NLS-2$ + theShell.endsWith("tsh") || theShell.endsWith("rksh"); //$NON-NLS-1$//$NON-NLS-2$ + + + String initCmd = ""; //$NON-NLS-1$ + if (_isTTY && !unsupportedPrompt){ + if (_isCsh){ + initCmd = "set prompt=\"$PWD>\""; //$NON-NLS-1$ + } + else { + initCmd = "export PS1='$PWD>';" ; //$NON-NLS-1$ + } + } + if (didLogin && !userHome.equals(_cwdStr)){ + initCmd += "cd " + _cwdStr; //$NON-NLS-1$ + } + + // need to CD to the correct directory + _initRunnable = new InitRunnable(initCmd); + _cdThread = new Thread(_initRunnable); + _cdThread.start(); } else if (_isShell && !_isWindows && !_isTTY) { @@ -496,7 +592,7 @@ catch (IOException e) { _theProcess = null; - e.printStackTrace(); + _dataStore.trace(e); createObject("command", e.getMessage()); //$NON-NLS-1$ status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ return; @@ -570,16 +666,38 @@ } - - + private String convertSpecialCharacters(String input){ + // needed to ensure xml characters aren't converted in xml layer + String converted = input.replaceAll("&", "&") //$NON-NLS-1$ //$NON-NLS-2$ + .replaceAll(";", ";"); //$NON-NLS-1$//$NON-NLS-2$ + return converted; + } + public void sendInput(String input) { if (!_isDone) { + if (_initRunnable != null && !_initRunnable.isDone()){ + try { + _cdThread.join(); + } + catch (InterruptedException e){} + } + + + String origInput = input; + UniversalServerUtilities.logInfo(getName(), "shell input prior to char conversion="+input, _dataStore); //$NON-NLS-1$ -// byte[] intoout = input.getBytes(); + if (_supportsCharConversion){ + input = convertSpecialCharacters(input); + } input.getBytes(); - + UniversalServerUtilities.logInfo(getName(), "shell input after char conversion="+input, _dataStore); //$NON-NLS-1$ + + if (_isCsh && origInput.startsWith("export ")){ //$NON-NLS-1$ + input = origInput.replaceAll("export ", "setenv ").replaceAll("=", " "); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + } + try { BufferedWriter writer = _stdOutput; @@ -626,20 +744,27 @@ if (!_isWindows && !_isTTY) { - createObject("input", input); //$NON-NLS-1$ + createObject("input", origInput); //$NON-NLS-1$ } writer.write(input); writer.newLine(); - writer.flush(); + try{ + writer.flush(); + } + catch (Exception e){ + //TODO find actual cause of problem. This only fails on certain machines. + } if (!_isWindows && (input.startsWith("cd ") || input.equals("cd"))) //$NON-NLS-1$ //$NON-NLS-2$ { - queryCWD(); + if (!_isTTY) + queryCWD(); } else if (!_didInitialCWDQuery) { - queryCWD(); + if (!_isTTY) + queryCWD(); } if (!_isWindows && !_isTTY) { @@ -673,9 +798,9 @@ DataElement projectEnv = null; if (projectEnvReference != null && (projectEnvReference.size() > 0)) projectEnv = (DataElement) projectEnvReference.get(0); - String[] theEnv = mergeEnvironments(systemEnv, projectEnv); + return theEnv; } @@ -711,14 +836,18 @@ String theKey = getKey(theVariable); String theValue = getValue(theVariable); theValue = calculateValue(theValue, varTable); + varTable.put(theKey, theValue); } if (_isTTY) { - varTable.put("PS1","$PWD/>"); //$NON-NLS-1$ //$NON-NLS-2$ - varTable.put("COLUMNS","256"); //$NON-NLS-1$ //$NON-NLS-2$ + varTable.put("PS1","'$PWD/>'"); //$NON-NLS-1$ //$NON-NLS-2$ + + //if (_maxLineLength ) + + varTable.put("COLUMNS","" + _maxLineLength); //$NON-NLS-1$ //$NON-NLS-2$ } @@ -789,12 +918,19 @@ { if (Character.isJavaIdentifierStart(c)) { + while (nextIndex + 1 < theValue.length() && (Character.isJavaIdentifierPart(c))) { nextIndex++; - c = theValue.charAt(nextIndex); + c = theValue.charAt(nextIndex); + + if (nextIndex + 1 == theValue.length()){ // last character? + if (Character.isJavaIdentifierPart(c)){ + nextIndex++; + } + } } - + String v = theValue.substring(index + 1, nextIndex); String replacementValue = findValue(v, theTable, true); theValue.replace(index, nextIndex, replacementValue); @@ -802,6 +938,7 @@ } } } + } //If the current char is a %, then simply look for a matching % else if (c == '%' && _isWindows) { @@ -831,7 +968,7 @@ } catch (Throwable e) { - e.printStackTrace(); + _dataStore.trace(e); } return theValue.toString(); } @@ -937,7 +1074,7 @@ { } - if (_stdOutputHandler.isAlive()) + if (_stdOutputHandler != null && _stdOutputHandler.isAlive() && _theProcess != null) { _theProcess.destroy(); } @@ -977,18 +1114,24 @@ } } catch (IllegalThreadStateException e) - { //e.printStackTrace(); + { exitcode = -1; _theProcess.destroy(); } _theProcess = null; } - - _stdOutputHandler.finish(); - _stdErrorHandler.finish(); - _stdInput.close(); - _stdError.close(); + if (_stdOutputHandler != null) + _stdOutputHandler.finish(); + + if (_stdErrorHandler != null) + _stdErrorHandler.finish(); + + if (_stdInput != null) + _stdInput.close(); + + if (_stdError != null) + _stdError.close(); _status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ _dataStore.refresh(_status); @@ -1001,7 +1144,7 @@ // clean up the associated environment List projectEnvReference = _subject.getAssociated("inhabits"); //$NON-NLS-1$ - if (projectEnvReference != null) + if (projectEnvReference != null && projectEnvReference.size() > 0) { DataElement env = (DataElement)projectEnvReference.get(0); DataElement envParent = env.getParent(); @@ -1012,7 +1155,7 @@ } catch (IOException e) { - e.printStackTrace(); + _dataStore.trace(e); } } @@ -1093,6 +1236,9 @@ { // ignore this line } + else if (line.indexOf("PS1='$PWD>';") > 0){ //$NON-NLS-1$ + // ignore this line too + } else { ParsedOutput parsedMsg = null; @@ -1103,7 +1249,7 @@ } catch (Throwable e) { - e.printStackTrace(); + _dataStore.trace(e); } if (parsedMsg == null) { @@ -1160,7 +1306,7 @@ } catch (NumberFormatException e) { - e.printStackTrace(); + _dataStore.trace(e); } } } @@ -1183,7 +1329,7 @@ if (size > 0) { DataElement lastObject = _status.get(size - 1); - if (!lastObject.getType().equals("prompt")) //$NON-NLS-1$ + if (!lastObject.getType().equals("prompt") || !lastObject.getName().equals(line)) //$NON-NLS-1$ { line = line.replaceAll("//", "/"); //$NON-NLS-1$ //$NON-NLS-2$ fileName = fileName.replaceAll("//", "/"); //$NON-NLS-1$ //$NON-NLS-2$ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/OutputHandler.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/OutputHandler.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/OutputHandler.java 2009-07-08 19:54:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/command/OutputHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,15 @@ * David McKnight (IBM) - [243699] [dstore] Loop in OutputHandler * David McKnight (IBM) [249715] [dstore][shells] Unix shell does not echo command * David McKnight (IBM) - [282919] [dstore] server shutdown results in exception in shell io reading + * David McKnight (IBM) - [286671] Dstore shell service interprets < and > sequences + * David McKnight (IBM) [287305] [dstore] Need to set proper uid for commands when using SecuredThread and single server for multiple clients[ + * Peter Wang (IBM) [299422] [dstore] OutputHandler.readLines() not compatible with servers that return max 1024bytes available to be read + * David McKnight (IBM) [302996] [dstore] null checks and performance issue with shell output + * David McKnight (IBM) [309338] [dstore] z/OS USS - invocation of 'env' shell command returns inconsistently organized output + * David McKnight (IBM) [312415] [dstore] shell service interprets < and > sequences - handle old client/new server case + * David McKnight (IBM) [341366] [dstore][shells] codepage IBM-1141 has faulty display of \ character + * David McKnight (IBM) [343421] [dstore] Man page was not displayed properly in the shell + * David McKnight (IBM) [372968] [dstore][shell] provide support for csh and tcsh shells *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.command; @@ -27,6 +36,7 @@ import java.util.StringTokenizer; import org.eclipse.dstore.core.model.Handler; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; /** * The OutputHandler class is used to listen to a particular output or error stream, @@ -68,7 +78,13 @@ _encodings = new ArrayList(); String system = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$ - + + // use special encoding first if it exists + String specialEncoding = System.getProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING); + if (specialEncoding != null) { + _encodings.add(specialEncoding); + } + if (system.startsWith("z")) { //$NON-NLS-1$ _encodings.add("IBM-1047"); //$NON-NLS-1$ /* @@ -76,11 +92,6 @@ * _encodings.add("UTF8"); */ } else { - String specialEncoding = System - .getProperty("dstore.stdin.encoding"); //$NON-NLS-1$ - if (specialEncoding != null) { - _encodings.add(specialEncoding); - } _encodings.add(System.getProperty("file.encoding")); //$NON-NLS-1$ } @@ -91,15 +102,26 @@ public void handle() { String[] lines = readLines(); if (lines != null) { - + /* * if (lines.length == 0) { _reader. } * // don't do anything unless we require output if (_newCommand && * !_isTerminal) { doPrompt(); } } else */ for (int i = 0; i < lines.length; i++) { - String line = lines[i]; - _commandThread.interpretLine(line, _isStdError); + // first make sure it's not a multiline line + String ln = lines[i]; + if (ln.indexOf('\n') > 0){ + String[] lns = ln.split("\n"); //$NON-NLS-1$ + for (int j = 0; j < lns.length; j++){ + String line = convertSpecialCharacters(lns[j]); + _commandThread.interpretLine(line, _isStdError); + } + } + else { + String line = convertSpecialCharacters(ln); + _commandThread.interpretLine(line, _isStdError); + } } if (!_isTerminal){ @@ -111,6 +133,38 @@ finish(); } } + + private String convertSpecialCharacters(String input){ + if (_commandThread._supportsCharConversion){ + // needed to ensure xml characters aren't converted in xml layer + StringBuffer output = new StringBuffer(); + + for (int idx = 0; idx < input.length(); idx++) + { + char currChar = input.charAt(idx); + switch (currChar) + { + case '&' : + output.append("&"); //$NON-NLS-1$ + break; + case ';' : + output.append(";"); //$NON-NLS-1$ + break; + case '\b': // special case for backspace control char + int len = output.length()-1; + if (len>=0) output.deleteCharAt(len); + break; + default : + output.append(currChar); + break; + } + } + return output.toString(); + } + else { + return input; + } + } private void doPrompt() { try { @@ -128,19 +182,22 @@ } } } catch (IOException e) { - e.printStackTrace(); + _commandThread._dataStore.trace(e); } } - - private int checkAvailable() { + private int checkAvailable(){ + return checkAvailable(100); + } + + private int checkAvailable(int time) { try { int available = _reader.available(); // if there's none, wait a bit and return true to continue - if (available <= 0) { - sleep(100); + if (available <= 0){ + sleep(time); available = _reader.available(); } return available; @@ -165,7 +222,7 @@ int lookahead = 0; // re-determine available if none available now - if (available == 0) { + if (available == 0) { try { lookahead = _reader.read(); } @@ -173,7 +230,6 @@ // pipe closed return null; } - if (lookahead == -1) { return null; } else { @@ -233,25 +289,44 @@ int index = 0; while (tokenizer.hasMoreTokens()) { output[index] = tokenizer.nextToken(); + + index++; } String lastLine = output[index - 1]; - - - if (!_endOfStream && (!fullOutput.endsWith("\n") && !fullOutput.endsWith("\r"))) //$NON-NLS-1$ //$NON-NLS-2$ + + boolean endLine = fullOutput.endsWith("\n") || fullOutput.endsWith("\r") || //$NON-NLS-1$//$NON-NLS-2$ + fullOutput.endsWith(">") || //$NON-NLS-1$ + fullOutput.endsWith("% "); // csh/tcsh //$NON-NLS-1$ + if (!_endOfStream && !endLine) { // our last line may be cut off byte[] lastBytes = new byte[MAX_OFFSET]; int lastIndex = 0; - - available = _reader.available(); + available = checkAvailable(); + + if (available == 0){ + try { + lookahead = _reader.read(); + } + catch (IOException e){ + // pipe closed + // allow to fall through + } + if (lookahead == -1) { + // allow to fall through + } else { + available = _reader.available() + 1; + } + } + if (available > 0) { while (!_endOfStream && lastIndex < MAX_OFFSET) { - available = _reader.available(); + if (available == 0) { String suffix = new String(lastBytes, 0, lastIndex, encoding); @@ -269,38 +344,44 @@ else { lastBytes[lastIndex] = (byte)c; - - // check for end of line - String suffix = new String(lastBytes, 0, lastIndex + 1, encoding); - int rBreak = suffix.indexOf("\r"); //$NON-NLS-1$ - int nBreak = suffix.indexOf("\n"); //$NON-NLS-1$ - if (nBreak != -1 || rBreak != -1) - { + + String osname = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$ + char lf = '\r'; + char nl = '\n'; + + // in ebcdic, the following chars are used + if (osname.startsWith("z")){ //$NON-NLS-1$ + lf = '\25'; + nl = '\15'; + } + + if (lastBytes[lastIndex] == lf || lastBytes[lastIndex] == nl){ // we've hit the end of line; + String suffix = new String(lastBytes, 0, lastIndex + 1, encoding); output[index - 1] = lastLine + suffix.substring(0, suffix.length() - 1); return output; } lastIndex++; + available = checkAvailable(); } } } } - + return output; } } catch (Exception e) { - e.printStackTrace(); + _commandThread._dataStore.trace(e); } } } catch (Exception e) { - e.printStackTrace(); + _commandThread._dataStore.trace(e); } return output; } - public synchronized void waitForInput() { try { Thread.sleep(100); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/CopyThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/CopyThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/CopyThread.java 2008-04-12 00:19:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/CopyThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ * Contributors: * Xuan Chen (IBM) - [209827] Update DStore command implementation to enable cancelation of archive operations * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients + * David McKnight (IBM) - [290290] [dstore] Error message when copy a file from another user’s folder *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -20,6 +21,7 @@ import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; +import org.eclipse.dstore.core.server.SecuredThread; import org.eclipse.rse.dstore.universal.miners.ICancellableHandler; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; import org.eclipse.rse.dstore.universal.miners.UniversalFileSystemMiner; @@ -27,7 +29,6 @@ import org.eclipse.rse.services.clientserver.IServiceConstants; import org.eclipse.rse.services.clientserver.PathUtility; import org.eclipse.rse.services.clientserver.SystemOperationMonitor; -import org.eclipse.dstore.core.server.SecuredThread; public class CopyThread extends SecuredThread implements ICancellableHandler { @@ -200,6 +201,38 @@ err = err.substring(0, err.length() - newLine.length()); } + String theOS = System.getProperty("os.name"); //$NON-NLS-1$ + boolean isZ = theOS.toLowerCase().startsWith("z"); //$NON-NLS-1$ + + // special case for bug 290290 - which only occurs on z/OS + if (isZ && err.startsWith("cp: FSUM8985")){ //$NON-NLS-1$ + // attempt against without the -p + if (folderCopy) { + command = "cp -R " + source + " " + tgt; //$NON-NLS-1$ //$NON-NLS-2$ + } + else { + command = "cp " + source + " " + tgt; //$NON-NLS-1$ //$NON-NLS-2$ + } + String theShell = "sh"; //$NON-NLS-1$ + String args[] = new String[3]; + args[0] = theShell; + args[1] = "-c"; //$NON-NLS-1$ + args[2] = command; + + p = runtime.exec(args); + + // wait for process to finish + p.waitFor(); + + // get the exit value of the process + result = p.exitValue(); + + // if the exit value is not 0, then the process did not terminate normally + if (result == 0) { + status.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS); + return; + } + } // if there is something in error buffer // there was something in the error stream of the process if (err.length() > 0) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/DeleteThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/DeleteThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/DeleteThread.java 2009-05-27 15:10:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/DeleteThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 IBM Corporation and others. + * Copyright (c) 2007, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,9 @@ * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers * David McKnight (IBM) - [264607] Unable to delete a broken symlink + * David McKnight (IBM) - [321026][dstore] Broken symbolic link can't be removed + * David McKnight (IBM) - [342450][dstore] Real files should not be deleted when deleting a symbolic link + * David McKnight (IBM) - [392012] [dstore] make server safer for delete operations *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -117,80 +120,107 @@ } private DataElement handleDelete(DataElement subject, DataElement thisStatus) throws SystemMessageException { - String type = subject.getType(); if (type.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR) || type.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR)) { return handleDeleteFromArchive(subject, thisStatus); } - - File deleteObj = new File(subject.getAttribute(DE.A_VALUE) - + File.separatorChar + subject.getName()); - DataElement deObj = null; - - boolean exists = deleteObj.exists(); - if (!exists){ - // special case for broken symbolic link + else if (IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR.equals(type) || + IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR.equals(type)){ + + String path = subject.getAttribute(DE.A_VALUE)+ File.separatorChar + subject.getName(); + if (path.equals(""+File.separatorChar)){ // no path provided //$NON-NLS-1$ + return _miner.statusCancelled(_status); + } + File deleteObj = new File(path); + DataElement deObj = null; + String attributes = subject.getSource(); String classification = "file"; //$NON-NLS-1$ String[] str = attributes.split("\\"+IServiceConstants.TOKEN_SEPARATOR); //$NON-NLS-1$ if (str.length > 11){ // 11 is classification index classification = str[11]; } - if (classification.startsWith("broken symbolic link")){ //$NON-NLS-1$ - exists = true; + boolean exists = deleteObj.exists(); + if (!exists){ + // special case for broken symbolic link + if (classification.startsWith("broken symbolic link")){ //$NON-NLS-1$ + exists = true; + } } - } - - if (!exists) { - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_DOES_NOT_EXIST + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ - UniversalServerUtilities.logError(CLASSNAME, - "The object to delete does not exist", null, _dataStore); //$NON-NLS-1$ - } else { - try { - if (deleteObj.isFile()) { - if (deleteObj.delete() == false) { - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ - } else { - // delete was successful and delete the object from the - // datastore - deObj = _dataStore.find(subject, DE.A_NAME, subject - .getName(), 1); - _dataStore.deleteObject(subject, deObj); - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + + if (!exists) { + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_DOES_NOT_EXIST + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + UniversalServerUtilities.logError(CLASSNAME, + "The object to delete does not exist", null, _dataStore); //$NON-NLS-1$ + } else { + try { + if (classification != null && classification.startsWith("symbolic link")){ //$NON-NLS-1$ + // only delete the link - no the actual file or folder contents + deleteObj.delete(); } - _dataStore.refresh(subject); - } else if (deleteObj.isDirectory()) { // it is directory and - // need to delete the - // entire directory + - // children - deleteDir(deleteObj, thisStatus); - if (deleteObj.delete() == false) { - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ - UniversalServerUtilities.logError(CLASSNAME, - "Deletion of dir fialed", null, _dataStore); //$NON-NLS-1$ + else if (deleteObj.isFile()) { + if (deleteObj.delete() == false) { + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + } else { + // delete was successful and delete the object from the + // datastore + deObj = _dataStore.find(subject, DE.A_NAME, subject + .getName(), 1); + _dataStore.deleteObject(subject, deObj); + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + } + _dataStore.refresh(subject); + } else if (deleteObj.isDirectory()) { // it is directory and + // need to delete the + // entire directory + + // children + deleteDir(deleteObj, thisStatus); + if (deleteObj.delete() == false) { + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + UniversalServerUtilities.logError(CLASSNAME, + "Deletion of dir fialed", null, _dataStore); //$NON-NLS-1$ + } else { + _dataStore.deleteObjects(subject); + DataElement parent = subject.getParent(); + _dataStore.deleteObject(parent, subject); + _dataStore.refresh(parent); + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + } } else { - _dataStore.deleteObjects(subject); - DataElement parent = subject.getParent(); - _dataStore.deleteObject(parent, subject); - _dataStore.refresh(parent); - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + // try to treat this as a file + if (deleteObj.delete() == false) { + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + UniversalServerUtilities + .logError( + CLASSNAME, + "The object to delete is neither a File or Folder! in handleDelete", //$NON-NLS-1$ + null, _dataStore); + } else { + // delete was successful and delete the object from the + // datastore + deObj = _dataStore.find(subject, DE.A_NAME, subject + .getName(), 1); + _dataStore.deleteObject(subject, deObj); + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.SUCCESS + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + } + _dataStore.refresh(subject); + } - } else { - UniversalServerUtilities - .logError( - CLASSNAME, - "The object to delete is neither a File or Folder! in handleDelete", //$NON-NLS-1$ - null, _dataStore); + } catch (Exception e) { + thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_EXCEPTION + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ + thisStatus.setAttribute(DE.A_VALUE, e.getLocalizedMessage()); + UniversalServerUtilities.logError(CLASSNAME, + "Delete of the object failed", e, _dataStore); //$NON-NLS-1$ } - } catch (Exception e) { - thisStatus.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_EXCEPTION + "|" + deleteObj.getAbsolutePath()); //$NON-NLS-1$ - thisStatus.setAttribute(DE.A_VALUE, e.getLocalizedMessage()); - UniversalServerUtilities.logError(CLASSNAME, - "Delete of the object failed", e, _dataStore); //$NON-NLS-1$ } + _dataStore.refresh(subject); + } + else { + _dataStore.trace("attempt to delete "+subject + " prevented"); //$NON-NLS-1$//$NON-NLS-2$ } - _dataStore.refresh(subject); return _miner.statusDone(_status); } @@ -235,7 +265,7 @@ public void deleteDir(File fileObj, DataElement status) { try { File list[] = fileObj.listFiles(); - for (int i = 0; i < list.length; ++i) { + for (int i = 0; i < list.length && !_isCancelled; ++i) { if (list[i].isFile()) { if (!(list[i].delete())) { status.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileClassifier.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileClassifier.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileClassifier.java 2008-11-27 14:43:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileClassifier.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,10 @@ * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers * David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder * Noriaki Takatsu (IBM) - [256724] thread-level security is not established + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [153635] [dstore-linux] dangling symbolic links are not classified properly + * David McKnight (IBM) - [350581] [dstore] FileClassifier should default to English + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -36,6 +40,7 @@ import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; import org.eclipse.dstore.core.server.SecuredThread; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; import org.eclipse.rse.services.clientserver.IServiceConstants; import org.eclipse.rse.services.clientserver.PathUtility; @@ -134,7 +139,7 @@ super(subject.getDataStore()); _lines = new ArrayList(); // special encoding passed in when starting server - _specialEncoding = System.getProperty("dstore.stdin.encoding"); //$NON-NLS-1$ + _specialEncoding = System.getProperty(IDataStoreSystemProperties.DSTORE_STDIN_ENCODING); _subject = subject; _dataStore = subject.getDataStore(); @@ -161,7 +166,8 @@ // determine if we are classifying virtual files // we are if the subject is an archive, virtual folder or a virtual file - if (objType.equals(IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR) || objType.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR) + if (objType.equals(IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR) || + objType.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR) || objType.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR)) { _classifyVirtual = true; @@ -189,28 +195,30 @@ DataElement child = _subject.get(i); if (child != null && !child.isDeleted()) { - if (child.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR) - || child.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR) - || child.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR)) - { - String name = child.getName(); - String properties = child.getSource(); - - // if this file has already been classified - // ignore it - String[] tokens = properties.split("\\" + IServiceConstants.TOKEN_SEPARATOR); //$NON-NLS-1$ - - if (tokens.length < 12) - { - putElement(name, child); - } - /* - * StringTokenizer tokenizer = new - * StringTokenizer(properties, - * IUniversalDataStoreConstants.TOKEN_SEPARATOR); if - * (tokenizer.countTokens() < 12) { putElement(name, child); } - */ - } + String type = child.getType(); + if (type.equals(IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR) + || type.equals(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR) + || type.equals(IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR) + || type.equals(IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR)) + { + String name = child.getName(); + String properties = child.getSource(); + + // if this file has already been classified + // ignore it + String[] tokens = properties.split("\\" + IServiceConstants.TOKEN_SEPARATOR); //$NON-NLS-1$ + + if (tokens.length < 12) + { + putElement(name, child); + } + /* + * StringTokenizer tokenizer = new + * StringTokenizer(properties, + * IUniversalDataStoreConstants.TOKEN_SEPARATOR); if + * (tokenizer.countTokens() < 12) { putElement(name, child); } + */ + } } } @@ -265,7 +273,10 @@ super.run(); if (!_systemSupportsClassify) return; - init(); + + try { + init(); + // get full path String filePath = null; @@ -330,6 +341,10 @@ } _dataStore.disconnectObject(_subject); _dataStore.refresh(_subject); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } } /** @@ -649,6 +664,9 @@ } } } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Exception e) { e.printStackTrace(); @@ -656,6 +674,9 @@ available = stream.available(); } } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Exception e) { e.printStackTrace(); @@ -712,11 +733,23 @@ else { args[2] = "file " + files; //dont quote files to allow shell pattern matching //$NON-NLS-1$ - + } + + String[] envVars = null; + String classifyWithEnglish = System.getProperty("classify.with.english"); //$NON-NLS-1$ + if (classifyWithEnglish == null || classifyWithEnglish.equals("true")){ //$NON-NLS-1$ + String langVar = "LANG=en_US"; // right now only classifying based on English //$NON-NLS-1$ + envVars = new String[] {langVar}; } - // run command with the working directory being the parent file - Process theProcess = Runtime.getRuntime().exec(args, null, parentFile); + // run command with the working directory being the parent file + Process theProcess = null; + try { + theProcess = Runtime.getRuntime().exec(args, envVars, parentFile); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } BufferedReader reader = null; DataInputStream stream = null; @@ -742,6 +775,9 @@ else line = readLine(stream, _specialEncoding);//reader.readLine(); } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Exception e) { } @@ -789,10 +825,9 @@ StringBuffer path = new StringBuffer(element.getValue()); path.append(File.separatorChar); path.append(element.getName()); - File refFile = new File(path.toString()); + // canonical file path - String canonicalPath = null; // if the file is a link resolve it @@ -800,7 +835,7 @@ // to resolve links, ignore it if (type.equals(STR_SYMBOLIC_LINK) && !resolveLinks) { - + File refFile = new File(path.toString()); // get canonical file path canonicalPath = refFile.getCanonicalPath(); @@ -841,6 +876,7 @@ if (type.equals(STR_SYMBOLIC_LINK)) { + File refFile = new File(path.toString()); canonicalPath = refFile.getCanonicalPath(); } } @@ -866,8 +902,9 @@ String textToCheck = STR_SYMBOLIC_LINK; int linkIndex = currentProperties.lastIndexOf(textToCheck); + // int brokenLink = currentProperties.lastIndexOf(STR_BROKEN_SYMBOLIC_LINK); - if (linkIndex != -1) + if (linkIndex != -1)// && brokenLink == 0) { int cutOffIndex = linkIndex + textToCheck.length(); @@ -897,12 +934,16 @@ else line = readLine(stream, _specialEncoding); } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Exception e) { e.printStackTrace(); } } + _dataStore.trace("out of loop"); if (reader != null) reader.close(); else @@ -910,6 +951,7 @@ // we have found links if (hasLinks) { + _dataStore.trace("has links"); // if we were told not to resolve them, but we are capable of // doing so, then // let's try again @@ -938,6 +980,9 @@ } } } + catch (OutOfMemoryError e){ + System.exit(-1); + } catch (Exception e) { e.printStackTrace(); @@ -1053,4 +1098,13 @@ // TODO: log error } } + + public void start(){ + try { + super.start(); + } + catch (OutOfMemoryError e){ + System.exit(-1); + } + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileDescriptors.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileDescriptors.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileDescriptors.java 2007-07-09 17:59:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileDescriptors.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007 IBM Corporation. All rights reserved. + * Copyright (c) 2007, 2012 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -10,6 +10,7 @@ * * Contributors: * {Name} (company) - description of contribution. + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect ********************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -17,10 +18,10 @@ public class FileDescriptors { - public static DataElement _deUniversalFileObject; - public static DataElement _deUniversalFolderObject; - public static DataElement _deUniversalVirtualFileObject; - public static DataElement _deUniversalVirtualFolderObject; - public static DataElement _deUniversalArchiveFileObject; + public DataElement _deUniversalFileObject; + public DataElement _deUniversalFolderObject; + public DataElement _deUniversalVirtualFileObject; + public DataElement _deUniversalVirtualFolderObject; + public DataElement _deUniversalArchiveFileObject; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileQueryThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileQueryThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileQueryThread.java 2008-10-22 17:25:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/FileQueryThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,8 @@ * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * David McKnight (IBM) - [251650] [dstore] Multiple copies of symbolic link file show in Table view * David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -43,14 +45,15 @@ private int _inclusion; private boolean _showHidden; private boolean _isWindows; - + private FileDescriptors _fileDescriptors; public FileQueryThread( DataElement subject, File fileobj, String queryType, String filter, boolean caseSensitive, int inclusion, boolean showHidden, boolean isWindows, - DataElement status) + DataElement status, + FileDescriptors fileDescriptors) { super(subject, status); _fileobj = fileobj; @@ -60,6 +63,7 @@ _inclusion = inclusion; _showHidden = showHidden; _isWindows = isWindows; + _fileDescriptors = fileDescriptors; } @@ -235,7 +239,7 @@ { if (file.isDirectory()) { - deObj = ds.createObject(subject,FileDescriptors._deUniversalFolderObject,fileName); + deObj = ds.createObject(subject,_fileDescriptors._deUniversalFolderObject,fileName); } else // file @@ -245,13 +249,13 @@ deObj = ds .createObject( subject, - FileDescriptors._deUniversalArchiveFileObject, + _fileDescriptors._deUniversalArchiveFileObject, fileName); } else { deObj = ds.createObject(subject, - FileDescriptors._deUniversalFileObject, + _fileDescriptors._deUniversalFileObject, fileName); } } @@ -261,13 +265,13 @@ if (ArchiveHandlerManager.getInstance().isArchive(file)) { deObj = ds.createObject(subject, - FileDescriptors._deUniversalArchiveFileObject, + _fileDescriptors._deUniversalArchiveFileObject, fileName); } else { deObj = ds.createObject(subject, - FileDescriptors._deUniversalFolderObject, + _fileDescriptors._deUniversalFolderObject, fileName); } } @@ -276,14 +280,14 @@ if (ArchiveHandlerManager.getInstance().isArchive(file)) { deObj = ds.createObject(subject, - FileDescriptors._deUniversalArchiveFileObject, + _fileDescriptors._deUniversalArchiveFileObject, fileName); } else { deObj = ds .createObject(subject, - FileDescriptors._deUniversalFileObject, + _fileDescriptors._deUniversalFileObject, fileName); } } @@ -369,7 +373,11 @@ } } - } catch (Exception e) { + } + catch (OutOfMemoryError e){ + System.exit(-1); + } + catch (Exception e) { e.printStackTrace(); UniversalServerUtilities.logError(UniversalFileSystemMiner.CLASSNAME, "createDataElement failed with exception - isFile ", e, _dataStore); //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/QueryThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/QueryThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/QueryThread.java 2008-05-07 03:00:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/QueryThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ * Contributors: * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients * Martin Oberhuber (Wind River) - [199854][api] Improve error reporting for archive handlers + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -113,6 +114,7 @@ else expandedSize = size; + try { buffer.append(version).append(IServiceConstants.TOKEN_SEPARATOR).append(date).append( IServiceConstants.TOKEN_SEPARATOR).append(size).append(IServiceConstants.TOKEN_SEPARATOR); buffer.append(hidden).append(IServiceConstants.TOKEN_SEPARATOR).append(canWrite).append( @@ -126,7 +128,10 @@ IServiceConstants.TOKEN_SEPARATOR); buffer.append(compressionRatio).append(IServiceConstants.TOKEN_SEPARATOR).append( expandedSize); - + } + catch (OutOfMemoryError e){ + System.exit(-1); + } String buf = buffer.toString(); return buf; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalDownloadHandler.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalDownloadHandler.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalDownloadHandler.java 2008-03-28 15:31:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalDownloadHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,8 @@ * Contributors: * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread * Noriaki Takatsu (IBM) - [220126] [dstore][api][breaking] Single process server for multiple clients + * David McKnight (IBM) - [dstore] cancelable threads not removed fast enough from Hashmap, resulting in OOM + * David McKnight (IBM) - [396783] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 2) *******************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -24,6 +26,7 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.lang.reflect.Method; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; @@ -62,8 +65,14 @@ { super.run(); - handleDownload(_cmdElement, _status); + handleDownload(_cmdElement, _status); _isDone = true; + removeFromCancellableList(); + _dataStore.disconnectObject(_cmdElement); + } + + private void removeFromCancellableList(){ + _miner.updateCancellableThreads(_status.getParent(), this); } public boolean isDone() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalSearchHandler.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalSearchHandler.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalSearchHandler.java 2009-03-25 20:24:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/internal/dstore/universal/miners/filesystem/UniversalSearchHandler.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -23,6 +23,14 @@ * David McKnight (IBM) - [255390] memory checking * David McKnight (IBM) - [261644] [dstore] remote search improvements * David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive + * David McKnight (IBM) - [299568] Remote search only shows result in the symbolic linked file + * David McKnight (IBM] - [330989] [dstore] OutOfMemoryError occurs when searching for a text in a large remote file + * David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support + * David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up + * Noriaki Takatsu (IBM) - [362025] [dstore] Search for text hung in encountering a device definition + * David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect + * Noriaki Takatsu (IBM) - [380562] [multithread][dstore] File Search is not canceled by the client UI on disconnect + * David McKnight (IBM) - [396783] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 2) ********************************************************************************/ package org.eclipse.rse.internal.dstore.universal.miners.filesystem; @@ -32,6 +40,7 @@ import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.HashSet; +import java.util.Iterator; import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; @@ -39,6 +48,7 @@ import org.eclipse.dstore.core.server.SecuredThread; import org.eclipse.dstore.core.server.SystemServiceManager; import org.eclipse.dstore.core.util.StringCompare; +import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties; import org.eclipse.dstore.internal.core.util.MemoryManager; import org.eclipse.rse.dstore.universal.miners.ICancellableHandler; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; @@ -52,6 +62,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.services.clientserver.search.SystemSearchFileNameMatcher; import org.eclipse.rse.services.clientserver.search.SystemSearchLineMatch; +import org.eclipse.rse.services.clientserver.search.SystemSearchMatch; import org.eclipse.rse.services.clientserver.search.SystemSearchStringMatchLocator; import org.eclipse.rse.services.clientserver.search.SystemSearchStringMatcher; @@ -82,11 +93,12 @@ protected boolean _fsCaseSensitive; private MemoryManager _memoryManager; + private boolean _searchOnlyUniqueFolders = true; public UniversalSearchHandler(DataStore dataStore, UniversalFileSystemMiner miner, SystemSearchString searchString, boolean fsCaseSensitive, File theFile, DataElement status) { super(dataStore); - _memoryManager = MemoryManager.getInstance(dataStore); + _memoryManager = new MemoryManager(dataStore); _miner = miner; _searchString = searchString; _fsCaseSensitive = fsCaseSensitive; @@ -99,6 +111,12 @@ _deVirtualFile = _dataStore.findObjectDescriptor(IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR); boolean includeSubfolders = searchString.isIncludeSubfolders(); + String searchUnique = System.getProperty(IDataStoreSystemProperties.DSTORE_SEARCH_ONLY_UNIQUE_FOLDERS); + if (searchUnique != null && searchUnique.equals("false")) //$NON-NLS-1$ + { + _searchOnlyUniqueFolders = false; + } + if (includeSubfolders) { _depth = -1; } @@ -149,6 +167,7 @@ // completed before setting the status to done _status.setAttribute(DE.A_NAME, "done"); //$NON-NLS-1$ _dataStore.refresh(_status); // true indicates refresh immediately + _miner.updateCancellableThreads(_status.getParent(), this); } _alreadySearched.clear(); @@ -171,15 +190,23 @@ protected boolean hasSearched(File file) { boolean result = false; - try { - String canonicalPath = file.getCanonicalPath(); - - // check whether it's already been searched - result = _alreadySearched.contains(canonicalPath); + String path = null; + if (!_searchOnlyUniqueFolders){ + path = file.getAbsolutePath(); + result = _alreadySearched.contains(path); } - catch (Exception e){ - result = _alreadySearched.contains(file.getAbsolutePath()); - _dataStore.trace(e); + else { + try { + + path = file.getCanonicalPath(); + + // check whether it's already been searched + result = _alreadySearched.contains(path); + } + catch (Exception e){ + result = _alreadySearched.contains(file.getAbsolutePath()); + _dataStore.trace(e); + } } return result; @@ -188,15 +215,21 @@ protected void internalSearch(File theFile, int depth) throws SystemMessageException { if (!hasSearched(theFile)) { - - try { - _alreadySearched.add(theFile.getCanonicalPath()); + if (!theFile.isDirectory() && !theFile.isFile()) { + return; } - catch (Exception e){ + if (!_searchOnlyUniqueFolders){ _alreadySearched.add(theFile.getAbsolutePath()); - _dataStore.trace(e); - - } + } + else { + try { + _alreadySearched.add(theFile.getCanonicalPath()); + } + catch (Exception e){ + _alreadySearched.add(theFile.getAbsolutePath()); + _dataStore.trace(e); + } + } boolean isDirectory = theFile.isDirectory(); @@ -346,6 +379,7 @@ checkAndClearupMemory(); File child = children[i]; internalSearch(child, depth - 1); + } } } @@ -371,17 +405,28 @@ // test for unreadable binary if (isUnreadableBinary(bufReader) || fileLength > MAX_FILE){ - // search some other way? - long size = theFile.length(); - if (simpleSearch(inputStream, size, _stringMatcher)){ + boolean matched = false; + try { + long MAX_READ = MAX_FILE / 10; // read no more than a tenth of max file at a time + int offset = 0; + + while (offset < fileLength && !matched && !_isCancelled){ + long readSize = MAX_READ; + if (offset + MAX_READ > fileLength){ + readSize = fileLength - offset; + } + matched = simpleSearch(inputStream, offset,readSize, _stringMatcher); + offset+=readSize; + } + } + catch (Exception e){ + return false; + } + finally { bufReader.close(); reader.close(); - return true; } - - bufReader.close(); - reader.close(); - return false; + return matched; } else { @@ -411,11 +456,11 @@ } } - private boolean simpleSearch(FileInputStream stream, long size, SystemSearchStringMatcher matcher) + private boolean simpleSearch(FileInputStream stream, int offset, long size, SystemSearchStringMatcher matcher) { byte[] bytes = new byte[(int)size]; try { - stream.read(bytes, 0, (int)size); + stream.read(bytes, offset, (int)size); } catch (Exception e){ } @@ -470,11 +515,22 @@ for (int i = 0; i < lineMatches.length; i++) { match = lineMatches[i]; + DataElement obj = _dataStore.createObject(deObj, _deGrep, match.getLine(), absPath); - obj.setAttribute(DE.A_SOURCE, obj.getSource() + ':'+ match.getLineNumber()); - + String sourceString = obj.getSource() + ':'+ match.getLineNumber(); + + Iterator iter = match.getMatches(); + StringBuffer offsets = new StringBuffer(); + while (iter.hasNext()){ + SystemSearchMatch m = (SystemSearchMatch)iter.next(); + int start = m.getStartOffset(); + int end = m.getEndOffset(); + offsets.append("(" + start + "," + end + ")"); + } + obj.setAttribute(DE.A_SOURCE, sourceString + offsets.toString()); } _dataStore.disconnectObjects(deObj); + _dataStore.refresh(deObj); } public void checkAndClearupMemory() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/plugin.properties 2009-05-27 15:09:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Services -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services.dstore + 3.2.1-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/.cvsignore 2006-04-10 20:44:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -rseserver.jar diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/auth.pl eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/auth.pl --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/auth.pl 2009-02-18 17:56:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/scripts/linux/auth.pl 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -w #******************************************************************************* -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ # IBM Corporation - initial API and implementation # David McKnight (IBM) - [254785] [dstore] RSE Server assumes home directory on target machine # David McKnight (IBM) - [262013] [dstore][unix] RSE Daemon fails to start server on HP-UX +# David McKnight (IBM) - [270833] Unify rseserver auth.pl to not use "su -p" on any Platform #******************************************************************************* use Shell; @@ -56,20 +57,12 @@ $encryptedPWD = crypt($pwdIN, $passwd); $classpath=$ENV{CLASSPATH}; - $suOptions="-p"; + $suOptions="-"; if ($passwd eq $encryptedPWD) { print("success\n"); - $os = uname(); - chomp($os); - - if (lc($os) eq "aix" || lc($os) eq "HP-UX") - { - $suOptions="-"; - } - # check for the existence of a home directory $homeDir=$dir; if (!(-e $homeDir)) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/scripts/unix/auth.pl eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/scripts/unix/auth.pl --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/serverruntime/scripts/unix/auth.pl 2009-04-01 14:18:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/serverruntime/scripts/unix/auth.pl 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/perl -w #******************************************************************************* -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -11,6 +11,7 @@ # David McKnight (IBM) - [254785] [dstore] RSE Server assumes home directory on target machine # David McKnight (IBM) - [262013] [dstore][unix] RSE Daemon fails to start server on HP-UX # David McKnight (IBM) - [270015] rseserver fails to run on FreeBSD. +# David McKnight (IBM) - [270833] Unify rseserver auth.pl to not use "su -p" on any Platform #******************************************************************************* use Shell; @@ -63,14 +64,6 @@ { print("success\n"); - $os = uname(); - chomp($os); - - if (lc($os) eq "linux") - { - $suOptions="-p"; - } - # check for the existence of a home directory $homeDir=$dir; if (!(-e $homeDir)) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreFileService.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreFileService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreFileService.java 2009-07-23 17:38:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreFileService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -61,6 +61,13 @@ * David McKnight (IBM) - [281712] [dstore] Warning message is needed when disk is full * David McKnight (IBM) - [284056] Sychronize Cache causes the UI to hang with no way out * David McKnight (IBM) - [284420] nullprogressmonitor is needed + * David McKnight (IBM) - [298440] jar files in a directory can't be pasted to another system properly + * David McKnight (IBM) - [308770] [dstore] Remote Search using old server fails with NPE + * David McKnight (IBM) - [339548] [dstore] shouldn't attempt file conversion on empty files + * David McKnight (IBM) - [365780] [dstore] codepage conversion should only occur for different encodings + * David McKnight (IBM) - [390037] [dstore] Duplicated items in the System view + * David McKnight (IBM) - [391164] [dstore] don't clear cached elements when they're not spirited or deleted + * David McKnight (IBM) - [396783] [dstore] fix issues with the spiriting mechanism and other memory improvements (phase 2) *******************************************************************************/ package org.eclipse.rse.internal.services.dstore.files; @@ -298,7 +305,7 @@ if (ds != null) { String[] clonedAttributes = (String[])_filterAttributes.clone(); - clonedAttributes[DE.A_ID] = fileNameFilter; + //clonedAttributes[DE.A_ID] = fileNameFilter; DataElement attributes = ds.createTransientObject(clonedAttributes); String version = IServiceConstants.VERSION_1; @@ -836,29 +843,32 @@ if (resultChild.getType().equals(IUniversalDataStoreConstants.DOWNLOAD_RESULT_SUCCESS_TYPE)) { - if (!isBinary){ // do standard conversion if this is text! + if (!isBinary && fileLength > 0){ // do standard conversion if this is text! String localEncoding = SystemEncodingUtil.getInstance().getLocalDefaultEncoding(); - IFileServiceCodePageConverter codePageConverter = CodePageConverterManager.getCodePageConverter(encoding, this); + if (!localEncoding.equals(encoding)) {// only do conversion if the encodings are different and the length is non-zero - try { - codePageConverter.convertFileFromRemoteEncoding(remotePath, localFile, encoding, localEncoding, this); - } - catch (RuntimeException e){ - Throwable ex = e.getCause(); - StringBuffer msgTxtBuffer = new StringBuffer(RSEServicesMessages.FILEMSG_OPERATION_FAILED); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append(remotePath); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append(encoding); - msgTxtBuffer.append(" -> "); - msgTxtBuffer.append(localEncoding); - - SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, - IDStoreMessageIds.FILEMSG_IO_ERROR, - IStatus.ERROR, msgTxtBuffer.toString(), ex); - throw new SystemMessageException(msg); + IFileServiceCodePageConverter codePageConverter = CodePageConverterManager.getCodePageConverter(encoding, this); + + try { + codePageConverter.convertFileFromRemoteEncoding(remotePath, localFile, encoding, localEncoding, this); + } + catch (RuntimeException e){ + Throwable ex = e.getCause(); + StringBuffer msgTxtBuffer = new StringBuffer(RSEServicesMessages.FILEMSG_OPERATION_FAILED); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append(remotePath); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append(encoding); + msgTxtBuffer.append(" -> "); + msgTxtBuffer.append(localEncoding); + + SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, + IDStoreMessageIds.FILEMSG_IO_ERROR, + IStatus.ERROR, msgTxtBuffer.toString(), ex); + throw new SystemMessageException(msg); + } } } } @@ -1087,28 +1097,30 @@ if (resultChild.getType().equals(IUniversalDataStoreConstants.DOWNLOAD_RESULT_SUCCESS_TYPE)) { // do standard conversion if this is text! - if (!isBinaries[i]){ // do standard conversion if this is text! + if (!isBinaries[j] && fileLength > 0){ // do standard conversion if this is text! or if the file is empty String localEncoding = SystemEncodingUtil.getInstance().getLocalDefaultEncoding(); - IFileServiceCodePageConverter codePageConverter = CodePageConverterManager.getCodePageConverter(hostEncodings[i], this); - - try { - codePageConverter.convertFileFromRemoteEncoding(remoteElement.getName(), localFile, hostEncodings[i], localEncoding, this); - } - catch (RuntimeException e){ - Throwable ex = e.getCause(); - StringBuffer msgTxtBuffer = new StringBuffer(RSEServicesMessages.FILEMSG_OPERATION_FAILED); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append(remoteFiles[i]); - msgTxtBuffer.append('\n'); - msgTxtBuffer.append(hostEncodings[i]); - msgTxtBuffer.append(" -> "); - msgTxtBuffer.append(localEncoding); - - SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, - IDStoreMessageIds.FILEMSG_IO_ERROR, - IStatus.ERROR, msgTxtBuffer.toString(), ex); - throw new SystemMessageException(msg); + if (!localEncoding.equals(hostEncodings[j])){ + IFileServiceCodePageConverter codePageConverter = CodePageConverterManager.getCodePageConverter(hostEncodings[j], this); + + try { + codePageConverter.convertFileFromRemoteEncoding(remoteElement.getName(), localFile, hostEncodings[j], localEncoding, this); + } + catch (RuntimeException e){ + Throwable ex = e.getCause(); + StringBuffer msgTxtBuffer = new StringBuffer(RSEServicesMessages.FILEMSG_OPERATION_FAILED); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append(remoteFiles[j]); + msgTxtBuffer.append('\n'); + msgTxtBuffer.append(hostEncodings[j]); + msgTxtBuffer.append(" -> "); + msgTxtBuffer.append(localEncoding); + + SystemMessage msg = new SimpleSystemMessage(Activator.PLUGIN_ID, + IDStoreMessageIds.FILEMSG_IO_ERROR, + IStatus.ERROR, msgTxtBuffer.toString(), ex); + throw new SystemMessageException(msg); + } } } } @@ -1200,7 +1212,7 @@ DataElement de = null; if (name.equals(".") && name.equals(remoteParent)) //$NON-NLS-1$ { - de = getElementFor(name); + de = getElementFor(name, true); } else { @@ -1210,7 +1222,7 @@ buf.append(sep); } buf.append(name); - de = getElementFor(buf.toString()); + de = getElementFor(buf.toString(), true); } return de; } @@ -1243,11 +1255,15 @@ if (isOldIBMMiner()){ // only accepts filters for file queries if (!de.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR)){ - StringBuffer buf = new StringBuffer(remoteParent); - String sep = getSeparator(remoteParent); - if (sep.length()>0 && !remoteParent.endsWith(sep)) { - buf.append(sep); + StringBuffer buf = new StringBuffer(); + if (remoteParent != null){ + buf.append(remoteParent); + String sep = getSeparator(remoteParent); + if (sep.length()>0 && !remoteParent.endsWith(sep)) { + buf.append(sep); + } } + buf.append(name); String fullPath = buf.toString(); de.setAttribute(DE.A_NAME, fullPath); @@ -1509,7 +1525,12 @@ public void delete(String remoteParent, String fileName, IProgressMonitor monitor) throws SystemMessageException { String remotePath = remoteParent + getSeparator(remoteParent) + fileName; - DataElement de = getElementFor(remotePath); + + // always get a fresh element for deletions (spiriting could cause issues on server-side) + DataElement universaltemp = getMinerElement(); + String normalizedPath = PathUtility.normalizeUnknown(remotePath); + DataElement de = universaltemp.getDataStore().createObject(universaltemp, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR, normalizedPath, normalizedPath, "", false); //$NON-NLS-1$ + // if we don't have a proper element, we won't have a command descriptor if (de.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR)){ // need to fetch @@ -1553,12 +1574,16 @@ delete(remoteParents[0], fileNames[0], monitor); return; } - + DataElement universaltemp = getMinerElement(); ArrayList dataElements = new ArrayList(remoteParents.length); for (int i = 0; i < remoteParents.length; i++) { String remotePath = remoteParents[i] + getSeparator(remoteParents[i]) + fileNames[i]; - DataElement de = getElementFor(remotePath); + + // always get a fresh element for deletions (spiriting could cause issues on server-side) + String normalizedPath = PathUtility.normalizeUnknown(remotePath); + DataElement de = universaltemp.getDataStore().createObject(universaltemp, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR, normalizedPath, normalizedPath, "", false); //$NON-NLS-1$ + // if we don't have a proper element, we won't have a command descriptor if (de.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR)){ // need to fetch @@ -1618,7 +1643,11 @@ newPath = remoteParent + getSeparator(remoteParent) + newName; } - DataElement de = getElementFor(oldPath); + // always get a fresh element for renames (spiriting could cause issues on server-side) + DataElement universaltemp = getMinerElement(); + String normalizedPath = PathUtility.normalizeUnknown(oldPath); + DataElement de = universaltemp.getDataStore().createObject(universaltemp, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR, normalizedPath, normalizedPath, "", false); //$NON-NLS-1$ + // if we don't have a proper element, we won't have a command descriptor if (de.getType().equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR)){ // need to fetch @@ -2080,8 +2109,12 @@ } return results; } + + protected DataElement getElementFor(String path){ + return getElementFor(path, false); + } - protected DataElement getElementFor(String path) + protected DataElement getElementFor(String path, boolean forceReuse) { if (!isInitialized()) { @@ -2099,7 +2132,8 @@ DataElement element = (DataElement)_fileElementMap.get(normalizedPath); if (element != null) { - if (element.isDeleted()){ + if (forceReuse || element.isDeleted() + || element.isSpirit()){ // when using spirit, don't use element cache _fileElementMap.remove(normalizedPath); element = null; } @@ -2392,6 +2426,9 @@ */ DataElement remoteFile = file.getDataElement(); + if (remoteFile.isSpirit()){ + remoteFile = getElementFor(rfile.getAbsolutePath()); + } DataElement status = dsStatusCommand(remoteFile, IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS, monitor); if (status != null) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreInputStream.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreInputStream.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreInputStream.java 2008-06-10 02:19:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/files/DStoreInputStream.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2007, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * Martin Oberhuber (Wind River) - [199561][efs][dstore] Eclipse hangs when manipulating empty file * David McKnight (IBM) - [234637] [dstore][efs] RSE EFS provider seems to truncate files * David McKnight (IBM) - [236039][dstore][efs] DStoreInputStream can report EOF too early - clean up how it waits for the local temp file to be created + * David McKnight (IBM) - [320300][dstore] DstoreInputStream needs to delete tempfile on exit ********************************************************************************/ package org.eclipse.rse.internal.services.dstore.files; @@ -58,6 +59,8 @@ try { _localFile = File.createTempFile("download", "rse"); //$NON-NLS-1$//$NON-NLS-2$ + _localFile.deleteOnExit(); + DataElement remoteElement = ds.createObject(universaltemp, de.getType(), _remotePath, String.valueOf(_mode)); DataElement localElement = ds.createObject(universaltemp, de.getType(), _localFile.getAbsolutePath(), _encoding); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/search/DStoreSearchService.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/search/DStoreSearchService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/search/DStoreSearchService.java 2009-03-25 20:24:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/search/DStoreSearchService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,6 +21,7 @@ * David McKnight (IBM) - [255390] don't assume one update means the search is done * David McKnight (IBM) - [261644] [dstore] remote search improvements * David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive + * David McKnight (IBM) - [293914] [dstore] NPE is thrown during the remote search *******************************************************************************/ package org.eclipse.rse.internal.services.dstore.search; @@ -135,6 +136,8 @@ catch (Exception e) { config.setStatus(IHostSearchConstants.CANCELLED); + if (monitor != null) + monitor.setCanceled(true); } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java 2007-06-05 10:17:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [286671] return null when status is null *******************************************************************************/ package org.eclipse.rse.internal.services.dstore.shells; @@ -90,6 +90,9 @@ e.printStackTrace(); } } + if (_status == null){ + return null; + } if (_status.getValue().equals("done")) //$NON-NLS-1$ { if (!_isErrorReader) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java 2008-08-22 16:34:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [226262] Make IService IAdaptable and add Javadoc * Martin Oberhuber (Wind River) - [226301][api] IShellService should throw SystemMessageException on error * David McKnight (IBM) - [244898] [dstore] IRemoteCmdSubSystem.getHostEnvironmentVariables() call does not always work + * David McKnight (IBM) - [356658] [dstore] getHostEnvironment returns an empty array immediately after connecting *******************************************************************************/ package org.eclipse.rse.internal.services.dstore.shells; @@ -105,6 +106,10 @@ { if (_envVars == null || _envVars.length == 0) { + if (!isInitialized()){ + waitForInitialize(null); + } + List envVars = new ArrayList(); DataStore ds = getDataStore(); DataElement envMinerData = ds.findMinerInformation(getEnvSystemMinerId()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellThread.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellThread.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellThread.java 2007-12-03 17:04:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellThread.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,8 @@ * Contributors: * {Name} (company) - description of contribution. * David McKnight (IBM) - [196624] dstore miner IDs should be String constants rather than dynamic lookup + * David McKnight (IBM) - [286671] Dstore shell service interprets < and > sequences + * David McKnight (IBM) [312415] [dstore] shell service interprets < and > sequences - handle old client/new server case *******************************************************************************/ package org.eclipse.rse.internal.services.dstore.shells; @@ -23,6 +25,7 @@ import org.eclipse.dstore.core.model.DE; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; +import org.eclipse.dstore.core.model.DataStoreResources; import org.eclipse.dstore.core.model.DataStoreSchema; import org.eclipse.rse.dstore.universal.miners.IUniversalDataStoreConstants; @@ -44,6 +47,8 @@ private DataElement _status; private String _invocation; + private boolean _sentCharConversionCommand = false; + /** * @param cwd initial working directory * @param invocation launch shell command @@ -262,6 +267,18 @@ if (cmd != null) { + // first, find out if the server support conversion + DataElement fsD= dataStore.findObjectDescriptor(DataStoreResources.model_directory); + DataElement convDes = dataStore.localDescriptorQuery(fsD, "C_CHAR_CONVERSION", 1); //$NON-NLS-1$ + if (convDes != null){ + if (!_sentCharConversionCommand){ + dataStore.command(convDes, _status); + _sentCharConversionCommand = true; + } + + cmd = convertSpecialCharacters(cmd); + } + DataElement commandDescriptor = getSendInputDescriptor(commandElement); if (commandDescriptor != null) { @@ -272,4 +289,28 @@ } } } + + private String convertSpecialCharacters(String input){ + // needed to ensure xml characters aren't converted in xml layer + + StringBuffer output = new StringBuffer(); + + for (int idx = 0; idx < input.length(); idx++) + { + char currChar = input.charAt(idx); + switch (currChar) + { + case '&' : + output.append("&"); + break; + case ';' : + output.append(";"); + break; + default : + output.append(currChar); + break; + } + } + return output.toString(); + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java 2009-09-15 15:14:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DStoreStatusMonitor.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,6 +20,7 @@ * David McKnight (IBM) - [231126] [dstore] status monitor needs to reset WaitThreshold on nudge * David McKnight (IBM) - [261644] [dstore] remote search improvements * David McKnight (IBM) - [283157] [dstore] Remote search didn't end when the dstore server crashed + * David McKnight (IBM) - [368980] [dstore] default wait threshold for DStoreStatusMonitor is too large *******************************************************************************/ package org.eclipse.rse.services.dstore.util; @@ -155,9 +156,12 @@ */ public boolean determineStatusDone(DataElement status) { - return status.getAttribute(DE.A_VALUE).equals("done") || //$NON-NLS-1$ - status.getAttribute(DE.A_NAME).equals("done") ||//$NON-NLS-1$ - status.getAttribute(DE.A_NAME).equals("cancelled"); //$NON-NLS-1$ + boolean statusDone = + status.getAttribute(DE.A_VALUE).equals("done") || //$NON-NLS-1$ + status.getAttribute(DE.A_NAME).equals("done") ||//$NON-NLS-1$ + status.getAttribute(DE.A_NAME).equals("cancelled"); //$NON-NLS-1$ + + return statusDone; } /** @@ -226,14 +230,14 @@ return _networkDown; } - public DataElement waitForUpdate(DataElement status) throws InterruptedException - { - return waitForUpdate(status, null, 1000); - } + public DataElement waitForUpdate(DataElement status) throws InterruptedException + { + return waitForUpdate(status, null, 100); + } public DataElement waitForUpdate(DataElement status, IProgressMonitor monitor) throws InterruptedException { - return waitForUpdate(status, monitor, 1000); + return waitForUpdate(status, monitor, 100); } public DataElement waitForUpdate(DataElement status, int wait) throws InterruptedException @@ -286,7 +290,6 @@ } waitForUpdate(); - //Thread.sleep(200); if (!status.getDataStore().isConnected()){ // not connected anymore! _networkDown = true; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java 2008-06-04 08:42:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,6 +19,7 @@ * David McKnight (IBM) - [222448] [dstore] update DownloadListener to handle timeouts and nudge * David McKnight (IBM) - [225902] [dstore] use C_NOTIFICATION command to wake up the server * David McKnight (IBM) - [231126] [dstore] status monitor needs to reset WaitThreshold on nudge + * David McKnight (IBM) - [267478] [dstore] Invalid thread access thrown calling the DStoreFileService.download method ********************************************************************************/ package org.eclipse.rse.services.dstore.util; @@ -149,8 +150,11 @@ long delta = currentLength - _totalBytesNotified; if (delta > 0) { - //System.out.println(_status.getAttribute(DE.A_SOURCE)); - _monitor.worked((int)delta); + try { // certain progress monitors can't do work when not on main thread + _monitor.worked((int)delta); + } + catch (Exception e){ + } try { Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.dstore/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.dstore/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/.cvsignore 2006-04-10 20:46:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/META-INF/MANIFEST.MF 2009-08-06 22:00:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,13 +2,13 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.files.ftp;singleton:=true -Bundle-Version: 3.0.101.qualifier +Bundle-Version: 3.0.401.qualifier Bundle-Activator: org.eclipse.rse.internal.services.files.ftp.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", - org.apache.commons.net;bundle-version="[1.4.1,3.0.0)", + org.apache.commons.net;bundle-version="[1.4.1,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/about.ini eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/about.ini 2009-05-13 22:12:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/about.properties eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/about.properties 2009-05-27 22:43:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,8 +25,8 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Symbian Software Ltd. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm\n\ +(c) Copyright Symbian Software Ltd. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm\n\ \n\ This product includes software developed by the\n\ Apache Software Foundation http://www.apache.org/ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/build.properties eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/build.properties 2009-05-27 15:09:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ .,\ about.ini,\ about.mappings,\ - dsdp32.png + tm32.png source.. = src/ output.. = bin/ src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/plugin.properties 2009-05-27 15:09:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE FTP Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services.files.ftp + 3.0.401-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPHostFile.java eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPHostFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPHostFile.java 2008-06-03 23:24:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPHostFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 IBM Corporation and others. + * Copyright (c) 2005, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -23,6 +23,7 @@ * Javier Montalvo Orus (Symbian) - [198692] FTP should mark files starting with "." as hidden * David McKnight (IBM) - [209593] [api] add support for "file permissions" and "owner" properties for unix files * Martin Oberhuber (Wind River) - [235360][ftp][ssh][local] Return proper "Root" IHostFile + * Samuel Wu (IBM) - [398988] [ftp] FTP Only support to zVM *******************************************************************************/ package org.eclipse.rse.internal.services.files.ftp; @@ -67,7 +68,7 @@ _size = size; _isArchive = internalIsArchive(); _canRead = true; - _canWrite = false; + _canWrite = true; _isRoot = isRoot; _exists = exists; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPService.java eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPService.java 2009-08-07 12:53:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/src/org/eclipse/rse/internal/services/files/ftp/FTPService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -83,6 +83,8 @@ * Martin Oberhuber (Wind River) - [217472][ftp] Error copying files with very short filenames * Martin Oberhuber (Wind River) - [285942] Throw exception when listing a non-folder * Martin Oberhuber (Wind River) - [285948] Avoid recursive deletion over symbolic links + * Martin Oberhuber (Wind River) - [300398] Avoid product hang-up on isConnected() + * Martin Oberhuber (Wind River) - [305986] NPE due to race condition in isConnected() ********************************************************************************/ package org.eclipse.rse.internal.services.files.ftp; @@ -109,7 +111,6 @@ import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClientConfig; -import org.apache.commons.net.ftp.FTPConnectionClosedException; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import org.eclipse.core.runtime.IProgressMonitor; @@ -144,6 +145,9 @@ public class FTPService extends AbstractFileService implements IFTPService, IFilePermissionsService { private FTPClient _ftpClient; + private boolean _connected; + private long _ftpLastCheck; + private static long FTP_CONNECTION_CHECK_TIMEOUT = 30000; //msec before checking connection with NOOP private FTPFile[] _ftpFiles; private Mutex _commandMutex = new Mutex(); @@ -335,7 +339,7 @@ protected String checkEncoding(String s) throws SystemMessageException { if (s == null || s.length() == 0) return s; - String encoding = _controlEncoding!=null ? _controlEncoding : getFTPClient().getControlEncoding(); + String encoding = _controlEncoding!=null ? _controlEncoding : getFTPClient(false).getControlEncoding(); try { byte[] bytes = s.getBytes(encoding); String decoded = new String(bytes, encoding); @@ -383,7 +387,7 @@ } } - if(_ftpLoggingOutputStream!=null) + if(_ftpLoggingOutputStream!=null && _ftpProtocolCommandListener==null) { _ftpProtocolCommandListener = new ProtocolCommandListener() { @@ -490,21 +494,29 @@ //Just to be safe clearCache(null); + _connected = true; } public void disconnect() { + _connected = false; clearCache(null); try { - getFTPClient().logout(); - _ftpClient = null; + if (_ftpClient!=null) { + //no use connecting through NOOP as side-effect + //of getFtpClient() just to disconnect + _ftpClient.logout(); + } } catch (IOException e) { } finally { _ftpClient = null; + //force checking connection with NOOP on reconnect + _ftpLastCheck = 0; + _ftpProtocolCommandListener = null; } } @@ -527,16 +539,38 @@ } } + /** * Returns the commons.net FTPClient for this session. * * As a side effect, it also checks the connection * by sending a NOOP to the remote side, and initiates * a connect in case the NOOP throws an exception. + * + * In order to avoid race conditions by this sending + * of NOOP and its related return code, this sending + * of NOOP must always be protected by a command mutex. + * + * @return The commons.net FTPClient. + */ + public FTPClient getFTPClient() { + return getFTPClient(true); + } + + /** + * Returns the commons.net FTPClient for this session. + * + * @param checkConnection true to request + * sending a NOOP command as a side-effect in order + * to check connection or re-connect. + * When this is done, the call must be protected + * by a command mutex in order to avoid race conditions + * between sending the NOOP command and awaiting its + * response. * * @return The commons.net FTPClient. */ - public FTPClient getFTPClient() + public FTPClient getFTPClient(boolean checkConnection) { if (_ftpClient == null) { @@ -547,14 +581,18 @@ } } - if(_hostName!=null) + if(_hostName!=null && checkConnection) { - try{ - _ftpClient.sendNoOp(); - }catch (IOException e){ - try { - connect(); - } catch (Exception e1) {} + long curTime = System.currentTimeMillis(); + if (curTime - _ftpLastCheck > FTP_CONNECTION_CHECK_TIMEOUT) { + _ftpLastCheck = curTime; + try{ + _ftpClient.sendNoOp(); + }catch (IOException e){ + try { + connect(); + } catch (Exception e1) {} + } } } @@ -669,8 +707,8 @@ { try { //try to retrieve the file - _ftpClient = getFTPClient(); - chdir(_ftpClient, remoteParent); + FTPClient ftpc = getFTPClient(); + chdir(ftpc, remoteParent); if(!listFiles(monitor)) { throw new SystemOperationCancelledException(); @@ -719,19 +757,13 @@ { boolean isConnected = false; - if(_ftpClient!=null) { + if(_ftpClient!=null && _connected) { isConnected = _ftpClient.isConnected(); - if (isConnected){ // make sure that there hasn't been a timeout - try { - _ftpClient.noop(); - } - catch (FTPConnectionClosedException e){ - return false; - } - catch (IOException e2){ - return false; - } - } + // Bug 300394: isConnected() is called on the main thread, so it must + // return fast without really checking the remote. In FTP, we deal + // with "virtual connections" which can automatically re-connect + // through the getFTPClient() method at any time. Sending NOOP as + // keepalive is a separate thing to be done. } return isConnected; @@ -768,8 +800,8 @@ filematcher = new NamePatternMatcher(fileFilter, true, true); } - _ftpClient = getFTPClient(); - chdir(_ftpClient, parentPath); + FTPClient ftpc = getFTPClient(); + chdir(ftpc, parentPath); if(!listFiles(monitor)) { throw new SystemOperationCancelledException(); @@ -1636,8 +1668,9 @@ } else if(_commandMutex.waitForLock(monitor, Long.MAX_VALUE)) { try { clearCache(parent); - if (!_ftpClient.sendSiteCommand("CHMOD " + newPermissions + " " + file.getAbsolutePath())) { //$NON-NLS-1$ //$NON-NLS-2$ - String lastMessage = _ftpClient.getReplyString(); + FTPClient ftpc = getFTPClient(); + if (!ftpc.sendSiteCommand("CHMOD " + newPermissions + " " + file.getAbsolutePath())) { //$NON-NLS-1$ //$NON-NLS-2$ + String lastMessage = ftpc.getReplyString(); throw new RemoteFileSecurityException(new Exception(lastMessage)); } } catch (IOException e) { @@ -1782,8 +1815,9 @@ if (_commandMutex.waitForLock(monitor, Long.MAX_VALUE)) { try { clearCache(inFile.getParentPath()); - if (!_ftpClient.sendSiteCommand("CHMOD " + s + " " + inFile.getAbsolutePath())) { //$NON-NLS-1$ //$NON-NLS-2$ - String lastMessage = _ftpClient.getReplyString(); + FTPClient ftpc = getFTPClient(); + if (!ftpc.sendSiteCommand("CHMOD " + s + " " + inFile.getAbsolutePath())) { //$NON-NLS-1$ //$NON-NLS-2$ + String lastMessage = ftpc.getReplyString(); throw new RemoteFileSecurityException(new Exception(lastMessage)); } } catch (IOException e) { Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.files.ftp/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.files.ftp/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.local/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/.cvsignore 2006-04-10 20:47:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services.local/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/META-INF/MANIFEST.MF 2009-07-30 13:35:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.local;singleton:=true -Bundle-Version: 2.1.101.qualifier +Bundle-Version: 2.1.401.qualifier Bundle-Activator: org.eclipse.rse.internal.services.local.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/about.ini eclipse-rse-3.4.2/org.eclipse.rse.services.local/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/about.ini 2009-05-13 22:13:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/about.properties eclipse-rse-3.4.2/org.eclipse.rse.services.local/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/about.properties 2009-05-27 22:43:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm \ No newline at end of file +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/build.properties eclipse-rse-3.4.2/org.eclipse.rse.services.local/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/build.properties 2009-05-27 15:09:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ .,\ about.ini,\ about.mappings,\ - dsdp32.png + tm32.png source.. = src/ output.. = bin/ src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.local/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.local/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services.local/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/plugin.properties 2009-05-27 15:09:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Local Services -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services.local/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services.local + 2.1.401-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.java eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.java 2008-04-07 12:48:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -54,6 +54,9 @@ public static String FILEMSG_DELETING; public static String FILEMSG_COPYING; + public static String FILEMSG_ERROR_DOWNLOAD_SIZE; + public static String FILEMSG_ERROR_UPLOAD_SIZE; + static { // load message values from bundle file NLS.initializeMessages(BUNDLE_NAME, LocalServiceResources.class); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.properties eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.properties 2008-04-07 12:48:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/LocalServiceResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2008 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -50,4 +50,7 @@ FILEMSG_DELETING =Deleting {0}... FILEMSG_COPYING =Copying {0}... +FILEMSG_ERROR_DOWNLOAD_SIZE=Local download: file size mismatch for {0} +FILEMSG_ERROR_UPLOAD_SIZE=Local upload: file size mismatch for {0} + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalFileService.java eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalFileService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalFileService.java 2009-09-15 21:21:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalFileService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -44,6 +44,15 @@ * David McKnight (IBM) - [280899] RSE can't open files in some directory, which give the RSEG1067 error me * Martin Oberhuber (Wind River) - [285942] Throw exception when listing a non-folder * Martin Oberhuber (Wind River) - [286129][api] RemoteFileException(String) violates API contract + * David McKnight (IBM) - [299140] Local Readonly file can't be copied/pasted twice + * Martin Oberhuber (Wind River) - [314461] NPE deleting a folder w/o permission + * David McKnight (IBM) - [279829] [local] Save conflict dialog keeps popping up on mounted drive + * David McKnight (IBM) - [331247] Local file paste failed on Vista and Windows 7 + * Xuan Chen (IBM) - [222544] [testing] FileServiceArchiveTest leaves temporary files and folders behind in TEMP dir + * David McKnight (IBM) - [337612] Failed to copy the content of a tar file + * David McKnight (IBM) - [232084] [local] local file service should not throw operation cancelled exception due to file sizes + * David McKnight (IBM) - [374538] [local] localFile service tries to set modified time on virtual files + * Samuel Wu (IBM) - [395981] Local file encoding is not handled properly *******************************************************************************/ package org.eclipse.rse.internal.services.local.files; @@ -63,12 +72,20 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.URIUtil; +import org.eclipse.osgi.service.datalocation.Location; import org.eclipse.osgi.util.NLS; import org.eclipse.rse.internal.services.local.Activator; import org.eclipse.rse.internal.services.local.ILocalMessageIds; @@ -176,6 +193,9 @@ { _osCmdShell = "start /B "; //$NON-NLS-1$ } + else if (_isWindows){ // newer version of windows (i.e. vista or 7) + _osCmdShell = "cmd /C "; //$NON-NLS-1$ + } _checkedOS = true; } return _isWindows; @@ -400,16 +420,23 @@ parentDir.mkdirs(); } // encoding conversion required if it a text file but not an xml file - String systemEncoding = SystemEncodingUtil.getInstance().getEnvironmentEncoding(); + String systemEncoding = SystemEncodingUtil.getInstance().getLocalDefaultEncoding(); boolean isEncodingConversionRequired = !isBinary && !systemEncoding.equals(hostEncoding); // should not convert if both encodings are the same inputStream = new FileInputStream(file); bufInputStream = new BufferedInputStream(inputStream); + + boolean wasReadonly = destinationFile.exists() && !destinationFile.canWrite(); + if (wasReadonly){ // tempfile is readonly + // since we're replacing the tempfile that represents the real file, the readonly bit should be removed for the transfer + //destinationFile.setWritable(true); + setReadOnly(destinationFile.getParent(), destinationFile.getName(), false, monitor); + } outputStream = new FileOutputStream(destinationFile); if (isEncodingConversionRequired) { - outputWriter = new OutputStreamWriter(outputStream, hostEncoding); + outputWriter = new OutputStreamWriter(outputStream, systemEncoding); bufWriter = new BufferedWriter(outputWriter); } else @@ -455,6 +482,9 @@ isCancelled = monitor.isCanceled(); } } + if (wasReadonly){ + destinationFile.setReadOnly(); + } } catch (Exception e) { @@ -485,9 +515,7 @@ boolean sizeCheck = !isBinary && systemEncoding.equals(hostEncoding); if (sizeCheck && (destinationFile.length() != file.length())) { - throw new SystemOperationCancelledException(); -// System.err.println("local.upload: size mismach on "+destinationFile.getAbsolutePath()); //$NON-NLS-1$ -// return false; + throw new RemoteFileIOException(new IOException(NLS.bind(LocalServiceResources.FILEMSG_ERROR_DOWNLOAD_SIZE,remoteFile))); } } } @@ -662,18 +690,19 @@ if (isCancelled) { throw new SystemOperationCancelledException(); -// return false; } else if (destinationFile!=null) { - destinationFile.setLastModified(localFile.lastModified()); + // commented out as per the following bug: + // [279829] [local] Save conflict dialog keeps popping up on mounted drive + // destinationFile.setLastModified(localFile.lastModified()); //TODO check if we want to preserve permissions //if(!localFile.canWrite()) destinationFile.setReadOnly(); // File lengths can be different if the encodings are different -/* if (destinationFile.length() != localFile.length()) { - // throw new SystemOperationCancelledException(); - System.err.println("local.upload: size mismach on "+destinationFile.getAbsolutePath()); //$NON-NLS-1$ - return false; - }*/ + String systemEncoding = SystemEncodingUtil.getInstance().getEnvironmentEncoding(); + boolean sizeCheck = !isBinary && systemEncoding.equals(hostEncoding); + if (sizeCheck && destinationFile.length() != localFile.length()) { + throw new RemoteFileIOException(new IOException(NLS.bind(LocalServiceResources.FILEMSG_ERROR_UPLOAD_SIZE,remoteFile))); + } } } catch (IOException e) @@ -1090,16 +1119,20 @@ { boolean result = true; File[] files = folder.listFiles(); - for (int i = 0; i < files.length && result; i++) + if (files!=null) { - File file = files[i]; - if (file.isDirectory()) + //bug 314461: java.io.File returns null if folder has no permissions + for (int i = 0; i < files.length && result; i++) { - result = deleteContents(file, monitor); - } - else - { - result = file.delete(); + File file = files[i]; + if (file.isDirectory()) + { + result = deleteContents(file, monitor); + } + else + { + result = file.delete(); + } } } if (result) @@ -1373,6 +1406,23 @@ } } + private boolean isTempFile(File resource){ + try { + URI wsURI = URIUtil.toURI(Platform.getInstanceLocation().getURL()); + File wsRoot = URIUtil.toFile(wsURI); + if (wsRoot!=null) { + File rsProj = new File(wsRoot, "RemoteSystemsTempFiles"); //$NON-NLS-1$ + IPath rsProjPath = new Path(rsProj.getAbsolutePath()); + IPath resPath = new Path(resource.getAbsolutePath()); + return rsProjPath.isPrefixOf(resPath); + //could also compare canonical paths at this point but won't do here + //since it is costly and most likely not needed for the Tempfiles project. + } + } catch (URISyntaxException e) { + } + return false; + } + /** * Copy a file or folder to a new target parent folder, but if * copying from an archive, extract the file in the encoding specified @@ -1401,7 +1451,9 @@ archiveOperationMonitor = new SystemOperationMonitor(); checkArchiveOperationStatusThread = new CheckArchiveOperationStatusThread(archiveOperationMonitor, monitor); } - if (!(ArchiveHandlerManager.isVirtual(targetFolder.getAbsolutePath())) && !ArchiveHandlerManager.getInstance().isArchive(targetFolder)) + + boolean isTempFile = isTempFile(targetFolder); + if (!((ArchiveHandlerManager.isVirtual(targetFolder.getAbsolutePath()) && !isTempFile)) && !ArchiveHandlerManager.getInstance().isArchive(targetFolder)) { // this is an optimization to speed up extractions from large zips. Instead of // extracting to a temp location and then copying the temp files to the target location @@ -1444,8 +1496,9 @@ { checkArchiveOperationStatusThread.start(); } - - src = child.getExtractedFile(sourceEncoding, isText, archiveOperationMonitor).getAbsolutePath(); + + //Don't think we need this call. + //src = child.getExtractedFile(sourceEncoding, isText, archiveOperationMonitor).getAbsolutePath(); if (monitor != null && monitor.isCanceled()) { //This operation has been cancelled by the user. @@ -1486,10 +1539,11 @@ handler.extractVirtualDirectory(child.fullName, tempSource, sourceEncoding, isText, archiveOperationMonitor); src = tempSource.getAbsolutePath() + File.separatorChar + child.name; } - if (ArchiveHandlerManager.isVirtual(targetFolder.getAbsolutePath()) || ArchiveHandlerManager.getInstance().isArchive(targetFolder)) + if ((ArchiveHandlerManager.isVirtual(targetFolder.getAbsolutePath()) && !isTempFile) || ArchiveHandlerManager.getInstance().isArchive(targetFolder)) { File source = new File(src); boolean returnValue = copyToArchive(source, targetFolder, newName, monitor, SystemEncodingUtil.ENCODING_UTF_8, targetEncoding, isText); + deleteContents(source, monitor); if (!returnValue) { if (monitor != null && monitor.isCanceled()) @@ -1562,6 +1616,9 @@ public void setLastModified(String parent, String name, long timestamp, IProgressMonitor monitor) throws SystemMessageException { File file = new File(parent, name); + if (ArchiveHandlerManager.isVirtual(file.getAbsolutePath())){ + return; // don't support setting modified date on virtuals + } if (!file.setLastModified(timestamp)) { if (!file.exists()) { // TODO externalize message diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalHostFile.java eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalHostFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalHostFile.java 2008-02-12 23:42:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/files/LocalHostFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * Martin Oberhuber (Wind River) - Fix [168591] LocalHostFile missing equals() * David McKnight (IBM) - [209593] [api] add support for "file permissions" and "owner" properties for unix files + * David McKnight (IBM) - [294521] Local "hidden" files and folders are always shown *******************************************************************************/ package org.eclipse.rse.internal.services.local.files; @@ -73,10 +74,9 @@ } public boolean isHidden() - { + { String name = getName(); - return name.charAt(0) == '.'; - + return name.charAt(0) == '.' || (!_isRoot && _file.isHidden()); } public String getParentPath() Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.local/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.local/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/.cvsignore 2006-08-11 17:31:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -bin -build.xml -javaCompiler...args diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF 2009-08-06 21:36:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.ssh;singleton:=true -Bundle-Version: 3.0.1.qualifier +Bundle-Version: 3.2.0.qualifier Bundle-Activator: org.eclipse.rse.internal.services.ssh.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -13,5 +13,6 @@ Eclipse-LazyStart: true Export-Package: org.eclipse.rse.internal.services.ssh;x-friends:="org.eclipse.rse.connectorservice.ssh,org.eclipse.rse.subsystems.files.ssh,org.eclipse.rse.subsystems.shells.ssh", org.eclipse.rse.internal.services.ssh.files;x-friends:="org.eclipse.rse.connectorservice.ssh,org.eclipse.rse.subsystems.files.ssh,org.eclipse.rse.subsystems.shells.ssh", - org.eclipse.rse.internal.services.ssh.terminal;x-friends:="org.eclipse.rse.subsystems.shells.ssh" + org.eclipse.rse.internal.services.ssh.terminal;x-friends:="org.eclipse.rse.subsystems.shells.ssh", + org.eclipse.rse.internal.services.ssh.files.scp;x-friends:="org.eclipse.rse.subsystems.files.scp" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/about.ini eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/about.ini 2009-05-13 22:14:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/about.properties eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/about.properties 2009-02-01 16:46:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2006, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/build.properties eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/build.properties 2009-05-27 15:07:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,7 +16,7 @@ about.properties,\ plugin.properties,\ readme.txt,\ - dsdp32.png + tm32.png src.includes = readme.txt,\ about.html source.. = src/ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/plugin.properties 2009-05-27 15:07:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,5 +13,5 @@ # NLS_ENCODING=UTF-8 pluginName = RSE SSH Services -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services.ssh + 3.2.0-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/Activator.java 2008-05-29 22:18:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/Activator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Martin Oberhuber (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - initial API and implementation + * Anna Dushistova (Mentor Graphics) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh *******************************************************************************/ package org.eclipse.rse.internal.services.ssh; @@ -116,4 +117,21 @@ //--------------------------------------------------- + public static void log(String msg) { + log(msg, null); + } + + public static void log(String msg, Exception e) { + log(IStatus.INFO, msg, e); + } + + public static void warn(String msg, Exception e) { + log(IStatus.WARNING, msg, e); + } + + public static void log(int sev, String msg, Exception e) { + Platform.getLog(getDefault().getBundle()).log( + new Status(sev, PLUGIN_ID, msg, e)); + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.java 2009-03-19 23:16:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Yu-Fen Kuo (MontaVista) - [170910] Integrate the TM Terminal View with RSE * Anna Dushistova (MontaVista) - [261478] Remove SshShellService, SshHostShell (or deprecate and schedule for removal in 3.2) * Martin Oberhuber (Wind River) - [227135] Cryptic exception when sftp-server is missing + * Anna Dushistova (MontaVista) - [331213] [scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh *******************************************************************************/ package org.eclipse.rse.internal.services.ssh; @@ -19,6 +20,26 @@ public class SshServiceResources extends NLS { private static final String BUNDLE_NAME = "org.eclipse.rse.internal.services.ssh.SshServiceResources"; //$NON-NLS-1$ + public static String ScpFileService_AttributesError; + + public static String ScpFileService_Description; + + public static String ScpFileService_DownloadFileTaskName; + + public static String ScpFileService_LastModifiedNotSupportedError; + + public static String ScpFileService_Name; + + public static String ScpFileService_ReadAckError; + + public static String ScpFileService_UploadFileTaskName; + + public static String ScpFileService_DownloadException; + + public static String ScpFileService_DownloadException1; + + public static String ScpFileService_UploadException; + public static String SftpFileService_Name; public static String SftpFileService_Description; public static String SftpFileService_Error_JschSessionLost; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.properties eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.properties 2009-03-19 23:16:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/SshServiceResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,11 +10,23 @@ # Yu-Fen Kuo (MontaVista) - [170910] Integrate the TM Terminal View with RSE # Anna Dushistova (MontaVista) - [261478] Remove SshShellService, SshHostShell (or deprecate and schedule for removal in 3.2) # Martin Oberhuber (Wind River) - [227135] Cryptic exception when sftp-server is missing +# Anna Dushistova (MontaVista) - [331213] [scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh ################################################################################ # NLS_MESSAGEFORMAT_VAR # NLS_ENCODING=UTF-8 +ScpFileService_AttributesError=Can't get attribute of file +ScpFileService_Description=SSH/SCP File Service can be used to connect to embedded sshd implementations, which often lacks sftp service +ScpFileService_DownloadFileTaskName=Downloading file +ScpFileService_LastModifiedNotSupportedError=setLastModified() not supported +ScpFileService_Name=SCP File Service +ScpFileService_ReadAckError=upload: wrong Ack\! Last error: +ScpFileService_UploadFileTaskName=Uploading file +ScpFileService_DownloadException=Error happened while downloading {0}: {1} +ScpFileService_DownloadException1=Error happened while downloading {0}: Can't download file of type {1} +ScpFileService_UploadException=Error happened while uploading {0}: {1} + SshPlugin_Unexpected_Exception=Unexpected {0}: {1} SftpFileService_Name=Ssh / Sftp File Service diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SftpFileService.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SftpFileService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SftpFileService.java 2009-09-15 21:21:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SftpFileService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -39,8 +39,10 @@ * David McKnight (IBM) - [271244] [sftp files] "My Home" filter not working * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() * Martin Oberhuber (Wind River) - [274568] Dont use SftpMonitor for Streams transfer - * Patrick Tassé (Ericsson) - [285226] Empty directory shown as an error message + * Patrick Tass� (Ericsson) - [285226] Empty directory shown as an error message * Martin Oberhuber (Wind River) - [286129][api] RemoteFileException(String) violates API contract + * Martin Tauber - [256581][performance] Re-use Sftp channels + * Anna Dushistova (MontaVista) - [331213] [scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh *******************************************************************************/ package org.eclipse.rse.internal.services.ssh.files; @@ -56,6 +58,7 @@ import java.io.UnsupportedEncodingException; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Vector; import java.util.regex.Pattern; @@ -69,6 +72,7 @@ import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.ChannelSftp; +import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpATTRS; import com.jcraft.jsch.SftpException; @@ -97,22 +101,160 @@ import org.eclipse.rse.services.files.IHostFile; import org.eclipse.rse.services.files.IHostFilePermissions; import org.eclipse.rse.services.files.IHostFilePermissionsContainer; -import org.eclipse.rse.services.files.RemoteFileException; import org.eclipse.rse.services.files.RemoteFileIOException; import org.eclipse.rse.services.files.RemoteFileSecurityException; public class SftpFileService extends AbstractFileService implements ISshService, IFilePermissionsService { + + private class SSHChannel { + public final static int TYPE_SFTP = 1; + //public final static int TYPE_EXEC = 2; + + private boolean available = true; + protected boolean connected = false; + private boolean pooledChannel = false; + int type; + + ChannelSftp channel = null; + + public SSHChannel(int type, boolean pooledChannel) { + this.pooledChannel = pooledChannel; + this.type = type; + } + + public boolean isConnected() { + return connected; + } + + public boolean isAvailable() { + return available; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public void request() { + this.available=false; + } + + public void release() { + if (pooledChannel) { + this.available = true; + } else { + this.disconnect(); + } + } + + public void connect() throws JSchException { + if (!connected) { + if (this.type == TYPE_SFTP) { + channel = (ChannelSftp)fSessionProvider.getSession().openChannel("sftp"); //$NON-NLS-1$ + } else { + channel = (ChannelSftp)fSessionProvider.getSession().openChannel("exec"); //$NON-NLS-1$ + } + + channel.connect(); + connected = true; + } + } + + public void disconnect() { + channel.disconnect(); + available = true; + connected = false; + } + + public ChannelSftp getChannel() { + return channel; + } + + } + + private SSHChannelPool sshChannelPool = new SSHChannelPool(); + + private class SSHChannelPool { + private Vector pool = new Vector(); + + private SSHChannelPool() { + SSHChannel sshChannel; + + for (int i=0; i<10; i++) { + sshChannel = new SSHChannel(SSHChannel.TYPE_SFTP, true); + this.pool.add(sshChannel); + } + } + + public SSHChannel requestChannel(int type) throws JSchException { + SSHChannel sshChannel; + + // Check if there is a pooled Channel of the requested type available + Iterator iterator = pool.iterator(); + while (iterator.hasNext()) { + sshChannel = (SSHChannel)iterator.next(); + + if (sshChannel.isAvailable() && sshChannel.getType() == type) { + if (!sshChannel.isConnected()) { + sshChannel.connect(); + } + + sshChannel.request(); + return sshChannel; + } + } + + // Check if there is a pooled Channel of any type available + iterator = pool.iterator(); + while (iterator.hasNext()) { + sshChannel = (SSHChannel)iterator.next(); + if (sshChannel.isAvailable()) { + if (sshChannel.isConnected()) { + sshChannel.disconnect(); + } + + sshChannel.setType(type); + sshChannel.connect(); + + sshChannel.request(); + return sshChannel; + } + } + + // No pooled channel is available so return unpooled channel + sshChannel = new SSHChannel(type, false); + sshChannel.connect(); + + return sshChannel; + } + + public void release() { + SSHChannel sshChannel; + + Iterator iterator = pool.iterator(); + while (iterator.hasNext()) { + sshChannel = (SSHChannel)iterator.next(); + + if (sshChannel.isConnected()) { + sshChannel.disconnect(); + } + } + } + } private static class SftpBufferedInputStream extends BufferedInputStream { - private ChannelSftp channel; + private SSHChannel channel; /** * Creates a BufferedInputStream and saves its argument, the input stream, for later use. An internal buffer array is created. * @param in the underlying input stream. * @param channel the associated channel. */ - public SftpBufferedInputStream(InputStream in, ChannelSftp channel) { + public SftpBufferedInputStream(InputStream in, SSHChannel channel) { super(in); this.channel = channel; } @@ -123,7 +265,7 @@ * @param size the buffer size. * @param channel the associated channel. */ - public SftpBufferedInputStream(InputStream in, int size, ChannelSftp channel) { + public SftpBufferedInputStream(InputStream in, int size, SSHChannel channel) { super(in, size); this.channel = channel; } @@ -134,20 +276,20 @@ */ public void close() throws IOException { super.close(); - channel.disconnect(); + channel.release(); } } private static class SftpBufferedOutputStream extends BufferedOutputStream { - private ChannelSftp channel; + private SSHChannel channel; /** * Creates a new buffered output stream to write data to the specified underlying output stream with a default 512-byte buffer size. * @param out the underlying output stream. * @param channel the associated channel. */ - public SftpBufferedOutputStream(OutputStream out, ChannelSftp channel) { + public SftpBufferedOutputStream(OutputStream out, SSHChannel channel) { super(out); this.channel = channel; } @@ -158,7 +300,7 @@ * @param size the buffer size. * @param channel the associated channel. */ - public SftpBufferedOutputStream(OutputStream out, int size, ChannelSftp channel) { + public SftpBufferedOutputStream(OutputStream out, int size, SSHChannel channel) { super(out, size); this.channel = channel; } @@ -169,7 +311,7 @@ */ public void close() throws IOException { super.close(); - channel.disconnect(); + channel.release(); } } @@ -425,6 +567,10 @@ if (fChannelSftp!=null && fChannelSftp.isConnected()) { fChannelSftp.disconnect(); } + + // disconnect all pooled connections + sshChannelPool.release(); + fDirChannelMutex.interruptAll(); fChannelSftp = null; } @@ -462,18 +608,7 @@ * */ protected String concat(String parentDir, String fileName) { - // See also {@link SftpHostFile#getAbsolutePath()} - if (parentDir == null || parentDir.length() == 0) { - // Looking at a Root - return fileName; - } - StringBuffer path = new StringBuffer(parentDir); - if (!parentDir.endsWith("/")) //$NON-NLS-1$ - { - path.append('/'); - } - path.append(fileName); - return path.toString(); + return SshFileUtils.concat(parentDir, fileName); } public IHostFile getFile(String remoteParent, String fileName, IProgressMonitor monitor) throws SystemMessageException @@ -711,7 +846,7 @@ dst = concat(dst, remoteFile); } //TODO what to do with isBinary? - ChannelSftp channel = null; + SSHChannel channel = null; //Fixing bug 158534. TODO remove when bug 162688 is fixed. if (monitor==null) { monitor = new NullProgressMonitor(); @@ -721,14 +856,13 @@ int mode=ChannelSftp.OVERWRITE; dst = recodeSafeForJsch(dst); getChannel("SftpFileService.upload "+remoteFile); //check the session is healthy //$NON-NLS-1$ - channel=(ChannelSftp)fSessionProvider.getSession().openChannel("sftp"); //$NON-NLS-1$ - channel.connect(); - channel.put(localFile.getAbsolutePath(), dst, sftpMonitor, mode); + channel=sshChannelPool.requestChannel(SSHChannel.TYPE_SFTP); + channel.getChannel().put(localFile.getAbsolutePath(), dst, sftpMonitor, mode); Activator.trace("SftpFileService.upload "+remoteFile+ " ok"); //$NON-NLS-1$ //$NON-NLS-2$ if (monitor.isCanceled()) { throw new SystemOperationCancelledException(); } else { - SftpATTRS attr = channel.stat(dst); + SftpATTRS attr = channel.getChannel().stat(dst); ////[237616] Modtime will be set by calling setLastModified() from UniversalFileTransferUtility //attr.setACMODTIME(attr.getATime(), (int)(localFile.lastModified()/1000)); @@ -753,7 +887,7 @@ //return false; } finally { - if (channel!=null) channel.disconnect(); + if (channel!=null) channel.release(); } } @@ -836,7 +970,7 @@ public void download(String remoteParent, String remoteFile, File localFile, boolean isBinary, String hostEncoding, IProgressMonitor monitor) throws SystemMessageException { - ChannelSftp channel = null; + SSHChannel channel = null; String remotePath = concat(remoteParent, remoteFile); try { if (!localFile.exists()) { @@ -851,14 +985,13 @@ int mode=ChannelSftp.OVERWRITE; MyProgressMonitor sftpMonitor = new MyProgressMonitor(monitor); getChannel("SftpFileService.download "+remoteFile); //check the session is healthy //$NON-NLS-1$ - channel=(ChannelSftp)fSessionProvider.getSession().openChannel("sftp"); //$NON-NLS-1$ - channel.connect(); - channel.get(remotePathRecoded, localFile.getAbsolutePath(), sftpMonitor, mode); + channel=sshChannelPool.requestChannel(SSHChannel.TYPE_SFTP); + channel.getChannel().get(remotePathRecoded, localFile.getAbsolutePath(), sftpMonitor, mode); Activator.trace("SftpFileService.download "+remoteFile+ " ok"); //$NON-NLS-1$ //$NON-NLS-2$ if (monitor.isCanceled()) { throw new SystemOperationCancelledException(); } else { - SftpATTRS attr = channel.stat(remotePathRecoded); + SftpATTRS attr = channel.getChannel().stat(remotePathRecoded); localFile.setLastModified(1000L * attr.getMTime()); //TODO should we set the read-only status? //if (0==(attrs.getPermissions() & 00400)) localFile.setReadOnly(); @@ -881,8 +1014,8 @@ //return false; } finally { - if (channel!=null) { - channel.disconnect(); + if (channel != null) { + channel.release(); } } } @@ -1070,7 +1203,20 @@ Channel channel = null; try { channel=fSessionProvider.getSession().openChannel("exec"); //$NON-NLS-1$ - ((ChannelExec)channel).setCommand(command); + try { + // ChannelExec#setCommand(byte[]) was added in JSch-0.1.38 only + ((ChannelExec) channel).setCommand(command.getBytes(fJSchChannelEncoding)); + } catch (NoSuchMethodError nsm) { + // Fallback for JSch-0.1.37 and below: always decodes in + // Platform Default Encoding! + byte[] bytesDesired = command.getBytes(fJSchChannelEncoding); + String stringToSend = new String(bytesDesired); + byte[] bytesSent = stringToSend.getBytes(); + if (!bytesDesired.equals(bytesSent)) { + throw new UnsupportedEncodingException("Cannot encode for JSch as \"" + fJSchChannelEncoding + "\": " + command); //$NON-NLS-1$ //$NON-NLS-2$ + } + ((ChannelExec) channel).setCommand(new String(bytesDesired)); + } //No user input channel.setInputStream(null); @@ -1237,9 +1383,8 @@ try { String remotePathRecoded = recode(remotePath); getChannel("SftpFileService.getInputStream " + remoteFile); //check the session is healthy //$NON-NLS-1$ - ChannelSftp channel = (ChannelSftp)fSessionProvider.getSession().openChannel("sftp"); //$NON-NLS-1$ - channel.connect(); - stream = new SftpBufferedInputStream(channel.get(remotePathRecoded), channel); + SSHChannel channel = sshChannelPool.requestChannel(SSHChannel.TYPE_SFTP); + stream = new SftpBufferedInputStream(channel.getChannel().get(remotePathRecoded), channel); Activator.trace("SftpFileService.getInputStream " + remoteFile + " ok"); //$NON-NLS-1$ //$NON-NLS-2$ } catch (Exception e) { @@ -1284,9 +1429,8 @@ mode = ChannelSftp.APPEND; } getChannel("SftpFileService.getOutputStream " + remoteFile); //check the session is healthy //$NON-NLS-1$ - ChannelSftp channel = (ChannelSftp)fSessionProvider.getSession().openChannel("sftp"); //$NON-NLS-1$ - channel.connect(); - stream = new SftpBufferedOutputStream(channel.put(recodeSafeForJsch(dst), mode), channel); + SSHChannel channel = sshChannelPool.requestChannel(SSHChannel.TYPE_SFTP); + stream = new SftpBufferedOutputStream(channel.getChannel().put(recodeSafeForJsch(dst), mode), channel); Activator.trace("SftpFileService.getOutputStream " + remoteFile + " ok"); //$NON-NLS-1$ //$NON-NLS-2$ } catch (Exception e) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SshFileUtils.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SshFileUtils.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SshFileUtils.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/SshFileUtils.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 Mentor Graphics Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Nikita Shulga - initial API and implementation + * Anna Dushistova (Mentor Graphics) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + * Anna Dushistova (MontaVista) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + *******************************************************************************/ + +package org.eclipse.rse.internal.services.ssh.files; + +import java.io.IOException; +import java.io.InputStream; + +import org.eclipse.core.runtime.IStatus; + +import org.eclipse.rse.internal.services.ssh.Activator; +import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; + +import com.jcraft.jsch.ChannelExec; +import com.jcraft.jsch.Session; + +public class SshFileUtils { + public static final String EOL_STRING = "\n"; //$NON-NLS-1$ + public static final String TARGET_SEPARATOR = "/"; //$NON-NLS-1$ + public static final String EXEC_CHANNEL = "exec"; //$NON-NLS-1$ + public static final String QUOTATION_MARK = "\""; //$NON-NLS-1$ + + public static char EOL_CHAR = EOL_STRING.charAt(0); + public static char TARGET_SEPARATOR_CHAR = TARGET_SEPARATOR.charAt(0); + + /** + * Concatenate a parent directory with a file name to form a new proper path + * name. + * + * This method was moved from + * org.eclipse.rse.services.ssh / SftpFileService#concat() + */ + public static String concat(String parentDir, String fileName) { + // See also {@link SftpHostFile#getAbsolutePath()} + if (parentDir == null || parentDir.length() == 0) { + // Looking at a Root + return fileName; + } + + StringBuffer path = new StringBuffer(parentDir); + if (!parentDir.endsWith(TARGET_SEPARATOR)) + path.append(TARGET_SEPARATOR_CHAR); + + path.append(fileName); + return path.toString(); + } + + public static ChannelExec openExecChannel(Session sess) throws Exception { + return (ChannelExec) sess.openChannel(EXEC_CHANNEL); + } + + public static ChannelExec openExecChannel(Session sess, String cmd) + throws Exception { + ChannelExec ch = openExecChannel(sess); + if (ch != null) + ch.setCommand(cmd); + return ch; + } + + public static String execCommand(Session sess, String command) + throws Exception { + ChannelExec ch = openExecChannel(sess, command); + ch.setInputStream(null); + ch.setErrStream(System.err, true); + InputStream is = ch.getInputStream(); + ch.connect(); + + String str = readStream(ch); + is.close(); + ch.disconnect(); + return str; + } + + public static String execCommandSafe(Session session, String command) + throws SystemMessageException { + String rc = null; + try { + rc = execCommand(session, command); + } catch (Exception e) { + throwSystemException(e); + } + return rc; + } + + public static String escapePath(String path) { + if (path.indexOf(' ') < 0) + return path; + return QUOTATION_MARK + path + QUOTATION_MARK; + } + + /** + * Concatenates parent directory with file name and escape the result if + * necessary + * + * @param parentDir + * parent directory + * @param fileName + * file name + * @return escaped concatenated path to the file + */ + public static String concatEscape(String parentDir, String fileName) { + return escapePath(concat(parentDir, fileName)); + } + + public static String readString(InputStream is) throws IOException { + StringBuffer buf = new StringBuffer(); + int rc = 0; + while (true) { + rc = is.read(); + if (rc == EOL_CHAR) + break; + buf.append((char) rc); + } + return buf.toString(); + } + + public static String readStream(ChannelExec ch) throws IOException { + InputStream is = ch.getInputStream(); + byte[] buf = new byte[1024]; + String rc = ""; //$NON-NLS-1$ + while (!ch.isClosed() || is.available() > 0) { + int cnt = is.read(buf, 0, buf.length); + if (cnt < 0) + break; + rc += new String(buf, 0, cnt); + } + return rc; + } + + public static void throwSystemException(Exception e) + throws SystemMessageException { + Activator.warn("SshFileUtils.throwSystemException", e); //$NON-NLS-1$ + + if (e instanceof SystemMessageException) + throw (SystemMessageException) e; + throw new SystemMessageException(new SimpleSystemMessage( + Activator.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e)); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileAttr.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileAttr.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileAttr.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileAttr.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,272 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 Mentor Graphics Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Nikita Shulga - initial API and implementation + * Nikita Shulga (Mentor Graphics) - [331109] Added long-iso time format support + * Anna Dushistova (Mentor Graphics) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + * Anna Dushistova (MontaVista) - [331213] [scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + *******************************************************************************/ + +package org.eclipse.rse.internal.services.ssh.files.scp; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.Stack; +import java.util.regex.Pattern; + +import org.eclipse.rse.internal.services.ssh.Activator; +import org.eclipse.rse.internal.services.ssh.files.SshFileUtils; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; +import org.eclipse.rse.services.files.HostFilePermissions; +import org.eclipse.rse.services.files.IHostFilePermissions; + +import com.jcraft.jsch.Session; + +public class ScpFileAttr { + private String lsString; + private String attrString = null; + private int linkNo = 0; + private long mTime = 0; + private String user = null; + private String group = null; + private long size = -1; + private String name = null; + private String linkName = null; + + public IHostFilePermissions getFilePermissions() { + return new HostFilePermissions(getAttrs(), getUser(), getGroup()); + } + + public long getMTime() { + if (!initialized) + doSplit(); + return mTime; + } + + public long getSize() { + if (!initialized) + doSplit(); + return size; + } + + public String getUser() { + if (!initialized) + doSplit(); + return user; + } + + public String getGroup() { + if (!initialized) + doSplit(); + return group; + } + + public int getLinkNo() { + if (!initialized) + doSplit(); + return linkNo; + } + + public String getName() { + if (!initialized) + doSplit(); + return name; + } + + public String getLinkName() { + if (!initialized) + doSplit(); + return linkName; + } + + public String getAttrs() { + if (!initialized) + doSplit(); + + if (attrString == null || attrString.length() < 9) + return "---------"; //$NON-NLS-1$ + + return attrString; + } + + private char getFileType() { + String attrs = getAttrs(); + if (attrs == null || attrs.length() == 0) + return 0; + return attrs.charAt(0); + } + + public boolean isBlockDevice() { + return getFileType() == 'b'; + } + + public boolean isCharDevice() { + return getFileType() == 'c'; + } + + public boolean isLink() { + return getFileType() == 'l'; + } + + public boolean isDirectory() { + return getFileType() == 'd'; + } + + ScpFileAttr(String str) { + lsString = str; + if (lsString.endsWith("\n")) //$NON-NLS-1$ + lsString = lsString.substring(0, lsString.length() - 1); + } + + private boolean initialized = false; + + private void doSplit() { + if (initialized) + return; + initialized = true; + try { + SplitAux(); + } catch (Exception e) { + Activator.warn( + "ScpFileAttr:Exception occured while splitting string " //$NON-NLS-1$ + + lsString, e); + } + } + + /* + * ls command uses two short date formats: - for files modified more than 6 + * month ago - for files modified less than 6 month ago + */ + final static DateFormat lessThanSixMonthOldFormat = new SimpleDateFormat( + "MMM dd HH:mm"); //$NON-NLS-1$ + final static DateFormat moreThanSixMonthOldFormat = new SimpleDateFormat( + "MMM dd yyyy"); //$NON-NLS-1$ + + /* + * ls ISO date format + */ + final static DateFormat isoDateFormat = new SimpleDateFormat( + "yyyy-MM-dd HH:mm"); //$NON-NLS-1$ + + + /** + * Parses date time string returned by ls command + * + * @param date + * - file modification date as string + * @return time in seconds since start of epoch until mTime + */ + static long parseDateTime(String date) { + // TODO: Add support for ls -le date format + try { + Date d = lessThanSixMonthOldFormat.parse(date); + Calendar c = Calendar.getInstance(); + c.setTime(d); + c.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR)); + return c.getTimeInMillis() / 1000; + } catch (Exception e) { + } + try { + Date d = moreThanSixMonthOldFormat.parse(date); + return d.getTime() / 1000; + } catch (Exception e) { + } + try { + Date d = isoDateFormat.parse(date); + return d.getTime() / 1000; + } catch (Exception e) { + } + + return 0; + } + + private static Pattern lsPattern = Pattern.compile("\\s+"); //$NON-NLS-1$ + + public void SplitAux() throws Exception { + Stack fields = new Stack(); + String[] lsPatterns = lsPattern.split(lsString); + for (int i=0;i "); //$NON-NLS-1$ + if (namesplit.length != 2) + return; + name = namesplit[0]; + linkName = namesplit[1]; + } + } + + public static ScpFileAttr getAttr(Session sess, String path) + throws SystemMessageException { + String attr = SshFileUtils.execCommandSafe(sess, "ls -land " //$NON-NLS-1$ + + SshFileUtils.escapePath(path)); + if (attr == null || attr.length() < 9) + return null; + return new ScpFileAttr(attr); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileService.java eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileService.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileService.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/files/scp/ScpFileService.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,519 @@ +/******************************************************************************* + * Copyright (c) 2009, 2012 Mentor Graphics Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Nikita Shulga - initial API and implementation + * Anna Dushistova (Mentor Graphics) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + * Anna Dushistova (Mentor Graphics) - [331249][scp] incorrect home while logging in as root + * Simon Bernard (Sierra Wireless) - [349947][scp] with scp IRemoteFile.exist() returns always true + * Anna Dushistova (MontaVista) - [331213] [scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + *******************************************************************************/ +package org.eclipse.rse.internal.services.ssh.files.scp; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.osgi.util.NLS; + +import org.eclipse.rse.internal.services.ssh.Activator; +import org.eclipse.rse.internal.services.ssh.ISshSessionProvider; +import org.eclipse.rse.internal.services.ssh.SshServiceResources; +import org.eclipse.rse.internal.services.ssh.files.SshFileUtils; +import org.eclipse.rse.internal.services.ssh.files.SftpHostFile; +import org.eclipse.rse.services.clientserver.FileTypeMatcher; +import org.eclipse.rse.services.clientserver.IMatcher; +import org.eclipse.rse.services.clientserver.NamePatternMatcher; +import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; +import org.eclipse.rse.services.files.AbstractFileService; +import org.eclipse.rse.services.files.HostFilePermissions; +import org.eclipse.rse.services.files.IFilePermissionsService; +import org.eclipse.rse.services.files.IHostFile; +import org.eclipse.rse.services.files.IHostFilePermissions; +import org.eclipse.rse.services.files.IHostFilePermissionsContainer; + +import com.jcraft.jsch.ChannelExec; +import com.jcraft.jsch.Session; + +public class ScpFileService extends AbstractFileService implements + IFilePermissionsService { + + private final ISshSessionProvider fSessionProvider; + private String fUserHome = null; + + public ISshSessionProvider getSessionProvider() { + return fSessionProvider; + } + + public Session getSession() { + return getSessionProvider().getSession(); + } + + public ScpFileService(ISshSessionProvider provider) { + fSessionProvider = provider; + } + + protected static void throwSystemException(String msg) + throws SystemMessageException { + throw new SystemMessageException(new SimpleSystemMessage( + Activator.PLUGIN_ID, IStatus.ERROR, msg)); + } + + protected IHostFile[] internalFetch(String parentPath, String fileFilter, + int fileType, IProgressMonitor monitor) + throws SystemMessageException { + + if (fileFilter == null) + fileFilter = "*"; //$NON-NLS-1$ + IMatcher filematcher = null; + if (fileFilter.endsWith(",")) { //$NON-NLS-1$ + String[] types = fileFilter.split(","); //$NON-NLS-1$ + filematcher = new FileTypeMatcher(types, true); + } else { + filematcher = new NamePatternMatcher(fileFilter, true, true); + } + + List results = new ArrayList(); + Session sess = getSession(); + String cmd = "ls -lAn " + SshFileUtils.escapePath(parentPath); //$NON-NLS-1$ + + String rc = SshFileUtils.execCommandSafe(sess, cmd); + String[] lsStrings = rc.split(SshFileUtils.EOL_STRING); + for (int i=0;i 0; + } catch (IOException e) { + // Do nothing since we are just polling + } + if (fChannel != null && (!fChannel.isEOF() || hasInput)) { return true; } // shell is not active: check for session lost - exit(); + //AD: comment out exit call until we find better solution, + //see https://bugs.eclipse.org/bugs/show_bug.cgi?id=274153 + //exit(); Session session = fSessionProvider.getSession(); if (session != null && !session.isConnected()) { fSessionProvider.handleSessionLost(); Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.ssh/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.ssh/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/.cvsignore 2007-05-11 09:28:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/META-INF/MANIFEST.MF 2009-04-22 20:56:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.services.telnet -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.300.qualifier Bundle-Activator: org.eclipse.rse.internal.services.telnet.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.1.0,4.0.0)", - org.apache.commons.net;bundle-version="[2.0.0,3.0.0)" + org.apache.commons.net;bundle-version="[2.0.0,4.0.0)" Export-Package: org.eclipse.rse.internal.services.telnet;x-friends:="org.eclipse.rse.connectorservice.telnet,org.eclipse.rse.subsystems.shells.telnet", org.eclipse.rse.internal.services.telnet.terminal;x-friends:="org.eclipse.rse.subsystems.shells.telnet" Bundle-ActivationPolicy: lazy diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/about.ini eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/about.ini 2009-05-13 22:16:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/about.properties eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/about.properties 2009-02-01 17:00:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,8 +25,8 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Celunite, Inc. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm\n\ +(c) Copyright Celunite, Inc. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm\n\ \n\ This product includes software developed by the\n\ Apache Software Foundation http://www.apache.org/ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/build.properties eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/build.properties 2009-05-27 15:07:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png + tm32.png source.. = src/ output.. = bin/ src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/plugin.properties 2009-05-27 15:07:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Telnet Service -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.services.telnet + 2.0.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/terminal/TelnetTerminalShell.java eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/terminal/TelnetTerminalShell.java --- eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/terminal/TelnetTerminalShell.java 2009-04-22 20:56:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/terminal/TelnetTerminalShell.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -26,12 +26,11 @@ import org.apache.commons.net.io.ToNetASCIIInputStream; import org.apache.commons.net.telnet.EchoOptionHandler; -import org.apache.commons.net.telnet.InvalidTelnetOptionException; -import org.apache.commons.net.telnet.WindowSizeOptionHandler; import org.apache.commons.net.telnet.SuppressGAOptionHandler; import org.apache.commons.net.telnet.TelnetClient; import org.apache.commons.net.telnet.TelnetOption; import org.apache.commons.net.telnet.TerminalTypeOptionHandler; +import org.apache.commons.net.telnet.WindowSizeOptionHandler; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.rse.internal.services.telnet.ITelnetSessionProvider; import org.eclipse.rse.services.clientserver.PathUtility; @@ -281,7 +280,7 @@ fTelnetClient.deleteOptionHandler(TelnetOption.WINDOW_SIZE); fTelnetClient.addOptionHandler(new WindowSizeOptionHandler( newWidth, newHeight, true, true, true, true)); - } catch (InvalidTelnetOptionException e) { + } catch (/*InvalidTelnetOptionException*/ Exception e) { e.printStackTrace(); } } Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.services.telnet/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.services.telnet/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/.cvsignore 2006-04-10 20:49:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/META-INF/MANIFEST.MF 2008-11-11 13:58:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.shells.ui;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 3.0.401.qualifier Bundle-Activator: org.eclipse.rse.internal.shells.ui.ShellsUIPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, @@ -25,6 +25,7 @@ Eclipse-LazyStart: true Export-Package: org.eclipse.rse.internal.shells.ui;x-internal:=true, org.eclipse.rse.internal.shells.ui.actions;x-internal:=true, + org.eclipse.rse.internal.shells.ui.handlers;x-internal:=true, org.eclipse.rse.internal.shells.ui.propertypages;x-internal:=true, org.eclipse.rse.internal.shells.ui.view;x-internal:=true, org.eclipse.rse.shells.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/plugin.properties 2009-05-27 15:07:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Shells UI -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project View.RemoteCommands = Remote Shell diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.shells.ui + 3.0.401-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewPage.java eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewPage.java --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewPage.java 2008-04-03 16:03:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -22,6 +22,7 @@ * David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible * Radoslav Gerganov (ProSyst) - [181563] Fix hardcoded Ctrl+Space for remote shell content assist * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + * David McKnight (IBM) - [396766] [shells] Eclipse up key events no longer contain "enter" so shell commands aren't sent ********************************************************************************/ package org.eclipse.rse.internal.shells.ui.view; @@ -322,6 +323,7 @@ idata.heightHint = 22; _inputEntry.getTextWidget().setLayoutData(idata); _inputEntry.getTextWidget().addListener(SWT.KeyUp, _keyListener); + _inputEntry.getTextWidget().addListener(SWT.KeyDown, _keyListener); enableEntry(false); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewWorkbook.java eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewWorkbook.java --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewWorkbook.java 2007-06-29 14:15:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/CommandsViewWorkbook.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * * Contributors: * David McKnight (IBM) - [165680] "Show in Remote Shell View" does not work + * David McKnight (IBM) - [338031] Remote Shell view tabs should have close (x) icon *******************************************************************************/ package org.eclipse.rse.internal.shells.ui.view; @@ -20,12 +21,15 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.rse.shells.ui.view.SystemCommandsView; import org.eclipse.rse.shells.ui.view.TabFolderLayout; +import org.eclipse.rse.subsystems.shells.core.subsystems.IRemoteCmdSubSystem; import org.eclipse.rse.subsystems.shells.core.subsystems.IRemoteCommandShell; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.rse.ui.view.SystemTableView; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; @@ -213,7 +217,7 @@ { CommandsViewPage commandsViewPage = new CommandsViewPage(_viewPart); - CTabItem titem = new CTabItem(_folder, SWT.NULL); + CTabItem titem = new CTabItem(_folder, SWT.CLOSE); setTabTitle(root, titem); titem.setData(commandsViewPage); @@ -228,6 +232,31 @@ //commandsViewPage.getViewer().addSelectionChangedListener((SystemCommandsViewPart)_viewPart); commandsViewPage.setFocus(); + + titem.addDisposeListener(new DisposeListener() { + + public void widgetDisposed(DisposeEvent e) { + Object source = e.getSource(); + if (source instanceof CTabItem) { + CTabItem currentItem = (CTabItem) source; + Object data = currentItem.getData(); + if (data instanceof CommandsViewPage) { + IRemoteCommandShell command = (IRemoteCommandShell)((CommandsViewPage)data).getInput(); + try { + IRemoteCmdSubSystem cmdSubSystem = command.getCommandSubSystem(); + if (cmdSubSystem != null && cmdSubSystem.isConnected()){ + cmdSubSystem.removeShell(command); + } + } + catch (Exception ex){ + } + } + } + + } + + }); + } private void setTabTitle(IAdaptable root, CTabItem titem) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/SystemCommandsViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/SystemCommandsViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/SystemCommandsViewPart.java 2008-03-04 16:14:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/internal/shells/ui/view/SystemCommandsViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,6 +19,8 @@ * David McKnight (IBM) - [165680] "Show in Remote Shell View" does not work * Kevin Doyle (IBM) - [198534] Shell Menu Enablement Issue's * Radoslav Gerganov (ProSyst) - [181563] Fix hardcoded Ctrl+Space for remote shell content assist + * David McKnight (IBM) - [294398] [shells] SystemCommandsViewPart always assumes systemResourceChanged() called on Display thread + * David McKnight (IBM) - [351750] [shells] need to check for disposed widget when handling events ********************************************************************************/ package org.eclipse.rse.internal.shells.ui.view; @@ -749,6 +751,7 @@ } + public void systemResourceChanged(ISystemResourceChangeEvent event) { if (event.getType() == ISystemResourceChangeEvents.EVENT_COMMAND_SHELL_FINISHED) @@ -762,9 +765,23 @@ else if (source instanceof IRemoteCommandShell) { // find out if we're listening to this - - updateOutput((IRemoteCommandShell) source, false); - updateActionStates(); + if (Display.getCurrent() != null){ + updateOutput((IRemoteCommandShell) source, false); + updateActionStates(); + } + else { + final IRemoteCommandShell fsource = (IRemoteCommandShell)source; + Display.getDefault().asyncExec(new Runnable() { + public void run() { + if (!_folder.isDisposed()){//make sure view isn't disposed + updateOutput(fsource, false); + updateActionStates(); + } + } + }); + } + + } } @@ -773,9 +790,23 @@ Object source = event.getSource(); if (source instanceof IRemoteCommandShell) { - updateOutput((IRemoteCommandShell) source, false); - _folder.remove(source); - updateActionStates(); + if (Display.getCurrent() != null){ + updateOutput((IRemoteCommandShell) source, false); + _folder.remove(source); + updateActionStates(); + } + else { + final IRemoteCommandShell fsource = (IRemoteCommandShell)source; + Display.getDefault().asyncExec(new Runnable() { + public void run() { + if (!_folder.isDisposed()){//make sure view isn't disposed + updateOutput(fsource, false); + _folder.remove(fsource); + updateActionStates(); + } + } + }); + } } } else if (event.getType() == ISystemResourceChangeEvents.EVENT_REFRESH) @@ -783,7 +814,19 @@ Object parent = event.getParent(); if (parent instanceof IRemoteCommandShell) { - updateOutput((IRemoteCommandShell) parent, false); + if (Display.getCurrent() != null){ + updateOutput((IRemoteCommandShell) parent, false); + } + else { + final IRemoteCommandShell fsource = (IRemoteCommandShell)parent; + Display.getDefault().asyncExec(new Runnable() { + public void run() { + if (!_folder.isDisposed()){//make sure view isn't disposed + updateOutput(fsource, false); + } + } + }); + } } } else if (event.getType() == ISystemResourceChangeEvents.EVENT_PROPERTY_CHANGE) @@ -824,6 +867,7 @@ } } + public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemCommandEditor.java eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemCommandEditor.java --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemCommandEditor.java 2008-05-14 15:22:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemCommandEditor.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -18,6 +18,7 @@ * David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings * Radoslav Gerganov (ProSyst) - [221392] [shells] Undo command doesn't work with Eclipse 3.4M5 * Radoslav Gerganov (ProSyst) - [231835] TVT34:TCT189: "work with compile commands" does not display + * Xuan Chen (IBM) - [312265] TVT36:TCT197: "Undo" option missing from context "Edit command" context menu ********************************************************************************/ package org.eclipse.rse.shells.ui.view; @@ -50,6 +51,7 @@ import org.eclipse.rse.internal.ui.SystemResources; import org.eclipse.rse.internal.ui.view.SystemViewMenuListener; import org.eclipse.rse.services.clientserver.messages.SystemMessage; +import org.eclipse.rse.ui.SystemBasePlugin; import org.eclipse.rse.ui.validators.ISystemValidator; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.layout.GridData; @@ -58,6 +60,7 @@ import org.eclipse.swt.widgets.Menu; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchPartSite; import org.eclipse.ui.operations.UndoActionHandler; import org.eclipse.ui.texteditor.ITextEditorActionConstants; import org.eclipse.ui.texteditor.IUpdate; @@ -240,10 +243,22 @@ private void initializeActions() { IUndoManager undoManager = getUndoManager(); - if (undoManager instanceof IUndoManagerExtension && _site != null) { - IUndoManagerExtension undoManagerExt = (IUndoManagerExtension) undoManager; - _undoAction = new UndoActionHandler(_site, undoManagerExt.getUndoContext()); - fGlobalActions.put(ITextEditorActionConstants.UNDO, _undoAction); + if (undoManager instanceof IUndoManagerExtension) { + if (_site == null) + { + //No _site provided, try to use the site from active workbench part. + IWorkbenchPartSite activeWorkbenchPartSite = SystemBasePlugin.getActiveWorkbenchWindow().getActivePage().getActivePart().getSite(); + if (activeWorkbenchPartSite instanceof IViewSite) + { + _site = (IViewSite) activeWorkbenchPartSite; + } + } + if (_site != null) + { + IUndoManagerExtension undoManagerExt = (IUndoManagerExtension) undoManager; + _undoAction = new UndoActionHandler(_site, undoManagerExt.getUndoContext()); + fGlobalActions.put(ITextEditorActionConstants.UNDO, _undoAction); + } } _cutAction = new TextViewerAction(this, CUT); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java 2009-03-19 23:16:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.shells.ui/src/org/eclipse/rse/shells/ui/view/SystemViewRemoteOutputAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -30,6 +30,7 @@ * David McKnight (IBM) - [233475] Cannot drag and drop file/folder within the shell output * Kevin Doyle (IBM) - [247297] Double Clicking on a Shell doesn't open that Shell * Martin Oberhuber (Wind River) - [227135] Cryptic exception when sftp-server is missing + * David McKnight (IBM) - [336640] SystemViewRemoteOutputAdapter should not use hard-coded editor id *******************************************************************************/ package org.eclipse.rse.shells.ui.view; @@ -85,6 +86,7 @@ import org.eclipse.ui.IEditorRegistry; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.editors.text.EditorsUI; import org.eclipse.ui.views.properties.IPropertyDescriptor; @@ -436,7 +438,7 @@ protected IEditorDescriptor getDefaultTextEditor() { IEditorRegistry registry = getEditorRegistry(); - return registry.findEditor("org.eclipse.ui.DefaultTextEditor"); //$NON-NLS-1$ + return registry.findEditor(EditorsUI.DEFAULT_TEXT_EDITOR_ID); } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/feature.properties 2009-05-13 22:17:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ featureName=RSE SSH Services # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An SSH-based \ @@ -27,7 +27,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2006, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -41,8 +41,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -50,42 +50,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -94,47 +90,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/feature.xml 2009-08-06 21:37:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/license.html 2007-06-04 16:09:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.ssh + 3.0.400-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:17:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=RSE SSH Services Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An SSH-based \ @@ -29,7 +29,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2006, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -43,8 +43,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -52,42 +52,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -96,47 +92,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:17:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.properties 2009-02-01 16:46:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2006, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/build.properties 2009-05-14 08:15:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 08:15:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE SSH Services Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.ssh-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/.cvsignore 2006-04-10 20:50:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/.settings/.api_filters eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/.settings/.api_filters --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/.settings/.api_filters 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/.settings/.api_filters 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/META-INF/MANIFEST.MF 2009-09-15 20:29:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.files.core;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.3.1.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.files.core.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/plugin.properties 2009-05-25 22:36:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,6 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Files Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project extPoint.remoteFileTypes = Remote File Types diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/plugin.xml 2009-06-04 15:58:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ @@ -55,10 +57,22 @@ - - - + + + + + + + + + + + + + + +
    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.files.core + 3.3.1-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/schema/remoteFileTypes.exsd eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/schema/remoteFileTypes.exsd --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/schema/remoteFileTypes.exsd 2007-12-06 12:48:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/schema/remoteFileTypes.exsd 2013-02-12 20:26:45.000000000 +0000 @@ -1,18 +1,18 @@ - + - + - + - This extension point is used to register information about whether particular file types should be considered to contain text or binary data. -This information is important as it will determine how files will be transferred. The exact meaning of how the transfer of text files differs from binary + This extension point is used to register information about whether particular file types should be considered to contain text, binary or xml data. +This information is important as it will determine how files will be transferred. The exact meaning of how the transfer of text files differs from binary and xml files depends on the actual file service implementation. In general, though, services will strive to change the encoding of remote text files during transfer -such that it matches the local platform default encoding. +such that it matches the local platform default encoding. File types that are specified as xml will normally transfer as binary but will have it's encoding determined via inspection of the text. <p> Specific encoding conversions also depend on provided extensions to the -<a href="org_eclipse_rse_services_codePageConverters.html">org.eclipse.rse.services.codePageConverters</a> +<a href="org_eclipse_rse_services_codePageConverters.html">org.eclipse.rse.services.codePageConverters</a> extension point. For example, transferring files from a remote dstore Linux host to a local Windows client, the file service may convert text files from UTF-8 encoding to Windows cp1252 encoding, and convert remote LF only line endings to local CRLF line endings. @@ -27,6 +27,11 @@ + + + + + @@ -50,22 +55,22 @@ - + - + - the file extension being identified by this contribution. + the file extension being identified by this contribution. - one of either "text" or "binary", identifying the contents of files matching the value of extension. + one of either "text" or "binary", identifying the contents of files matching the value of extension. @@ -74,6 +79,8 @@ + + @@ -90,57 +97,51 @@ - - - + + + - <extension point="org.eclipse.rse.subsystems.files.core.remoteFileTypes"> - <remoteFileTypes extension="txt" type="text"/> - <remoteFileTypes extension="gif" type="binary"/> - <remoteFileTypes extension="exe" type="binary" priority="100"/> -</extension> + 3.0 - + - + There is no code to implement for this extension point. - - - + + + - 3.0 + <extension point="org.eclipse.rse.subsystems.files.core.remoteFileTypes"> + <remoteFileTypes extension="txt" type="text"/> + <remoteFileTypes extension="gif" type="binary"/> + <remoteFileTypes extension="xmi" type="xml"/> + <remoteFileTypes extension="exe" type="binary" priority="100"/> +</extension> - - - - - - - - - + - + - Copyright (c) 2006, 2007 IBM Corporation. All Rights Reserved. + Copyright (c) 2006, 2010 IBM Corporation. All Rights Reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html Contributors: IBM Corporation - initial API and implementation +David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/Activator.java 2008-05-05 14:22:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/Activator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,11 +16,19 @@ * Martin Oberhuber (wind River) - [203105] Decouple recursive plugin activation of UI adapters * David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible * Martin Oberhuber (Wind River) - [218304] Improve deferred adapter loading + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.core; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Plugin; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.rse.services.clientserver.SystemEncodingUtil; +import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; import org.osgi.framework.BundleContext; /** @@ -40,11 +48,39 @@ plugin = this; } + class RSEDefaultEncodingProvider extends SystemEncodingUtil.DefaultEncodingProvider{ + public String getLocalDefaultEncoding() { + return ResourcesPlugin.getEncoding(); + } + + public boolean isXML(String path){ + boolean result = super.isXML(path); + if (!result){ + // now check the extension point mappings + RemoteFileUtility.getSystemFileTransferModeRegistry().isXML(path); + } + + return result; + } + } + /** * This method is called upon plug-in activation */ public void start(BundleContext context) throws Exception { super.start(context); + + Job setupEncodingProvider = new Job(SystemFileResources.RESID_JOB_SETUP_ENCODING_PROVIDER){ //$NON-NLS-1$ + + public IStatus run(IProgressMonitor monitor){ + // set the default encoding provider + SystemEncodingUtil encodingUtil = SystemEncodingUtil.getInstance(); + encodingUtil.setDefaultEncodingProvider(new RSEDefaultEncodingProvider()); + return Status.OK_STATUS; + } + }; + setupEncodingProvider.setSystem(true); + setupEncodingProvider.schedule(); } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.java 2008-03-19 15:45:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible * David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared * David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.core; @@ -155,6 +156,8 @@ public static String MSG_FILE_CANNOT_BE_SAVED; public static String MSG_FILE_CANNOT_BE_SAVED_DETAILS; + public static String RESID_JOB_SETUP_ENCODING_PROVIDER; + static { // load message values from bundle file NLS.initializeMessages(BUNDLE_NAME, SystemFileResources.class); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.properties 2008-03-19 15:45:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/SystemFileResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2008 IBM Corporation and others. +# Copyright (c) 2000, 2010 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ # David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible # David McKnight (IBM) - [220547] [api][breaking] SimpleSystemMessage needs to specify a message id and some messages should be shared # David McKnight (IBM) - [223204] [cleanup] fix broken nls strings in files.ui and others +# David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type ############################################################################### # NLS_MESSAGEFORMAT_VAR @@ -180,4 +181,5 @@ MSG_FILE_CANNOT_BE_SAVED= File {0} can not be saved on {1}. You do not have write access to the file. MSG_FILE_CANNOT_BE_SAVED_DETAILS= Change file permissions to ensure you have write access to the file. +RESID_JOB_SETUP_ENCODING_PROVIDER=Setting up encoding provider diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeMapping.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeMapping.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeMapping.java 2008-03-28 14:27:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeMapping.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * David McKnight (IBM) - [208951] new priority field * Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal * Martin Oberhuber (Wind River) - [219975] Fix implementations of clone() + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.core.model; @@ -33,7 +34,9 @@ public static final int DEFAULT_PRIORITY = Integer.MAX_VALUE; private String name; private String extension; - private boolean isBinary = true; + private int fileType = ISystemFileTransferModeMapping.FILE_TYPE_BINARY; + + private int priority = DEFAULT_PRIORITY; /** @@ -96,7 +99,15 @@ * @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#isBinary() */ public boolean isBinary() { - return isBinary; + return fileType == ISystemFileTransferModeMapping.FILE_TYPE_BINARY; + } + + /* + * (non-Javadoc) + * @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#isXML() + */ + public boolean isXML(){ + return fileType == ISystemFileTransferModeMapping.FILE_TYPE_XML; } /* @@ -104,23 +115,32 @@ * @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#isText() */ public boolean isText() { - return !isBinary(); + return fileType == ISystemFileTransferModeMapping.FILE_TYPE_TEXT; } /** * Set whether transfer mode is binary */ public void setAsBinary() { - isBinary = true; + fileType = ISystemFileTransferModeMapping.FILE_TYPE_BINARY; + } + + /** + * Set whether transfer mode is XML + */ + public void setAsXML() { + fileType = ISystemFileTransferModeMapping.FILE_TYPE_XML; } /** * Set whether transfer mode is text */ public void setAsText() { - isBinary = false; + fileType = ISystemFileTransferModeMapping.FILE_TYPE_TEXT; } + + /** * Set the name */ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeRegistry.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeRegistry.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeRegistry.java 2008-03-28 14:27:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/internal/subsystems/files/core/model/SystemFileTransferModeRegistry.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin * David McKnight (IBM) - [208951] Use remoteFileTypes extension point to determine file types * Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.core.model; @@ -73,6 +74,7 @@ private static final String MODE_ATTRIBUTE = "mode"; //$NON-NLS-1$ private static final String BINARY_VALUE = "binary"; //$NON-NLS-1$ private static final String TEXT_VALUE = "text"; //$NON-NLS-1$ + private static final String XML_VALUE = "xml"; //$NON-NLS-1$s private static final String PRIORITY_ATTRIBUTE = "priority"; //$NON-NLS-1$ /** @@ -145,6 +147,11 @@ if (type.equalsIgnoreCase("binary")) { //$NON-NLS-1$ mapping.setAsBinary(); } + + // add extension to list of xml types + if (type.equalsIgnoreCase("xml")) { //$NON-NLS-1$ + mapping.setAsXML(); + } int priority = SystemFileTransferModeMapping.DEFAULT_PRIORITY; String priorityStr = element.getAttribute("priority"); //$NON-NLS-1$ @@ -302,8 +309,38 @@ return isText(remoteFile.getName()); } + /** + * @see ISystemFileTransferModeRegistry#isText(String) + */ + public boolean isXML(String fileName) { + return getMapping(fileName).isXML(); + } + + + /** + * @see ISystemFileTransferModeRegistry#isText(File) + */ + public boolean isXML(File file) { + return isXML(file.getName()); + } + + + /** + * @see ISystemFileTransferModeRegistry#isText(IFile) + */ + public boolean isXML(IFile file) { + return isXML(file.getName()); + } + /** + * @see ISystemFileTransferModeRegistry#isText(IRemoteFile) + */ + public boolean isXML(IRemoteFile remoteFile) { + return isXML(remoteFile.getName()); + } + + /** * Get the mode mapping given a file name */ private SystemFileTransferModeMapping getMapping(String fileName) { @@ -357,11 +394,16 @@ { fileMapping.setAsText(); } - else + else if (mapping.isXML()) + { + fileMapping.setAsXML(); + } + else { fileMapping.setAsBinary(); } + return fileMapping; } @@ -458,6 +500,9 @@ if (mode.equals(TEXT_VALUE)) { mapping.setAsText(); } + else if (mode.equals(XML_VALUE)){ + mapping.setAsXML(); + } else { mapping.setAsBinary(); } @@ -523,7 +568,17 @@ IMemento infoMemento = memento.createChild(INFO_NODE); infoMemento.putString(NAME_ATTRIBUTE, mapping.getName()); infoMemento.putString(EXTENSION_ATTRIBUTE, mapping.getExtension()); - infoMemento.putString(MODE_ATTRIBUTE, mapping.isBinary() ? BINARY_VALUE : TEXT_VALUE); + + if (mapping.isText()){ + infoMemento.putString(MODE_ATTRIBUTE, TEXT_VALUE); + } + else if (mapping.isXML()){ + infoMemento.putString(MODE_ATTRIBUTE, XML_VALUE); + } + else { + infoMemento.putString(MODE_ATTRIBUTE, BINARY_VALUE); + } + infoMemento.putInteger(PRIORITY_ATTRIBUTE, mapping.getPriority()); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/SystemIFileProperties.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/SystemIFileProperties.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/SystemIFileProperties.java 2007-05-25 13:07:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/SystemIFileProperties.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [189130] Move SystemIFileProperties from UI to Core + * David McKnight (IBM) - [351435] org.eclipse.rse.subsystems.files.core.SystemIFileProperties.getBIDILogical() should default to true ********************************************************************************/ package org.eclipse.rse.subsystems.files.core; @@ -352,7 +353,16 @@ * visual format. */ public boolean getBIDILogical() { - return getPropertyBoolean(_nameRemoteBIDILogical); + try{ // not using getPropertyBoolean() because true should be the default + String strValue = _resource.getPersistentProperty(_nameRemoteBIDILogical); + if( strValue == null ) + return true; + + return strValue.equals( "true" ); //$NON-NLS-1$ + } + catch( CoreException ex ){ + return true; + } } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeMapping.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeMapping.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeMapping.java 2008-04-07 12:50:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeMapping.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,15 +13,33 @@ * * Contributors: * David McKnight (IBM) - [208951] new priority field + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type + * David McKnight (IBM) - [304170] [api] ISystemFileTypes and ISystemFileTransferModeMapping should be marked @noimplement *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.model; +/** + * Interface using for determining the mapping for a particular file type. + * + * @noimplement This interface is not intended to be implemented by clients. + */ public interface ISystemFileTransferModeMapping { - - /** + * @since 3.2 + */ + public static final int FILE_TYPE_BINARY = 0; + /** + * @since 3.2 + */ + public static final int FILE_TYPE_TEXT = 1; + /** + * @since 3.2 + */ + public static final int FILE_TYPE_XML = 2; + + /** * Get the extension * * @return the extension for the mapping @@ -60,6 +78,13 @@ */ public boolean isText(); + /** + * Returns if the mapping is XML + * + * @return true if XML + * @since 3.2 + */ + public boolean isXML(); /** * Gets the priority - the smaller the number, the higher priority diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeRegistry.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeRegistry.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeRegistry.java 2007-11-14 18:33:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/model/ISystemFileTransferModeRegistry.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Contributors: * {Name} (company) - description of contribution. * David McKnight (IBM) - [208951] Don't use hard-coded file type defaults + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.model; @@ -24,7 +25,11 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; - +/** + * Registry for associating file types with transfer modes. + * + * @noimplement This interface is not intended to be implemented by clients. + */ public interface ISystemFileTransferModeRegistry extends ISystemFileTypes { @@ -40,4 +45,14 @@ // Query whether a file should be treated as text public boolean isText(IFile file); public boolean isText(IRemoteFile remoteFile); + + // Query whether a file should be treated as xml + /** + * @since 3.2 + */ + public boolean isXML(IFile file); + /** + * @since 3.2 + */ + public boolean isXML(IRemoteFile remoteFile); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java 2009-09-15 20:47:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/FileServiceSubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,6 +45,8 @@ * Martin Oberhuber (Wind River) - [234026] Clarify IFileService#createFolder() Javadocs * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() * David McKnight (IBM) - [244041] [files] Renaming a file looses Encoding property + * David McKnight (IBM) - [320713] [dstore] xml file transfer error on zOS + * David McKnight (IBM) - [368454] provide thread safety for cachedRemoteFiles hashmap *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.servicesubsystem; @@ -86,6 +88,7 @@ import org.eclipse.rse.services.search.IHostSearchResultSet; import org.eclipse.rse.services.search.ISearchService; import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory; +import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeRegistry; import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; @@ -620,7 +623,8 @@ protected boolean isBinary(String localEncoding, String hostEncoding, String remotePath) { - return RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(remotePath); + ISystemFileTransferModeRegistry reg = RemoteFileUtility.getSystemFileTransferModeRegistry(); + return reg.isBinary(remotePath) || reg.isXML(remotePath); } protected boolean isBinary(IRemoteFile source) @@ -1150,8 +1154,9 @@ if (newConfig instanceof IFileServiceSubSystemConfiguration) { IHost host = getHost(); IFileServiceSubSystemConfiguration config = (IFileServiceSubSystemConfiguration) newConfig; - // file subsystem specific bits - _cachedRemoteFiles.clear(); + + clearRemoteFileCache(); + _languageUtilityFactory = null; setFileService(config.getFileService(host)); setHostFileToRemoteFileAdapter(config.getHostFileAdapter()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/SearchJob.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/SearchJob.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/SearchJob.java 2007-05-10 14:10:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/servicesubsystem/SearchJob.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API + * David McKnight (IBM) - [293914] [dstore] NPE is thrown during the remote search ********************************************************************************/ package org.eclipse.rse.subsystems.files.core.servicesubsystem; @@ -20,6 +21,10 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.events.ISystemResourceChangeEvents; +import org.eclipse.rse.core.events.SystemResourceChangeEvent; +import org.eclipse.rse.core.model.ISystemRegistry; import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources; import org.eclipse.rse.services.files.IFileService; import org.eclipse.rse.services.search.IHostSearchResultConfiguration; @@ -44,9 +49,18 @@ protected IStatus run(IProgressMonitor monitor) { _searchService.search(_searchConfig, _fileService, monitor); - - OutputRefresh refresh = new OutputRefresh(_searchConfig); - Display.getDefault().asyncExec(refresh); + if (!monitor.isCanceled()){ + OutputRefresh refresh = new OutputRefresh(_searchConfig); + Display.getDefault().asyncExec(refresh); + } + else { + Display.getDefault().asyncExec(new Runnable(){ + public void run(){ + ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + registry.fireEvent(new SystemResourceChangeEvent(_searchConfig, ISystemResourceChangeEvents.EVENT_SEARCH_FINISHED, null)); + } + }); + } monitor.done(); return Status.OK_STATUS; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFile.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFile.java 2009-09-14 19:58:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,6 +22,9 @@ * David McKnight (IBM) - [231209] [api][breaking] IRemoteFile.getSystemConnection() should be changed to IRemoteFile.getHost() * David McKnight (IBM) - [277911] cached results of remote file query need to be sorted * David McKnight (IBM) - [289387] Remote Search does not return line nodes in result tree + * David McKnight (IBM) - [283033] remoteFileTypes extension point should include "xml" type + * David McKnight (IBM) - [328098] infinite loop when opening file from an UNC path + * Rob Stryker (Red Hat) - [393384] isArchive returning true on remote folders ending in .jar *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.subsystems; @@ -53,6 +56,7 @@ import org.eclipse.rse.services.files.IHostFile; import org.eclipse.rse.services.files.IHostFilePermissions; import org.eclipse.rse.services.files.IHostFilePermissionsContainer; +import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeRegistry; import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString; import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; import org.eclipse.rse.ui.SystemBasePlugin; @@ -333,7 +337,7 @@ public boolean isArchive() { File file = new File(getAbsolutePath()); - return ArchiveHandlerManager.getInstance().isArchive(file); + return isFile() && ArchiveHandlerManager.getInstance().isArchive(file); } /** @@ -384,8 +388,11 @@ { if (isDirectory()) return false; - else - return RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(this); + + else { + ISystemFileTransferModeRegistry reg = RemoteFileUtility.getSystemFileTransferModeRegistry(); + return reg.isBinary(this) || reg.isXML(this); // xml files also transfer as binary + } } /** @@ -1146,11 +1153,9 @@ private String getParentPathFor(String path) { - boolean isUnix = getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().isUnixStyle(); - String separator = getSeparator(); - if (isUnix && path.equals(separator)) + if (path.equals(separator)) { return null; // no parent of root } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java 2009-04-28 14:48:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.core/src/org/eclipse/rse/subsystems/files/core/subsystems/RemoteFileSubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -29,6 +29,9 @@ * Martin Oberhuber (Wind River) - [226574][api] Add ISubSystemConfiguration#supportsEncoding() * David McKnight (IBM) - [225747] [dstore] Trying to connect to an "Offline" system throws an NPE * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() + * David McKnight (IBM) - [368454] provide thread safety for cachedRemoteFiles hashmap + * David McKnight (IBM) - [362440] File opened using remote system connection (SSH - Sftp) at some point save action was not saving it to the file system. + * David Mcknight (IBM) - [374681] Incorrect number of children on the properties page of a directory *******************************************************************************/ package org.eclipse.rse.subsystems.files.core.subsystems; @@ -122,7 +125,22 @@ protected ArrayList _searchHistory; - // all created IRemoteFiles mapped in cache to quick retrieval + /** + * The _cachedRemoteFiles map is used to store queried IRemoteFiles + * for quick retrieval. This is a HashMap so any access to it needs + * to be synchronized; otherwise thread-safety could be compromised. + * + * The _cachedRemoteFiles HashMap should be synchronized on like this: + * + * synchronized (_cachedRemoteFiles){ + * // call to _cachedRemoteFiles + * ... + * } + * + * @deprecated going forward, this field will be non-API. A new + * protected clearRemoteFileCache() method allows cache + * clearing. + */ protected HashMap _cachedRemoteFiles = new HashMap(); /** @@ -133,6 +151,9 @@ { super(host, connectorService); _searchHistory = new ArrayList(); + + // load UI plugin for adapters so that temp file listener is ready for any edits before connect + Platform.getAdapterManager().loadAdapter(new RemoteFileEmpty(), "org.eclipse.rse.ui.view.ISystemViewElementAdapter"); //$NON-NLS-1$ } /** * @return true if this subsystem's properties should take precedence @@ -1076,8 +1097,10 @@ // if not, the key must be for a file if (key.lastIndexOf(IHostSearchResult.SEARCH_RESULT_DELIMITER) < 0) { - IRemoteFile remoteFile = getRemoteFileObject(key, monitor); - + IRemoteFile remoteFile = getCachedRemoteFile(key); // first check for cached file + if (remoteFile == null){ // not cached, do query + remoteFile = getRemoteFileObject(key, monitor); + } if (remoteFile != null) { return remoteFile; } @@ -1254,8 +1277,6 @@ public void initializeSubSystem(IProgressMonitor monitor) throws SystemMessageException { super.initializeSubSystem(monitor); - // load UI plugin for adapters right after successful connect - Platform.getAdapterManager().loadAdapter(new RemoteFileEmpty(), "org.eclipse.rse.ui.view.ISystemViewElementAdapter"); //$NON-NLS-1$ getConnectorService().addCommunicationsListener(this); } @@ -1271,35 +1292,43 @@ */ public void cacheRemoteFile(IRemoteFile file, String path) { - - if (_cachedRemoteFiles.containsKey(path)) - { - IRemoteFile oldFile = (IRemoteFile)_cachedRemoteFiles.remove(path); - if (oldFile == file) - { + boolean containsKey = false; + synchronized (_cachedRemoteFiles){ + containsKey = _cachedRemoteFiles.containsKey(path); + } + if (containsKey){ + IRemoteFile oldFile = null; + synchronized (_cachedRemoteFiles){ + oldFile = (IRemoteFile)_cachedRemoteFiles.remove(path); + } + if (oldFile == file){ // already cached - recache - _cachedRemoteFiles.put(path, file); + synchronized (_cachedRemoteFiles){ + _cachedRemoteFiles.put(path, file); + } return; } - + // replace file under parent if (oldFile instanceof RemoteFile) { RemoteFile roldFile = (RemoteFile)oldFile; - if (roldFile._parentFile != null) // prevent parent query from bug #196664 - { + if (roldFile._parentFile != null){ // prevent parent query from bug #196664 roldFile._parentFile.replaceContent(oldFile, file); } } else if (oldFile != null && oldFile.getParentRemoteFile() != null) { oldFile.getParentRemoteFile().replaceContent(oldFile, file); } - + // preserve persistent information from old file to new - if (oldFile != null) + if (oldFile != null){ oldFile.copyContentsTo(file); - + } + } + + synchronized (_cachedRemoteFiles){ + _cachedRemoteFiles.put(path, file); } - _cachedRemoteFiles.put(path, file); } /** @@ -1321,18 +1350,19 @@ */ public IRemoteFile getCachedRemoteFile(String path) { - if (_cachedRemoteFiles.size() > 0) - { - path = path.replaceAll("//", "/"); //$NON-NLS-1$ //$NON-NLS-2$ - if (path.endsWith("\\") || (path.endsWith("/") && path.length() > 1)) //$NON-NLS-1$ //$NON-NLS-2$ - { - path = path.substring(0, path.length() - 1); - } - if (_cachedRemoteFiles.containsKey(path)) - { - {return (IRemoteFile)_cachedRemoteFiles.get(path);} - } - + synchronized (_cachedRemoteFiles){ + if (_cachedRemoteFiles.size() > 0) + { + path = path.replaceAll("//", "/"); //$NON-NLS-1$ //$NON-NLS-2$ + if (path.endsWith("\\") || (path.endsWith("/") && path.length() > 1)) //$NON-NLS-1$ //$NON-NLS-2$ + { + path = path.substring(0, path.length() - 1); + } + if (_cachedRemoteFiles.containsKey(path)) + { + {return (IRemoteFile)_cachedRemoteFiles.get(path);} + } + } } return null; } @@ -1356,7 +1386,10 @@ //If getContents() is implemented correctly, no matches should be removed String prefix = file.getAbsolutePath() + file.getSeparator(); //Clone the hashMap in order to avoid ConcurrentModificationException in the iterator - HashMap tmpMap = (HashMap)_cachedRemoteFiles.clone(); + HashMap tmpMap = null; + synchronized (_cachedRemoteFiles){ + tmpMap = (HashMap)_cachedRemoteFiles.clone(); + } Iterator it = tmpMap.keySet().iterator(); while (it.hasNext()) { String remotePath = (String)it.next(); @@ -1367,13 +1400,24 @@ } } - _cachedRemoteFiles.remove(file.getAbsolutePath()); + removeCachedRemoteFile(file.getAbsolutePath()); } } protected void removeCachedRemoteFile(String path) { - _cachedRemoteFiles.remove(path); + synchronized (_cachedRemoteFiles){ + _cachedRemoteFiles.remove(path); + } + } + + /** + * @since 3.3 + */ + protected void clearRemoteFileCache(){ + synchronized (_cachedRemoteFiles){ + _cachedRemoteFiles.clear(); + } } @@ -1382,7 +1426,9 @@ switch (e.getState()) { case CommunicationsEvent.AFTER_DISCONNECT : - _cachedRemoteFiles.clear(); + synchronized (_cachedRemoteFiles){ + _cachedRemoteFiles.clear(); + } // DKM - taking this out because it causes an exception when the event occurs in Modal Context //ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry(); //sr.connectedStatusChange(this, false, true, true); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/.cvsignore 2006-04-10 20:52:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/META-INF/MANIFEST.MF 2008-09-24 11:44:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.files.dstore;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.files.dstore.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/plugin.properties 2009-05-25 22:36:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Files -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project Files=Files FilesDescription=This configuration allows you to work with files on local or remote systems using the DataStore protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.files.dstore + 2.1.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFile.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFile.java 2008-09-11 00:58:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin * Martin Oberhuber (Wind River) - [234726] Update IRemoteFile Javadocs * David McKnight (IBM) - [246897] Wrong canonical path for a symbolic link + * David McKnight (IBM) - [308783] Value in Properties view remains "Pending..." *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.dstore; @@ -180,6 +181,13 @@ super(ss,context, parent, hostFile); _dstoreHostFile = hostFile; } + + + + public void setHostFile(IHostFile hostFile) { + super.setHostFile(hostFile); + _dstoreHostFile = (DStoreHostFile)hostFile; + } public boolean isVirtual() { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileSubSystemSearchResultConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileSubSystemSearchResultConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileSubSystemSearchResultConfiguration.java 2009-02-10 21:23:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileSubSystemSearchResultConfiguration.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ * David McKnight (IBM) - [207178] changing list APIs for file service and subsystems * David McKnight (IBM) - [214378] [dstore] remote search doesn't display results sometimes * David McKnight (IBM) - [261644] [dstore] remote search improvements + * David McKnight (IBM) - [356230] [dstore] remote search sometimes returns incomplete results in view *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.dstore; @@ -144,14 +145,17 @@ // need to wait for the results though DelayedDomainListenerRemover remover = new DelayedDomainListenerRemover(this, _status); remover.start(); + OutputRefresh refresh = new OutputRefresh(this); + Display.getDefault().asyncExec(refresh); } else if (_status.getValue().equals("cancelled")) //$NON-NLS-1$ { setStatus(IHostSearchConstants.CANCELLED); _status.getDataStore().getDomainNotifier().removeDomainListener(this); + OutputRefresh refresh = new OutputRefresh(this); + Display.getDefault().asyncExec(refresh); } - OutputRefresh refresh = new OutputRefresh(this); - Display.getDefault().asyncExec(refresh); + } public void cancel() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/RemoteFilePropertyChangeListener.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/RemoteFilePropertyChangeListener.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/RemoteFilePropertyChangeListener.java 2009-03-25 18:57:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/RemoteFilePropertyChangeListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * David McKnight (IBM) - [190805] [performance][dstore] Right-click > Disconnect on a dstore connection is slow and spawns many Jobs + * David McKnight (IBM) - [318501] [dstore] decorator causing main thread queries *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.dstore; @@ -95,7 +96,7 @@ path.append(_fileSubSystem.getSeparatorChar()); path.append(file.getName()); - children[i] = _fileSubSystem.getRemoteFileObject(path.toString(), monitor); + children[i] = _fileSubSystem.getCachedRemoteFile(path.toString()); } _registry.fireEvent(new @@ -162,7 +163,9 @@ public void finish() { - dataStore.getDomainNotifier().removeDomainListener(this); + if (dataStore != null){ + dataStore.getDomainNotifier().removeDomainListener(this); + } _finished = true; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/.cvsignore 2006-04-10 20:53:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/META-INF/MANIFEST.MF 2009-03-12 12:04:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.files.ftp;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.files.ftp.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -14,7 +14,7 @@ org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", org.eclipse.ui.console, org.eclipse.rse.services.files.ftp;bundle-version="[3.0.0,4.0.0)", - org.apache.commons.net;bundle-version="[1.4.1,3.0.0)" + org.apache.commons.net;bundle-version="[1.4.1,4.0.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Export-Package: org.eclipse.rse.internal.subsystems.files.ftp;x-internal:=true, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/plugin.properties 2009-05-13 22:15:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName=RSE FTP Files -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # Name of Extension Point extPoint.ftpListingParsers=FTP Directory Listing Parsers @@ -32,6 +32,7 @@ FTPParser.UNIX=UNIX FTPParser.MVS=MVS +FTPParser.WFTPD=Windows WFTPD FTPParser.WinNT=WinNT FTPParser.OS2=OS2 FTPParser.OS400=OS400 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ftp/plugin.xml 2009-05-27 23:20:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ftp/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.files.scp + 0.2.0-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/Activator.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/Activator.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2009, 2010 Mentor Graphics Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Nikita Shulga (Mentor Graphics) - initial implementation + *******************************************************************************/ + +package org.eclipse.rse.internal.subsystems.files.scp; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Plugin; +import org.eclipse.core.runtime.Status; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; + +public class Activator extends Plugin { + + // The plug-in ID + public static final String PLUGIN_ID = Activator.class.getCanonicalName(); + + private static Activator plugin = null; + private static Bundle bundle = null; + + public Activator() { + } + + public static Plugin getDefault() { + return plugin; + } + + public static Bundle getDefaultBundle() { + return bundle; + } + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + bundle = context.getBundle(); + } + + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + bundle = null; + super.stop(context); + } + + public static void log(String msg) { + log(msg, null); + } + + public static void log(String msg, Exception e) { + log(IStatus.INFO, msg, e); + } + + public static void warn(String msg, Exception e) { + log(IStatus.WARNING, msg, e); + } + + public static void log(int sev, String msg, Exception e) { + Platform.getLog(getDefaultBundle()).log( + new Status(sev, PLUGIN_ID, msg, e)); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpFileAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpFileAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpFileAdapter.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpFileAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2006, 2010 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight, Kushal Munir, + * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, + * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. + * + * Contributors: + * Martin Oberhuber (Wind River) - Adapted from FTPFileAdapter. + * Martin Oberhuber (Wind River) - [235363][api][breaking] IHostFileToRemoteFileAdapter methods should return AbstractRemoteFile + * Nikita Shulga (Mentor Graphics) - Adapted from SftpFileAdapter. + *******************************************************************************/ + +package org.eclipse.rse.internal.subsystems.files.scp; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.rse.services.files.IHostFile; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.AbstractRemoteFile; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; +import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext; + +public class ScpFileAdapter implements IHostFileToRemoteFileAdapter { + + public AbstractRemoteFile convertToRemoteFile(FileServiceSubSystem ss, + IRemoteFileContext context, IRemoteFile parent, IHostFile node) { + + ScpRemoteFile file = new ScpRemoteFile(ss, context, parent, node); + ss.cacheRemoteFile(file); + return file; + } + + public AbstractRemoteFile[] convertToRemoteFiles(FileServiceSubSystem ss, + IRemoteFileContext context, IRemoteFile parent, IHostFile[] nodes) { + + if (nodes == null) + return new AbstractRemoteFile[0]; + + List results = new ArrayList(); + for (IHostFile node : nodes) { + ScpRemoteFile file = new ScpRemoteFile(ss, context, parent, node); + ss.cacheRemoteFile(file); + results.add(file); + } + + return (ScpRemoteFile[]) results.toArray(new ScpRemoteFile[results + .size()]); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpRemoteFile.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpRemoteFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpRemoteFile.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/internal/subsystems/files/scp/ScpRemoteFile.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2005, 2012 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight, Kushal Munir, + * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, + * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. + * + * Contributors: + * Martin Oberhuber (Wind River) - Adapted from FTPRemoteFile. + * Martin Oberhuber (Wind River) - [216343] immediate link targets and canonical paths for Sftp + * Nikita Shulga (Mentor Graphics)- Adapted from SftpRemoteFile. + * Anna Dushistova (MontaVista) - [331213][scp] Provide UI-less scp IFileService in org.eclipse.rse.services.ssh + *******************************************************************************/ + +package org.eclipse.rse.internal.subsystems.files.scp; + +import org.eclipse.rse.internal.services.ssh.files.SshFileUtils; +import org.eclipse.rse.internal.services.ssh.files.SftpHostFile; +import org.eclipse.rse.services.files.IHostFile; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.AbstractRemoteFile; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext; + +@SuppressWarnings("restriction") +public class ScpRemoteFile extends AbstractRemoteFile { + + public ScpRemoteFile(FileServiceSubSystem ss, IRemoteFileContext context, + IRemoteFile parent, IHostFile hostFile) { + super(ss, context, parent, hostFile); + } + + public SftpHostFile getSftpHostFile() { + return (SftpHostFile) getHostFile(); + } + + public String getCanonicalPath() { + String canonicalPath = getSftpHostFile().getCanonicalPath(); + if (canonicalPath.equals(getAbsolutePath()) && _parentFile != null) { + String parentCanonicalPath = _parentFile.getCanonicalPath(); + StringBuffer path = new StringBuffer(parentCanonicalPath); + if (!parentCanonicalPath.endsWith(SshFileUtils.TARGET_SEPARATOR)) + path.append(SshFileUtils.TARGET_SEPARATOR); + + path.append(getName()); + canonicalPath = path.toString(); + } + return canonicalPath; + } + + public String getClassification() { + return getSftpHostFile().getClassification(); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/subsystems/files/scp/ScpFileSubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/subsystems/files/scp/ScpFileSubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/subsystems/files/scp/ScpFileSubSystemConfiguration.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.scp/src/org/eclipse/rse/subsystems/files/scp/ScpFileSubSystemConfiguration.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Oberhuber (Wind River) - initial API and implementation + * Nikita Shulga (Mentor Graphics) - adapted from SftpFileSubSystemConfiguration. + *******************************************************************************/ + +package org.eclipse.rse.subsystems.files.scp; + +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.subsystems.IConnectorService; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.internal.connectorservice.ssh.SshConnectorService; +import org.eclipse.rse.internal.connectorservice.ssh.SshConnectorServiceManager; +import org.eclipse.rse.internal.services.ssh.ISshService; +import org.eclipse.rse.internal.services.ssh.files.scp.ScpFileService; +import org.eclipse.rse.internal.subsystems.files.scp.ScpFileAdapter; + +import org.eclipse.rse.services.clientserver.SystemSearchString; +import org.eclipse.rse.services.files.IFileService; +import org.eclipse.rse.services.search.IHostSearchResultConfiguration; +import org.eclipse.rse.services.search.IHostSearchResultSet; +import org.eclipse.rse.services.search.ISearchService; +import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration; +import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; + +@SuppressWarnings("restriction") +public class ScpFileSubSystemConfiguration extends + FileServiceSubSystemConfiguration { + + protected IHostFileToRemoteFileAdapter _hostFileAdapter; + + public ScpFileSubSystemConfiguration() { + super(); + setIsUnixStyle(true); + } + + @Override + public ISubSystem createSubSystemInternal(IHost host) { + IConnectorService connectorService = getConnectorService(host); + IFileService fileService = getFileService(host); + ISubSystem subsys = new FileServiceSubSystem(host, connectorService, + fileService, getHostFileAdapter(), getSearchService(host)); + return subsys; + } + + public IFileService createFileService(IHost host) { + SshConnectorService connectorService = (SshConnectorService) getConnectorService(host); + return new ScpFileService(connectorService); + } + + public IHostFileToRemoteFileAdapter getHostFileAdapter() { + if (_hostFileAdapter == null) { + _hostFileAdapter = new ScpFileAdapter(); + } + return _hostFileAdapter; + } + + public ILanguageUtilityFactory getLanguageUtilityFactory( + IRemoteFileSubSystem arg0) { + return null; + } + + public IConnectorService getConnectorService(IHost host) { + return SshConnectorServiceManager.getInstance().getConnectorService( + host, getServiceImplType()); + } + + public Class getServiceImplType() { + return ISshService.class; + } + + public boolean supportsArchiveManagement() { + return false; + } + + public boolean supportsFileTypes() { + return false; + } + + public boolean supportsSearch() { + return false; + } + + public ISearchService createSearchService(IHost arg0) { + // no search service supported for ssh/scp at moment + return null; + } + + public IHostSearchResultConfiguration createSearchConfiguration(IHost arg0, + IHostSearchResultSet arg1, Object arg2, SystemSearchString arg3) { + return null; + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/.cvsignore 2006-05-30 19:41:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/META-INF/MANIFEST.MF 2009-02-01 16:45:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.files.ssh; singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.files.ssh.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -10,7 +10,7 @@ org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.connectorservice.ssh;bundle-version="[2.1.0,3.0.0)", - org.eclipse.rse.services.ssh;bundle-version="[3.0.0,3.1.0)", + org.eclipse.rse.services.ssh;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.subsystems.files.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)" diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/plugin.properties 2009-05-26 11:41:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE SSH Files -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project SshFileSubsystemName=Sftp Files SshFileSubsystemDescription=Work with files on remote systems using the Secure Shell (ssh) protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.files.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.files.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.files.ssh + 2.1.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/.cvsignore 2006-04-10 20:56:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/META-INF/MANIFEST.MF 2009-04-28 14:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.processes.core;singleton:=true -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.1.300.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/plugin.properties 2009-05-26 11:41:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Processes Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.processes.core + 3.1.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java 2009-04-28 14:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.core/src/org/eclipse/rse/subsystems/processes/servicesubsystem/ProcessServiceSubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -18,6 +18,7 @@ * David McKnight (IBM) - [220524] internalSwitchServiceSubSystemConfiguration -> internalSwitchSubSystemConfiguration * Martin Oberhuber (Wind River) - [218304] Improve deferred adapter loading * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() + * David McKnight (IBM) - [302478] ProcessServiceSubSystem.getRemoteProcessObject() doesn't check for null ********************************************************************************/ package org.eclipse.rse.subsystems.processes.servicesubsystem; @@ -98,8 +99,13 @@ HostProcessFilterImpl rpfs = new HostProcessFilterImpl(); rpfs.setPid("" + pid); //$NON-NLS-1$ IRemoteProcessContext context = new RemoteProcessContext(this, null, rpfs); - IHostProcess process = getProcessService().getProcess(pid, null); - return getHostProcessToRemoteProcessAdapter().convertToRemoteProcess(context, null, process); + IHostProcess process = getProcessService().getProcess(pid, new NullProgressMonitor()); + if (process != null){ + return getHostProcessToRemoteProcessAdapter().convertToRemoteProcess(context, null, process); + } + else { + return null; + } } /* (non-Javadoc) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/.cvsignore 2006-04-10 20:59:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/META-INF/MANIFEST.MF 2009-05-20 19:32:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.processes.dstore;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.processes.dstore.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/plugin.properties 2009-05-26 11:40:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Processes -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project Processes=Processes ProcessesDescription=This configuration allows you to work with processes on local or remote systems using the DataStore protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.processes.dstore + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/.cvsignore 2006-04-10 21:00:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/META-INF/MANIFEST.MF 2009-05-20 19:31:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.processes.local;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.processes.local.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/plugin.properties 2009-05-14 05:09:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,4 +19,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Local Processes -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.local/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.local/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.processes.local + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/.cvsignore 2007-02-21 17:29:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/META-INF/MANIFEST.MF 2009-04-30 16:39:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.processes.shell.linux;singleton:=true -Bundle-Version: 1.1.100.qualifier +Bundle-Version: 1.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.processes.shell.linux.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/plugin.properties 2009-05-26 11:40:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 MontaVista Software, Inc. and others. +# Copyright (c) 2006, 2011 MontaVista Software, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Linux Shell Processes -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project ShellProcessSubsystemName=Shell Processes ShellProcessSubsystemDescription=This configuration allows you to work with processes on remote linux systems using any contributed Shell subsystem. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.processes.shell.linux/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.processes.shell.linux/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.processes.shell.linux + 1.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/.cvsignore 2006-04-10 21:02:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/META-INF/MANIFEST.MF 2009-04-28 14:49:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.shells.core -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.1.300.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.shells.core.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/plugin.properties 2009-05-14 08:04:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Shells Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.shells.core + 3.1.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/RemoteCmdSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/RemoteCmdSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/RemoteCmdSubSystem.java 2009-04-28 14:49:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/RemoteCmdSubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,6 +22,9 @@ * David McKnight (IBM) - [230285] [shells] Remote shells should be restored on quit and re-start of RSE * David McKnight (IBM) - [252708] Saving Profile Job happens when not changing Property Values on Connections * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() + * David McKnight (IBM) [302724] problems with environment variable substitution + * David McKnight (IBM) - [338031] Remote Shell view tabs should have close (x) icon + * David McKnight (IBM) - [349491] possible NPE on shutdown due to event firing *******************************************************************************/ package org.eclipse.rse.subsystems.shells.core.subsystems; @@ -302,7 +305,7 @@ { for (int i = userVars.length - 1; i >= 0; i--) { - String userVar = userVars[i]; + String userVar = userVars[i]; String varName = null; int assignIndex = userVar.indexOf('='); if (assignIndex > 0) @@ -310,7 +313,7 @@ varName = userVar.substring(0, assignIndex + 1); if (isUniqueVariable(combinedVars, varName)) { - combinedVars.add(userVar); + combinedVars.add(0,userVar); } } } @@ -707,8 +710,10 @@ public void run() { - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireEvent(new SystemResourceChangeEvent(_ss, ISystemResourceChangeEvents.EVENT_REFRESH, _ss)); + if (RSECorePlugin.isTheSystemRegistryActive()){ + ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + registry.fireEvent(new SystemResourceChangeEvent(_ss, ISystemResourceChangeEvents.EVENT_REFRESH, _ss)); + } } } @@ -1201,13 +1206,6 @@ public void performOperation(IProgressMonitor mon) throws InterruptedException, InvocationTargetException, Exception { - String msg = null; - int totalWorkUnits = IProgressMonitor.UNKNOWN; - - if (!implicitConnect(false, mon, msg, totalWorkUnits)){ - String msgTxt = NLS.bind(ShellStrings.MSG_CONNECT_FAILED, getHostName()); - throw new Exception(msgTxt); - } internalRemoveShell(_runContext); } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java 2008-04-03 09:44:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - [225510][api] Fix OutputRefreshJob API leakage + * David McKnight (IBM) - [379454] [shells] too many output refresh jobs created when populating shell output *******************************************************************************/ package org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem; @@ -88,16 +89,7 @@ outputs[i] = output; } } - // FIXME unify with notifyListeners() below? - if (_lastRefreshJob == null || _lastRefreshJob.isComplete()) - { - _lastRefreshJob = new OutputRefreshJob(this, outputs, false); - _lastRefreshJob.schedule(); - } - else - { - _lastRefreshJob.addOutputs(outputs); - } + notifyOutputChanged(outputs, false); } /** @@ -109,15 +101,14 @@ * @since org.eclipse.rse.subsystems.shells.core 3.0 */ protected void notifyOutputChanged(IRemoteOutput[] outputs, boolean cwdChanged) { - // if (_lastRefreshJob == null || _lastRefreshJob.isComplete()) - { + if (_lastRefreshJob == null || _lastRefreshJob.isComplete()){ _lastRefreshJob = new OutputRefreshJob(this, outputs, cwdChanged); _lastRefreshJob.schedule(); } - /* - * else { _lastRefreshJob.addOutputs(outputs); - * _lastRefreshJob.schedule(); } - */ + else { + _lastRefreshJob.addOutputs(outputs); + _lastRefreshJob.schedule(); + } } public ICandidateCommand[] getCandidateCommands() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/.cvsignore 2006-04-10 21:03:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/META-INF/MANIFEST.MF 2009-05-20 19:31:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.shells.dstore;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.shells.dstore.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/build.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/build.properties 2007-06-05 11:03:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2001, 2007 IBM Corporation and others. +# Copyright (c) 2001, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,3 +17,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +additional.bundles = org.eclipse.core.resources diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/plugin.properties 2009-05-14 08:03:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE DStore Shells -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project Shells=Shells ShellsDescription=This configuration allows you to work with shells and commands on local or remote systems using the DataStore protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.shells.dstore + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/src/org/eclipse/rse/internal/subsystems/shells/dstore/DStoreServiceCommandShell.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/src/org/eclipse/rse/internal/subsystems/shells/dstore/DStoreServiceCommandShell.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.dstore/src/org/eclipse/rse/internal/subsystems/shells/dstore/DStoreServiceCommandShell.java 2008-04-03 09:44:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.dstore/src/org/eclipse/rse/internal/subsystems/shells/dstore/DStoreServiceCommandShell.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,8 @@ * Contributors: * David McKnight (IBM) - [202822] cleanup output datalements after use * Martin Oberhuber (Wind River) - [225510][api] Fix OutputRefreshJob API leakage + * David McKnight (IBM) - [286671] Dstore shell service interprets < and > sequences + * David McKnight (IBM) - [319164][dstore][shells] shell cleanup threads stay around indefinitely when spirit is off *******************************************************************************/ package org.eclipse.rse.internal.subsystems.shells.dstore; @@ -21,6 +23,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.dstore.core.model.DataElement; import org.eclipse.dstore.core.model.DataStore; +import org.eclipse.dstore.core.model.DataStoreResources; import org.eclipse.dstore.extra.DomainEvent; import org.eclipse.dstore.extra.IDomainListener; import org.eclipse.rse.internal.services.dstore.shells.DStoreHostOutput; @@ -44,9 +47,10 @@ private DataElement _status; private DataStore _ds; private boolean _done = false; + private int _timesWaited = 0; public CleanUpSpirited(DataElement status, String name) - { + { _status = status; _ds = status.getDataStore(); _ds.getDomainNotifier().addDomainListener(this); @@ -59,11 +63,12 @@ public void run() { - while (!_done) + while (!_done && _timesWaited < 3) // limit the attempts to 3, since it's possible that, on the server, spirit is off { try { Thread.sleep(10000); + _timesWaited++; } catch (Exception e) { @@ -87,7 +92,7 @@ _ds.getDomainNotifier().removeDomainListener(this); _done = true; - } + } } } } @@ -139,6 +144,13 @@ return reader.getWorkingDirectory(); } + private String convertSpecialCharacters(String input){ + // needed to ensure xml characters aren't converted in xml layer + String converted = input.replaceAll("&", "&") //$NON-NLS-1$ //$NON-NLS-2$ + .replaceAll(";", ";"); //$NON-NLS-1$//$NON-NLS-2$ + return converted; + } + public void shellOutputChanged(IHostShellChangeEvent event) { IHostOutput[] lines = event.getLines(); @@ -161,7 +173,17 @@ { output = new RemoteOutput(this, type); } - output.setText(line.getName()); + + DataStore dataStore = line.getDataStore(); + DataElement fsD= dataStore.findObjectDescriptor(DataStoreResources.model_directory); + DataElement convDes = dataStore.localDescriptorQuery(fsD, "C_CHAR_CONVERSION", 1); //$NON-NLS-1$ + + String text = line.getName(); + if (convDes != null){ + text = convertSpecialCharacters(text); + } + + output.setText(convertSpecialCharacters(text)); int colonSep = src.indexOf(':'); // line numbers diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/.cvsignore 2006-04-10 21:04:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/META-INF/MANIFEST.MF 2009-04-20 12:25:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.shells.local;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.shells.local.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/build.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/build.properties 2007-06-05 11:03:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2007 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,3 +17,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +additional.bundles = org.eclipse.core.resources diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/plugin.properties 2009-05-14 08:03:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Local Shells -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project Shells=Local Shells ShellsDescription=This configuration allows you to work with shells and commands on the local system and doesn't require any communication server to be running. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.local/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.local/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.shells.local + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/.cvsignore 2006-05-30 19:41:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/META-INF/MANIFEST.MF 2009-02-01 16:46:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.shells.ssh; singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.shells.ssh.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -10,7 +10,7 @@ org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.1.0,4.0.0)", org.eclipse.rse.connectorservice.ssh;bundle-version="[2.1.0,3.0.0)", - org.eclipse.rse.services.ssh;bundle-version="[3.0.0,3.1.0)", + org.eclipse.rse.services.ssh;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.subsystems.shells.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.subsystems.files.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/build.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/build.properties 2007-06-05 11:03:41.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2007 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,3 +17,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +additional.bundles = org.eclipse.core.resources diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/plugin.properties 2009-05-26 11:41:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE SSH Shells -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project SshShellSubsystemName=Ssh Shells SshShellSubsystemDescription=Work with shells and commands on remote systems using the Secure Shell (ssh) protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.shells.ssh + 2.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/.cvsignore 2007-05-11 09:31:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/META-INF/MANIFEST.MF 2009-02-01 17:00:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.shells.telnet;singleton:=true -Bundle-Version: 1.2.0.qualifier +Bundle-Version: 1.2.300.qualifier Bundle-Activator: org.eclipse.rse.internal.subsystems.shells.telnet.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/build.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/build.properties 2007-06-05 11:03:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2007 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,3 +17,4 @@ source.. = src/ output.. = bin/ src.includes = about.html +additional.bundles = org.eclipse.core.resources diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/plugin.properties 2009-05-26 11:41:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,7 +14,7 @@ # NLS_ENCODING=UTF-8 pluginName=RSE Telnet Shells -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project TelnetSystemLabel=Telnet Only (Experimental) TelnetSystemDescription=Connection for Telnet access to remote systems diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.shells.telnet/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.shells.telnet/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.shells.telnet + 1.2.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/.cvsignore 2008-04-16 20:56:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/META-INF/MANIFEST.MF 2009-08-05 15:44:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,16 +2,15 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.terminals.core;singleton:=true -Bundle-Version: 1.0.1.qualifier +Bundle-Version: 1.0.300.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.1.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)" -Eclipse-LazyStart: true Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.rse.subsystems.terminals.core, +Export-Package: org.eclipse.rse.internal.subsystems.terminals.core;x-internal:=true, + org.eclipse.rse.subsystems.terminals.core, org.eclipse.rse.subsystems.terminals.core.elements -Bundle-ActivationPolicy: lazy diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/plugin.properties 2009-05-26 11:41:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2008, 2009 MontaVista Software, Inc. and others. +# Copyright (c) 2008, 2011 MontaVista Software, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Terminals Core -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project TerminalSubsystemName = Terminals TerminalSubsystemDescription = Work with terminals and commands on remote systems. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.terminals.core + 1.0.300-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/internal/subsystems/terminals/core/DelegatingTerminalService.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/internal/subsystems/terminals/core/DelegatingTerminalService.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/internal/subsystems/terminals/core/DelegatingTerminalService.java 2009-02-11 21:54:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/internal/subsystems/terminals/core/DelegatingTerminalService.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2008, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -28,7 +28,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    * * @since org.eclipse.rse.subsystems.terminals.core 1.0 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/subsystems/terminals/core/TerminalServiceSubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/subsystems/terminals/core/TerminalServiceSubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/subsystems/terminals/core/TerminalServiceSubSystemConfiguration.java 2009-08-03 18:17:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.core/src/org/eclipse/rse/subsystems/terminals/core/TerminalServiceSubSystemConfiguration.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2008 MontaVista Software, Inc. + * Copyright (c) 2008, 2009 MontaVista Software, Inc. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/.cvsignore 2008-04-16 20:56:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/META-INF/MANIFEST.MF 2009-08-05 15:44:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.subsystems.terminals.ssh;singleton:=true -Bundle-Version: 1.0.1.qualifier +Bundle-Version: 1.0.200.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.rse.services;bundle-version="[3.1.0,4.0.0)", org.eclipse.rse.connectorservice.ssh;bundle-version="[2.1.0,3.0.0)", - org.eclipse.rse.services.ssh;bundle-version="[3.0.0,3.1.0)", + org.eclipse.rse.services.ssh;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)" diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/plugin.properties 2009-05-26 11:41:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2008, 2009 MontaVista Software Inc. and others. +# Copyright (c) 2008, 2011 MontaVista Software Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,7 +13,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE SSH Terminals -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project SshTerminalSubsystemName=Ssh Terminals SshTerminalSubsystemDescription=Work with terminals and commands on remote systems using the Secure Shell (ssh) protocol. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.terminals.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.terminals.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.subsystems.terminals.ssh + 1.0.200-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.classpath eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.classpath 2008-03-27 20:06:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.cvsignore 2008-05-21 12:56:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.project eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.project --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.project 2008-04-03 08:57:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.rse.subsystems.wince - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:22:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/META-INF/MANIFEST.MF 2009-03-05 13:21:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.rse.subsystems.wince;singleton:=true -Bundle-Version: 0.1.100.qualifier -Bundle-Activator: org.eclipse.rse.internal.subsystems.files.wince.Activator -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.core.resources, - org.eclipse.core.runtime, - org.eclipse.ui, - org.eclipse.rse.services;bundle-version="[3.0.0,4.0.0)", - org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", - org.eclipse.rse.subsystems.files.core;bundle-version="[3.0.0,4.0.0)", - org.eclipse.rse.ui;bundle-version="[3.0.0,4.0.0)", - org.eclipse.tm.rapi;bundle-version="[0.1.0,1.0.0)" -Export-Package: org.eclipse.rse.internal.connectorservice.wince;x-internal:=true, - org.eclipse.rse.internal.services.wince;x-internal:=true, - org.eclipse.rse.internal.services.wince.files;x-internal:=true, - org.eclipse.rse.internal.subsystems.files.wince;x-internal:=true, - org.eclipse.rse.subsystems.files.wince -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.html eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.html 2008-03-27 20:50:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    March 27, 2008

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.ini eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.ini 2009-05-13 22:15:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.mappings eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.mappings --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.mappings 2008-03-27 20:50:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.mappings 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/about.properties 2009-02-10 22:15:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/about.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -# David Dykstal (IBM) - [232198] remove NLS MESSAGEFORMAT NONE -################################################################################ - -# NLS_ENCODING=UTF-8 - -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=RSE WinCE Services (Incubation)\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Radoslav Gerganov and others 2008, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/build.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/build.properties 2009-05-26 11:41:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Radoslav Gerganov and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - Add feature branding files -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - icons/, \ - plugin.properties,\ - plugin.xml,\ - dsdp32.png -src.includes = about.html - \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/dsdp32.png differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/icons/systemfiles_obj.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/icons/systemfiles_obj.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/icons/systemfileslive_obj.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/icons/systemfileslive_obj.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/icons/wince.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/icons/wince.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/icons/wincelive.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/icons/wincelive.gif differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/plugin.properties 2009-05-26 11:41:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Radoslav Gerganov and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - Rename pluginName, add PII NLS tags -############################################################################### - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -providerName = Eclipse.org - DSDP -pluginName = RSE WinCE Services (Incubation) -systemType.label.0 = WinCE -configuration.description.0 = This configuration allows you to work with files on remote WinCE-based device using ActiveSync/RAPI2 connection. -configuration.name.0 = WinCE Files -configuration.vendor.0 = Eclipse.org diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/plugin.xml 2008-03-27 19:52:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/IWinCESubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/IWinCESubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/IWinCESubSystem.java 2008-03-31 12:21:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/IWinCESubSystem.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from ISshSubSystem - *******************************************************************************/ -package org.eclipse.rse.internal.connectorservice.wince; - -/** - * Markup Interface for subsystems using the WinCEConnectorService. - * - * By implementing this interface, subsystems can be recognized - * as being able to share a single WinCE connector service between - * multiple different subsystems. - */ -public interface IWinCESubSystem { - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/Messages.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/Messages.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/Messages.java 2008-03-27 19:52:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.rse.internal.connectorservice.wince; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.rse.internal.connectorservice.wince.messages"; //$NON-NLS-1$ - public static String WinCEConnectorService_0; - public static String WinCEConnectorService_1; - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorService.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorService.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorService.java 2008-05-10 13:49:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorService.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SshConnectorService - *******************************************************************************/ -package org.eclipse.rse.internal.connectorservice.wince; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.subsystems.BasicConnectorService; -import org.eclipse.rse.core.subsystems.CommunicationsEvent; -import org.eclipse.rse.internal.services.wince.IRapiSessionProvider; -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.IRapiEnumDevices; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiException; - - -/** - * Creates ActiveSync/RAPI2 connections to WinCE-based device. - */ -public class WinCEConnectorService extends BasicConnectorService implements IRapiSessionProvider { - - IRapiDesktop desktop = null; - IRapiEnumDevices enumDevices = null; - IRapiDevice device = null; - IRapiSession session = null; - - public WinCEConnectorService(IHost host) { - super(Messages.WinCEConnectorService_0, Messages.WinCEConnectorService_1, host, 0); - } - - protected void internalConnect(IProgressMonitor monitor) throws Exception { - fireCommunicationsEvent(CommunicationsEvent.BEFORE_CONNECT); - Rapi.initialize(Rapi.COINIT_MULTITHREADED); - try { - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - device = enumDevices.next(); - session = device.createSession(); - session.init(); - } catch (RapiException re) { - //TODO externalize the error message - throw new Exception("Cannot connect to the remote device (" + re.getMessage() + ")", re); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - - protected void internalDisconnect(IProgressMonitor monitor) throws Exception { - fireCommunicationsEvent(CommunicationsEvent.BEFORE_DISCONNECT); - if (session != null) { - session.uninit(); - session.release(); - session = null; - } - if (device != null) { - device.release(); - device = null; - } - if (enumDevices != null) { - enumDevices.release(); - enumDevices = null; - } - if (desktop != null) { - desktop.release(); - desktop = null; - } - } - - public boolean isConnected() { - if (device != null) { - try { - return device.isConnected(); - } catch (RapiException e) { - //ignore - } - } - return false; - } - - public IRapiSession getSession() { - return session; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorServiceManager.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorServiceManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorServiceManager.java 2008-03-31 12:21:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/WinCEConnectorServiceManager.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SshConnectorServiceManager - *******************************************************************************/ -package org.eclipse.rse.internal.connectorservice.wince; - -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.subsystems.AbstractConnectorServiceManager; -import org.eclipse.rse.core.subsystems.IConnectorService; -import org.eclipse.rse.core.subsystems.ISubSystem; - -public class WinCEConnectorServiceManager extends AbstractConnectorServiceManager { - - private static WinCEConnectorServiceManager inst = null; - - private WinCEConnectorServiceManager() { - super(); - } - - public static WinCEConnectorServiceManager getInstance() { - if (inst == null) { - inst = new WinCEConnectorServiceManager(); - } - return inst; - } - - public IConnectorService createConnectorService(IHost host) { - IConnectorService connectorService = new WinCEConnectorService(host); - return connectorService; - } - - public Class getSubSystemCommonInterface(ISubSystem subsystem) { - return IWinCESubSystem.class; - } - - public boolean sharesSystem(ISubSystem otherSubSystem) { - return (otherSubSystem instanceof IWinCESubSystem); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/messages.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/messages.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/messages.properties 2008-04-07 12:50:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/connectorservice/wince/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -############################################################################### -# Copyright (c) 2008 Radoslav Gerganov -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -############################################################################### -WinCEConnectorService_0=WinCE Connector Service -WinCEConnectorService_1=The WinCE Connector Service uses ActiveSync/RAPI2 to connect to the device. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IRapiSessionProvider.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IRapiSessionProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IRapiSessionProvider.java 2008-03-27 19:52:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IRapiSessionProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.rse.internal.services.wince; - -import org.eclipse.tm.rapi.IRapiSession; - -public interface IRapiSessionProvider { - - /** - * Returns an active RAPI2 session from a ConnectorService. - */ - public IRapiSession getSession(); - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IWinCEService.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IWinCEService.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IWinCEService.java 2008-03-31 12:21:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/IWinCEService.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from ISshService - *******************************************************************************/ -package org.eclipse.rse.internal.services.wince; - -/** - * Markup Interface for services using the WinCEConnectorService. - * - * By implementing this interface, services can be recognized - * as operating against an WinCEConnectorService. - * The interface is used as the key in a table for looking up the connector - * service when needed. - */ -public interface IWinCEService { - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/Messages.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/Messages.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/Messages.java 2008-03-31 12:21:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.rse.internal.services.wince.files; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.rse.internal.services.wince.files.messages"; //$NON-NLS-1$ - public static String WinCEFileService_0; - public static String WinCEFileService_1; - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEFileService.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEFileService.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEFileService.java 2008-06-26 13:44:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEFileService.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,565 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SftpFileService and LocalFileService - * Martin Oberhuber (Wind River) - [226262] Make IService IAdaptable - * Radoslav Gerganov (ProSyst) - [221211] [api][breaking][files] need batch operations to indicate which operations were successful - * Martin Oberhuber (Wind River) - [221211] Throw SystemUnsupportedOperationException for WinCE setLastModified() and setReadOnly() - * Radoslav Gerganov (ProSyst) - [230850] [WinCE] Implement setLastModified and setReadOnly in WinCEFileService - * Radoslav Gerganov (ProSyst) - [231425] [WinCE] Use the progress monitors in WinCEFileService - * Radoslav Gerganov (ProSyst) - [230856] [WinCE] Improve the error handling in WinCEFileService - * Radoslav Gerganov (ProSyst) - [230919] IFileService.delete() should not return a boolean - * Radoslav Gerganov (ProSyst) - [235360] Return proper "Root" IHostFile - *******************************************************************************/ -package org.eclipse.rse.internal.services.wince.files; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.rse.internal.services.wince.IRapiSessionProvider; -import org.eclipse.rse.internal.services.wince.IWinCEService; -import org.eclipse.rse.internal.subsystems.files.wince.Activator; -import org.eclipse.rse.services.clientserver.FileTypeMatcher; -import org.eclipse.rse.services.clientserver.IMatcher; -import org.eclipse.rse.services.clientserver.NamePatternMatcher; -import org.eclipse.rse.services.clientserver.messages.SystemElementNotFoundException; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.services.clientserver.messages.SystemOperationCancelledException; -import org.eclipse.rse.services.clientserver.messages.SystemUnexpectedErrorException; -import org.eclipse.rse.services.clientserver.messages.SystemUnsupportedOperationException; -import org.eclipse.rse.services.files.AbstractFileService; -import org.eclipse.rse.services.files.IFileService; -import org.eclipse.rse.services.files.IHostFile; -import org.eclipse.rse.services.files.RemoteFileIOException; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiException; -import org.eclipse.tm.rapi.RapiFindData; - -public class WinCEFileService extends AbstractFileService implements IWinCEService { - - IRapiSessionProvider sessionProvider; - - public WinCEFileService(IRapiSessionProvider sessionProvider) { - this.sessionProvider = sessionProvider; - } - - String concat(String parentDir, String fileName) { - String result = parentDir; - if (!result.endsWith("\\")) { //$NON-NLS-1$ - result += "\\"; //$NON-NLS-1$ - } - result += fileName; - return result; - } - - protected IHostFile[] internalFetch(String parentPath, String fileFilter, - int fileType, IProgressMonitor monitor) throws SystemMessageException { - if (fileFilter == null) { - fileFilter = "*"; //$NON-NLS-1$ - } - IMatcher fileMatcher = null; - if (fileFilter.endsWith(",")) { //$NON-NLS-1$ - String[] types = fileFilter.split(","); //$NON-NLS-1$ - fileMatcher = new FileTypeMatcher(types, true); - } else { - fileMatcher = new NamePatternMatcher(fileFilter, true, true); - } - List results = new ArrayList(); - try { - IRapiSession session = sessionProvider.getSession(); - RapiFindData[] foundFiles = session.findAllFiles(concat(parentPath,"*"), //$NON-NLS-1$ - Rapi.FAF_NAME | Rapi.FAF_ATTRIBUTES | Rapi.FAF_LASTWRITE_TIME | - Rapi.FAF_SIZE_HIGH | Rapi.FAF_SIZE_LOW); - for (int i = 0 ; i < foundFiles.length ; i++) { - String fileName = foundFiles[i].fileName; - if (fileMatcher.matches(fileName)) { - WinCEHostFile hostFile = makeHostFile(parentPath, fileName, foundFiles[i]); - if (isRightType(fileType, hostFile)) { - results.add(hostFile); - } - } - } - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - return (IHostFile[]) results.toArray(new IHostFile[results.size()]); - } - - private WinCEHostFile makeHostFile(String parentPath, String fileName, RapiFindData findData) { - boolean isDirectory = (findData.fileAttributes & Rapi.FILE_ATTRIBUTE_DIRECTORY) != 0; - boolean isWritable = (findData.fileAttributes & Rapi.FILE_ATTRIBUTE_READONLY) == 0; - long lastModified = (findData.lastWriteTime / 10000) - Rapi.TIME_DIFF; - long size = findData.fileSize; - return new WinCEHostFile(parentPath, fileName, isDirectory, false, isWritable, lastModified, size); - } - - private boolean isDirectory(IRapiSession session, String fullPath) { - int attr = session.getFileAttributes(fullPath); - if (attr == -1) { - return false; - } - return (attr & Rapi.FILE_ATTRIBUTE_DIRECTORY) != 0; - } - - private boolean exist(IRapiSession session, String fileName) { - return session.getFileAttributes(fileName) != -1; - } - - public void copy(String srcParent, String srcName, String tgtParent, - String tgtName, IProgressMonitor monitor) throws SystemMessageException { - String srcFullPath = concat(srcParent, srcName); - String tgtFullPath = concat(tgtParent, tgtName); - if (srcFullPath.equals(tgtFullPath)) { - // prevent copying file/folder to itself - throw new SystemUnsupportedOperationException(Activator.PLUGIN_ID, "Cannot copy file or folder to itself"); //$NON-NLS-1$ - } - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - IRapiSession session = sessionProvider.getSession(); - try { - if (isDirectory(session, srcFullPath)) { - if (tgtFullPath.startsWith(srcFullPath + "\\")) { //$NON-NLS-1$ - // prevent copying \a to \a\b\c - throw new SystemUnsupportedOperationException(Activator.PLUGIN_ID, "Cannot copy folder to its subfolder"); //$NON-NLS-1$ - } - if (!exist(session, tgtFullPath)) { - // the target path is a directory and it doesn't exist -> create it - session.createDirectory(tgtFullPath); - } - RapiFindData[] allFiles = session.findAllFiles(concat(srcFullPath,"*"), Rapi.FAF_NAME); //$NON-NLS-1$ - for (int i = 0 ; i < allFiles.length ; i++) { - String fileName = allFiles[i].fileName; - if (monitor.isCanceled()) { - throw new SystemOperationCancelledException(); - } - copy(srcFullPath, fileName, tgtFullPath, fileName, monitor); - } - } else { - session.copyFile(srcFullPath, tgtFullPath); - monitor.worked(1); - } - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public void copyBatch(String[] srcParents, String[] srcNames, - String tgtParent, IProgressMonitor monitor) throws SystemMessageException { - for (int i = 0 ; i < srcParents.length ; i++) { - copy(srcParents[i], srcNames[i], tgtParent, srcNames[i], monitor); - } - } - - public IHostFile createFile(String remoteParent, String fileName, IProgressMonitor monitor) throws SystemMessageException { - String fullPath = concat(remoteParent, fileName); - IRapiSession session = sessionProvider.getSession(); - try { - int handle = session.createFile(fullPath, Rapi.GENERIC_WRITE, Rapi.FILE_SHARE_READ, - Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - session.closeHandle(handle); - RapiFindData findData = new RapiFindData(); - handle = session.findFirstFile(fullPath, findData); - session.findClose(handle); - return makeHostFile(remoteParent, fileName, findData); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public IHostFile createFolder(String remoteParent, String folderName, IProgressMonitor monitor) throws SystemMessageException { - String fullPath = concat(remoteParent, folderName); - IRapiSession session = sessionProvider.getSession(); - try { - session.createDirectory(fullPath); - RapiFindData findData = new RapiFindData(); - int handle = session.findFirstFile(fullPath, findData); - session.findClose(handle); - return makeHostFile(remoteParent, folderName, findData); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public void delete(String remoteParent, String fileName, IProgressMonitor monitor) throws SystemMessageException { - String fullPath = concat(remoteParent, fileName); - IRapiSession session = sessionProvider.getSession(); - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - try { - if (!exist(session, fullPath)) { - throw new SystemElementNotFoundException(fullPath, "delete"); //$NON-NLS-1$ - } - if (isDirectory(session, fullPath)) { - // recursive delete if it is a directory - RapiFindData[] allFiles = session.findAllFiles(concat(fullPath, "*"), Rapi.FAF_NAME); //$NON-NLS-1$ - for (int i = 0; i < allFiles.length; i++) { - if (monitor.isCanceled()) { - throw new SystemOperationCancelledException(); - } - delete(fullPath, allFiles[i].fileName, monitor); - } - session.removeDirectory(fullPath); - } else { - // it is a file - session.deleteFile(fullPath); - monitor.worked(1); - } - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public void download(String remoteParent, String remoteFile, File localFile, boolean isBinary, String hostEncoding, - IProgressMonitor monitor) throws SystemMessageException { - - if (!localFile.exists()) { - File localParentFile = localFile.getParentFile(); - if (!localParentFile.exists()) { - if (!localParentFile.mkdirs()) { - throw new SystemUnexpectedErrorException(Activator.PLUGIN_ID); - } - } - } - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - String fullPath = concat(remoteParent, remoteFile); - IRapiSession session = sessionProvider.getSession(); - int handle = Rapi.INVALID_HANDLE_VALUE; - BufferedOutputStream bos = null; - try { - handle = session.createFile(fullPath, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - long fileSize = session.getFileSize(handle); - monitor.beginTask(fullPath, (int) fileSize); - bos = new BufferedOutputStream(new FileOutputStream(localFile)); - // don't increase the buffer size! the native functions sometimes fail with large buffers, 4K always work - byte[] buffer = new byte[4 * 1024]; - while (true) { - int bytesRead = session.readFile(handle, buffer); - if (bytesRead == -1) { - break; - } - bos.write(buffer, 0, bytesRead); - if (monitor.isCanceled()) { - throw new SystemOperationCancelledException(); - } - monitor.worked(bytesRead); - } - bos.flush(); - monitor.done(); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } catch (IOException e) { - throw new RemoteFileIOException(e); - } finally { - if (handle != Rapi.INVALID_HANDLE_VALUE) { - try { - session.closeHandle(handle); - } catch (RapiException e) { - // ignore - } - } - if (bos != null) { - try { - bos.close(); - } catch (IOException e) { - // ignore - } - } - } - } - - public IHostFile getFile(String remoteParent, String name, IProgressMonitor monitor) throws SystemMessageException { - if (remoteParent == null || remoteParent.length() == 0) { - // special case for root - return getRoots(null)[0]; - } - IRapiSession session = sessionProvider.getSession(); - try { - RapiFindData findData = new RapiFindData(); - int h = session.findFirstFile(concat(remoteParent, name), findData); - session.findClose(h); - return makeHostFile(remoteParent, name, findData); - } catch (RapiException e) { - // ignore the exception and return dummy - } - // return dummy if the file doesn't exist - WinCEHostFile dummy = new WinCEHostFile(remoteParent, name, false, false, false, 0, 0); - dummy.setExists(false); - return dummy; - } - - public IHostFile[] getRoots(IProgressMonitor monitor) throws SystemMessageException { - return new WinCEHostFile[] { new WinCEHostFile(null, "\\", true, true, true, 0, 0) }; //$NON-NLS-1$ - } - - public IHostFile getUserHome() { - return new WinCEHostFile("\\", "My Documents", true, false, true, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ - } - - public boolean isCaseSensitive() { - return false; - } - - public void move(String srcParent, String srcName, String tgtParent, String tgtName, - IProgressMonitor monitor) throws SystemMessageException { - copy(srcParent, srcName, tgtParent, tgtName, monitor); - delete(srcParent, srcName, monitor); - } - - public void rename(String remoteParent, String oldName, String newName, - IProgressMonitor monitor) throws SystemMessageException { - String oldFullPath = concat(remoteParent, oldName); - String newFullPath = concat(remoteParent, newName); - IRapiSession session = sessionProvider.getSession(); - try { - session.moveFile(oldFullPath, newFullPath); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public void rename(String remoteParent, String oldName, String newName, IHostFile oldFile, - IProgressMonitor monitor) throws SystemMessageException { - rename(remoteParent, oldName, newName, monitor); - String newFullPath = concat(remoteParent, newName); - oldFile.renameTo(newFullPath); - } - - public void setLastModified(String parent, String name, long timestamp, IProgressMonitor monitor) throws SystemMessageException { - IRapiSession session = sessionProvider.getSession(); - String fullPath = concat(parent, name); - int handle = Rapi.INVALID_HANDLE_VALUE; - try { - handle = session.createFile(fullPath, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - session.setFileLastWriteTime(handle, timestamp); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } finally { - if (handle != Rapi.INVALID_HANDLE_VALUE) { - try { - session.closeHandle(handle); - } catch (RapiException e) { - // ignore - } - } - } - } - - public void setReadOnly(String parent, String name, boolean readOnly, IProgressMonitor monitor) throws SystemMessageException { - IRapiSession session = sessionProvider.getSession(); - String fullPath = concat(parent, name); - int attr = session.getFileAttributes(fullPath); - if (readOnly) { - attr = attr | Rapi.FILE_ATTRIBUTE_READONLY; - } else { - attr = attr & (~Rapi.FILE_ATTRIBUTE_READONLY); - } - try { - session.setFileAttributes(fullPath, attr); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - private void internalUpload(InputStream stream, String remoteParent, String remoteFile, boolean isBinary, - String hostEncoding, long fileSize, IProgressMonitor monitor) throws SystemMessageException { - BufferedInputStream bis = new BufferedInputStream(stream); - IRapiSession session = sessionProvider.getSession(); - String fullPath = concat(remoteParent, remoteFile); - if (monitor == null) { - monitor = new NullProgressMonitor(); - } - if (fileSize != -1) { - monitor.beginTask(fullPath, (int) fileSize); - } - int handle = Rapi.INVALID_HANDLE_VALUE; - try { - handle = session.createFile(fullPath, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - // don't increase the buffer size! the native functions sometimes fail with large buffers, 4K always work - byte[] buffer = new byte[4 * 1024]; - while (true) { - int bytesRead = bis.read(buffer); - if (bytesRead == -1) { - break; - } - session.writeFile(handle, buffer, 0, bytesRead); - if (monitor.isCanceled()) { - throw new SystemOperationCancelledException(); - } - monitor.worked(bytesRead); - } - monitor.done(); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } catch (IOException e) { - throw new RemoteFileIOException(e); - } finally { - if (handle != Rapi.INVALID_HANDLE_VALUE) { - try { - session.closeHandle(handle); - } catch (RapiException e) { - // ignore - } - } - try { - bis.close(); - } catch (IOException e) { - // ignore - } - } - } - - public void upload(InputStream stream, String remoteParent, String remoteFile, boolean isBinary, - String hostEncoding, IProgressMonitor monitor) throws SystemMessageException { - internalUpload(stream, remoteParent, remoteFile, isBinary, hostEncoding, -1, monitor); - } - - public void upload(File localFile, String remoteParent, String remoteFile, boolean isBinary, - String srcEncoding, String hostEncoding, IProgressMonitor monitor) throws SystemMessageException { - long fileSize = localFile.length(); - FileInputStream fis = null; - try { - fis = new FileInputStream(localFile); - } catch (FileNotFoundException e) { - throw new SystemUnexpectedErrorException(Activator.PLUGIN_ID); - } - //FIXME what to do with srcEncoding ? - internalUpload(fis, remoteParent, remoteFile, isBinary, hostEncoding, fileSize, monitor); - } - - public InputStream getInputStream(String remoteParent, String remoteFile, - boolean isBinary, IProgressMonitor monitor) throws SystemMessageException { - String fullPath = concat(remoteParent, remoteFile); - IRapiSession session = sessionProvider.getSession(); - try { - int handle = session.createFile(fullPath, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - return new BufferedInputStream(new WinCEInputStream(session, handle)); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public OutputStream getOutputStream(String remoteParent, String remoteFile, - int options, IProgressMonitor monitor) throws SystemMessageException { - String fullPath = concat(remoteParent, remoteFile); - IRapiSession session = sessionProvider.getSession(); - try { - int cd = Rapi.CREATE_ALWAYS; - if ((options & IFileService.APPEND) == 0) { - cd = Rapi.CREATE_ALWAYS; - } else { - cd = Rapi.OPEN_EXISTING; - } - int handle = session.createFile(fullPath, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, cd, Rapi.FILE_ATTRIBUTE_NORMAL); - return new BufferedOutputStream(new WinCEOutputStream(session, handle)); - } catch (RapiException e) { - throw new RemoteFileIOException(e); - } - } - - public String getDescription() { - return Messages.WinCEFileService_0; - } - - public String getName() { - return Messages.WinCEFileService_1; - } - - private static class WinCEInputStream extends InputStream { - - private int handle; - private IRapiSession session; - - public WinCEInputStream(IRapiSession session, int handle) { - this.handle = handle; - this.session = session; - } - - public int read() throws IOException { - byte[] b = new byte[1]; - try { - int br = session.readFile(handle, b); - return (br == -1) ? -1 : b[0]; - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - - public int read(byte[] b, int off, int len) throws IOException { - try { - return session.readFile(handle, b, off, len); - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - - public void close() throws IOException { - try { - session.closeHandle(handle); - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - - } - - private static class WinCEOutputStream extends OutputStream { - - private int handle; - private IRapiSession session; - - public WinCEOutputStream(IRapiSession session, int handle) { - this.session = session; - this.handle = handle; - } - - public void write(int b) throws IOException { - try { - session.writeFile(handle, new byte[] {(byte)b}); - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - - public void write(byte[] b, int off, int len) throws IOException { - try { - session.writeFile(handle, b, off, len); - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - - public void close() throws IOException { - try { - session.closeHandle(handle); - } catch (RapiException e) { - throw new IOException(e.getMessage()); - } - } - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEHostFile.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEHostFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEHostFile.java 2008-05-09 13:16:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/WinCEHostFile.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SftpHostFile - * Radoslav Gerganov (ProSyst) - [230850] [WinCE] Implement setLastModified and setReadOnly in WinCEFileService - *******************************************************************************/ -package org.eclipse.rse.internal.services.wince.files; - -import org.eclipse.rse.services.files.IHostFile; - -public class WinCEHostFile implements IHostFile { - - String name; - String parentPath; - boolean isDirectory; - boolean isRoot; - boolean isArchive = false; - boolean isReadable = true; - boolean isWritable = true; - boolean exists = true; - long lastModified = 0; - long size = 0; - - public WinCEHostFile(String parentPath, String name, boolean isDirectory, - boolean isRoot, boolean isWritable, long lastModified, long size) { - this.parentPath = parentPath; - this.name = name; - this.isDirectory = isDirectory; - this.isRoot = isRoot; - this.isWritable = isWritable; - this.lastModified = lastModified; - this.size = size; - } - - public boolean canRead() { - return isReadable; - } - - public boolean canWrite() { - return isWritable; - } - - public boolean exists() { - return exists; - } - - public void setExists(boolean exists) { - this.exists = exists; - } - - public String getAbsolutePath() { - if (isRoot()) { - return getName(); - } - String path = parentPath; - if (!parentPath.endsWith("\\")) { //$NON-NLS-1$ - path += "\\"; //$NON-NLS-1$ - } - path += name; - return path; - } - - public long getModifiedDate() { - return lastModified; - } - - public String getName() { - return name; - } - - public String getParentPath() { - return parentPath; - } - - public long getSize() { - return size; - } - - public boolean isArchive() { - return isArchive; - } - - public boolean isDirectory() { - return isDirectory; - } - - public boolean isFile() { - return !(isDirectory || isRoot); - } - - public boolean isHidden() { - return false; - } - - public boolean isRoot() { - return isRoot; - } - - public void renameTo(String newAbsolutePath) { - int ind = newAbsolutePath.lastIndexOf("\\"); //$NON-NLS-1$ - if (ind == -1) { - name = newAbsolutePath; - } else { - parentPath = newAbsolutePath.substring(0, ind); - name = newAbsolutePath.substring(ind+1); - } - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/messages.properties eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/messages.properties --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/messages.properties 2008-04-07 12:50:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/services/wince/files/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -############################################################################### -# Copyright (c) 2008 Radoslav Gerganov -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -############################################################################### -WinCEFileService_0=The WinCE File Service uses ActiveSync/RAPI2 to provide service to the Files subsystem on the device. -WinCEFileService_1=WinCE File Service diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/Activator.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/Activator.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/Activator.java 2008-05-06 23:21:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.rse.internal.subsystems.files.wince; - -import org.eclipse.rse.ui.SystemBasePlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends SystemBasePlugin { - - // The shared instance - private static Activator plugin; - - public final static String PLUGIN_ID = "org.eclipse.rse.subsystems.wince"; //$NON-NLS-1$ - - /** - * The constructor - */ - public Activator() { - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - - protected void initializeImageRegistry() { - //TODO - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCEFileAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCEFileAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCEFileAdapter.java 2008-06-03 16:40:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCEFileAdapter.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SftpFileAdapter - * Martin Oberhuber (Wind River) - [235363][api][breaking] IHostFileToRemoteFileAdapter methods should return AbstractRemoteFile - *******************************************************************************/ -package org.eclipse.rse.internal.subsystems.files.wince; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.rse.internal.services.wince.files.WinCEHostFile; -import org.eclipse.rse.services.files.IHostFile; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.AbstractRemoteFile; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; -import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext; - - -public class WinCEFileAdapter implements IHostFileToRemoteFileAdapter { - - public AbstractRemoteFile convertToRemoteFile(FileServiceSubSystem ss, - IRemoteFileContext context, IRemoteFile parent, IHostFile node) { - - WinCERemoteFile remoteFile = new WinCERemoteFile(ss, context, parent, (WinCEHostFile) node); - ss.cacheRemoteFile(remoteFile); - return remoteFile; - } - - public AbstractRemoteFile[] convertToRemoteFiles(FileServiceSubSystem ss, - IRemoteFileContext context, IRemoteFile parent, IHostFile[] nodes) { - - List results = new ArrayList(); - if (nodes != null) { - for (int i = 0 ; i < nodes.length ; i++) { - WinCEHostFile node = (WinCEHostFile) nodes[i]; - WinCERemoteFile remoteFile = new WinCERemoteFile(ss, context, parent, node); - results.add(remoteFile); - ss.cacheRemoteFile(remoteFile); - } - } - return (WinCERemoteFile[]) results.toArray(new WinCERemoteFile[results.size()]); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCERemoteFile.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCERemoteFile.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCERemoteFile.java 2008-03-31 12:21:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/internal/subsystems/files/wince/WinCERemoteFile.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SftpRemoteFile - *******************************************************************************/ -package org.eclipse.rse.internal.subsystems.files.wince; - -import org.eclipse.rse.internal.services.wince.files.WinCEHostFile; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.AbstractRemoteFile; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext; - - -public class WinCERemoteFile extends AbstractRemoteFile { - - public WinCERemoteFile(FileServiceSubSystem subSystem, - IRemoteFileContext context, IRemoteFile parent, WinCEHostFile hostFile) { - super(subSystem, context, parent, hostFile); - } - - public String getCanonicalPath() { - return getAbsolutePath(); - } - - public String getClassification() { - // TODO - return "unknown"; //$NON-NLS-1$ - } - - public String getEncoding() { - // override the default implementation because it causes - // infinite loop on WinCE, see bug #218947 - return getParentRemoteFileSubSystem().getRemoteEncoding(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileServiceSubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileServiceSubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileServiceSubSystem.java 2008-03-31 12:21:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileServiceSubSystem.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from FileServiceSubSystem - *******************************************************************************/ -package org.eclipse.rse.subsystems.files.wince; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.subsystems.IConnectorService; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.services.files.IFileService; -import org.eclipse.rse.services.files.IHostFile; -import org.eclipse.rse.services.search.ISearchService; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; -import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; - -public class WinCEFileServiceSubSystem extends FileServiceSubSystem { - - public WinCEFileServiceSubSystem(IHost host, IConnectorService connectorService, IFileService hostFileService, - IHostFileToRemoteFileAdapter fileAdapter, ISearchService searchService) { - super(host, connectorService, hostFileService, fileAdapter, searchService); - } - - public IRemoteFile getRemoteFileObject(String folderOrFileName, IProgressMonitor monitor) throws SystemMessageException { - String fofName = folderOrFileName.replace('/', '\\'); - IRemoteFile file = getCachedRemoteFile(fofName); - if (file != null && !file.isStale()) { - return file; - } - - // for bug 207095, implicit connect if the connection is not connected - checkIsConnected(monitor); - - if (fofName.equals("\\")) { //$NON-NLS-1$ - try { - return listRoots(null)[0]; - } catch (Exception e) { - } - } - - if (fofName.equals(".")) { //$NON-NLS-1$ - IRemoteFile userHome = getUserHome(); - if (userHome == null){ - // with 207095, it's possible that we could be trying to get user home when not connected - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_ERROR_UNEXPECTED); - throw new SystemMessageException(msg); - } - return userHome; - } - - if (fofName.endsWith("\\")) { //$NON-NLS-1$ - fofName = fofName.substring(0, fofName.length() - 1); - } - - int lastSep = fofName.lastIndexOf("\\"); //$NON-NLS-1$ - if (lastSep > -1) { - String parentPath = fofName.substring(0, lastSep); - if (parentPath.length() == 0) { - parentPath = "\\"; //$NON-NLS-1$ - } - String name = fofName.substring(lastSep + 1, fofName.length()); - - IHostFile node = getFile(parentPath, name, monitor); - if (node != null) { - IRemoteFile parent = null; - if (!node.isRoot()) { - //parent = getRemoteFileObject(parentPath); - } - return getHostFileToRemoteFileAdapter().convertToRemoteFile(this, getDefaultContext(), parent, node); - } - } - return null; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileSubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileSubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileSubSystemConfiguration.java 2008-05-10 10:29:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.subsystems.wince/src/org/eclipse/rse/subsystems/files/wince/WinCEFileSubSystemConfiguration.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - derived from SftpFileSubSystemConfiguration - *******************************************************************************/ -package org.eclipse.rse.subsystems.files.wince; - -import java.util.Vector; - -import org.eclipse.rse.core.filters.ISystemFilterPool; -import org.eclipse.rse.core.filters.ISystemFilterPoolManager; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.subsystems.IConnectorService; -import org.eclipse.rse.core.subsystems.ISubSystem; -import org.eclipse.rse.internal.connectorservice.wince.WinCEConnectorService; -import org.eclipse.rse.internal.connectorservice.wince.WinCEConnectorServiceManager; -import org.eclipse.rse.internal.services.wince.IWinCEService; -import org.eclipse.rse.internal.services.wince.files.WinCEFileService; -import org.eclipse.rse.internal.subsystems.files.wince.WinCEFileAdapter; -import org.eclipse.rse.services.clientserver.SystemSearchString; -import org.eclipse.rse.services.files.IFileService; -import org.eclipse.rse.services.search.IHostSearchResultConfiguration; -import org.eclipse.rse.services.search.IHostSearchResultSet; -import org.eclipse.rse.services.search.ISearchService; -import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory; -import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString; -import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration; -import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.ui.SystemBasePlugin; - -public class WinCEFileSubSystemConfiguration extends FileServiceSubSystemConfiguration { - - IHostFileToRemoteFileAdapter hostFileAdapter; - - public IFileService createFileService(IHost host) { - WinCEConnectorService connectorService = (WinCEConnectorService) getConnectorService(host); - return new WinCEFileService(connectorService); - } - - public ISubSystem createSubSystemInternal(IHost host) { - WinCEConnectorService connectorService = (WinCEConnectorService) getConnectorService(host); - return new WinCEFileServiceSubSystem(host, connectorService, getFileService(host), getHostFileAdapter(), getSearchService(host)); - } - - public IHostSearchResultConfiguration createSearchConfiguration(IHost host, - IHostSearchResultSet resultSet, Object searchTarget, - SystemSearchString searchString) { - return null; - } - - public ISearchService createSearchService(IHost host) { - return null; - } - - protected ISystemFilterPool createDefaultFilterPool(ISystemFilterPoolManager mgr) { - ISystemFilterPool pool = null; - try { - pool = mgr.createSystemFilterPool(getDefaultFilterPoolName(mgr.getName(), getId()), true); - - // "My Home" filter - Vector filterStrings = new Vector(); - RemoteFileFilterString myHomeFilterString = new RemoteFileFilterString(this); - myHomeFilterString.setPath("\\My Documents\\"); //$NON-NLS-1$ - filterStrings.add(myHomeFilterString.toString()); - mgr.createSystemFilter(pool, "My Home", filterStrings); //$NON-NLS-1$ - //filter.setNonChangable(true); - //filter.setSingleFilterStringOnly(true); - - // "Root Files" filter - filterStrings = new Vector(); - RemoteFileFilterString rootFilesFilterString = new RemoteFileFilterString(this); - filterStrings.add(rootFilesFilterString.toString()); - mgr.createSystemFilter(pool, "Root", filterStrings); //$NON-NLS-1$ - } catch (Exception exc) { - SystemBasePlugin.logError("Error creating default filter pool",exc); //$NON-NLS-1$ - } - return pool; - } - - public IHostFileToRemoteFileAdapter getHostFileAdapter() { - if (hostFileAdapter == null) { - hostFileAdapter = new WinCEFileAdapter(); - } - return hostFileAdapter; - } - - public ILanguageUtilityFactory getLanguageUtilityFactory( - IRemoteFileSubSystem ss) { - return null; - } - - public boolean supportsSearch() { - return false; - } - - public boolean supportsArchiveManagement() { - return false; - } - - public IConnectorService getConnectorService(IHost host) { - return WinCEConnectorServiceManager.getInstance().getConnectorService(host, getServiceImplType()); - } - - public Class getServiceImplType() { - return IWinCEService.class; - } - - public void setConnectorService(IHost host, IConnectorService connectorService) { - WinCEConnectorServiceManager.getInstance().setConnectorService(host, getServiceImplType(), connectorService); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/feature.properties 2009-05-13 22:16:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ featureName=RSE Telnet Service # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=The Remote System Explorer (RSE) telnet feature contains \ @@ -27,7 +27,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Celunite, Inc. and others.\n\ +Copyright (c) 2000, 2012 Celunite, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -44,8 +44,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -53,42 +53,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -97,47 +93,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/feature.xml 2009-08-05 15:33:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -29,8 +29,8 @@ - - + + @@ -46,8 +46,8 @@ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/license.html 2007-06-04 16:09:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.telnet + 2.3.0-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:16:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=RSE Telnet Service Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=The Remote System Explorer (RSE) telnet feature contains \ @@ -29,7 +29,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Celunite, Inc. and others.\n\ +Copyright (c) 2000, 2012 Celunite, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -46,8 +46,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -55,42 +55,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -99,47 +95,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:16:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.properties 2009-02-01 17:00:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,6 +21,6 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Celunite, Inc. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Celunite, Inc. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/build.properties 2009-05-14 08:01:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Use eclipse32.png feature image ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 08:01:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # IBM Corporation - initial API and implementation ############################################################################### pluginName=RSE Telnet Service Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.telnet-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/feature.properties 2009-05-13 22:17:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,17 +16,17 @@ featureName=RSE Terminals UI # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A Terminal View Integration for RSE Shell and Terminal Services. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2002, 2009 MontaVista Software, Inc. and others.\n\ +Copyright (c) 2002, 2012 MontaVista Software, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -40,8 +40,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -49,42 +49,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -93,47 +89,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/feature.xml 2009-11-05 17:38:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -30,8 +30,8 @@ - - + + - + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/license.html 2008-04-17 11:03:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.terminals + 1.2.1-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:17:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,17 +22,17 @@ featureName=RSE Terminals UI Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A Terminal View Integration for RSE Shell and Terminal Services. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2002, 2009 MontaVista Software, Inc. and others.\n\ +Copyright (c) 2002, 2012 MontaVista Software, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -46,8 +46,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -55,42 +55,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -99,47 +95,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/license.html 2008-04-17 11:03:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:17:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:15:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright MontaVista Software, Inc. and others 2002, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright MontaVista Software, Inc. and others 2002, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/build.properties 2009-05-26 11:41:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber (Wind River) - initial API and implementation ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/plugin.properties 2009-05-26 11:41:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,4 +13,4 @@ # NLS_ENCODING=UTF-8 pluginName=RSE Terminals UI Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.terminals-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/.cvsignore 2008-04-16 20:56:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/META-INF/MANIFEST.MF 2009-07-10 12:48:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.terminals.ui;singleton:=true -Bundle-Version: 1.0.1.qualifier +Bundle-Version: 1.2.0.qualifier Bundle-Activator: org.eclipse.rse.internal.terminals.ui.Activator Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.expressions, @@ -12,7 +12,7 @@ org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)", org.eclipse.rse.ui;bundle-version="[3.1.0,4.0.0)", org.eclipse.rse.subsystems.terminals.core;bundle-version="[1.0.0,2.0.0)", - org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-Vendor: %providerName @@ -21,5 +21,6 @@ org.eclipse.rse.internal.terminals.ui.actions;x-internal:=true, org.eclipse.rse.internal.terminals.ui.configuration.adapter;x-internal:=true, org.eclipse.rse.internal.terminals.ui.handlers;x-internal:=true, + org.eclipse.rse.internal.terminals.ui.propertypages;x-internal:=true, org.eclipse.rse.internal.terminals.ui.views;x-internal:=true Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/about.ini eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/about.ini 2009-05-13 22:17:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/about.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/about.properties 2009-02-01 15:14:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright MontaVista Software, Inc. and others 2002, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright MontaVista Software, Inc. and others 2002, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/build.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/build.properties 2009-05-14 08:00:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2009 IBM Corporation and others. +# Copyright (c) 2005, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,7 +16,7 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ plugin.properties,\ plugin.xml,\ icons/ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/plugin.properties 2009-05-26 11:40:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2008, 2009 MontaVista Software, Inc. and others. +# Copyright (c) 2008, 2011 MontaVista Software, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE Terminals UI -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project terminalsView.name = Terminals diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.terminals.ui/plugin.xml 2009-07-09 11:00:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.terminals.ui/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ @@ -36,11 +37,11 @@ @@ -49,11 +50,11 @@ @@ -114,6 +115,13 @@ subsystemConfigurationIds="ssh.terminals;ssh.files;processes.shell.linux"> + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.tests/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,35 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.tests + 3.4.1.qualifier + + eclipse-test-plugin + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.rse.tests + org.eclipse.rse.tests.RSECombinedTestSuite + true + true + org.eclipse.sdk.ide + true + false + -Drse.enableSecureStoreAccess=false + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSECombinedTestSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSECombinedTestSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSECombinedTestSuite.java 2009-02-08 22:42:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSECombinedTestSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -48,6 +48,7 @@ // add the single test suites to the overall one here. suite.addTest(org.eclipse.rse.tests.core.AllTests.suite()); + suite.addTest(org.eclipse.rse.tests.core.passwords.PasswordsTestSuite.suite()); suite.addTest(org.eclipse.rse.tests.core.connection.RSEConnectionTestSuite.suite()); suite.addTest(org.eclipse.rse.tests.core.registries.RSERegistriesTestSuite.suite()); suite.addTest(org.eclipse.rse.tests.internal.RSEInternalFrameworkTestSuite.suite()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSETestsResources.properties eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSETestsResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSETestsResources.properties 2008-10-11 15:41:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/RSETestsResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2001, 2008 IBM Corporation and others. +# Copyright (c) 2001, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ # IBM Corporation - initial API and implementation # Uwe Stieber (Wind River) - Rework test data location & connection management # Martin Oberhuber (Wind River) - [240729] More flexible disabling of testcases +# David McKnight (IBM) - [398849] [junit-tests] need to disable problemmatic tests ############################################################################### # @@ -39,6 +40,14 @@ RSENewConnectionWizardTestCase.testRestrictToSystemType=true +HostMoveTest.*=false + +RSEFileStoreTest.testDeleteSpecialCases=false +RSEFileStoreTest.testBrokenSymlink=false +RSEFileStoreTest.testModifyNonExisting=false +ScpFileSubsystemTestCase.testScpAccessToRemoteHost=false + + # # The following section controls enablement of test cases by target or client platform. # Uncomment a line to disable running unit tests on the specified target connection. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/AllTests.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/AllTests.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/AllTests.java 2008-02-13 20:10:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/AllTests.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - initial API and implementation + * Tom Hochstein (Freescale) - [301075] Host copy doesn't copy contained property sets *******************************************************************************/ package org.eclipse.rse.tests.core; @@ -31,6 +32,7 @@ TestSuite suite = new TestSuite(AllTests.class.getName()); // add the single test suites to the overall one here. suite.addTestSuite(HostMoveTest.class); + suite.addTestSuite(HostCopyTest.class); return suite; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/HostCopyTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/HostCopyTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/HostCopyTest.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/HostCopyTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,122 @@ +/******************************************************************************** + * Copyright (c) 2007, 2011 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial API and implementation. + * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType + * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods + * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry + * Martin Oberhuber (Wind River) - organize, enable and tag test cases + * Tom Hochstein (Freescale) - [301075] Host copy doesn't copy contained property sets + ********************************************************************************/ + +package org.eclipse.rse.tests.core; + +import java.util.Properties; + +import org.eclipse.rse.core.IRSESystemType; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.IProperty; +import org.eclipse.rse.core.model.IPropertySet; +import org.eclipse.rse.tests.core.connection.IRSEConnectionProperties; +import org.eclipse.rse.tests.core.connection.RSEBaseConnectionTestCase; + +/** + * Tests host copy. + */ +public class HostCopyTest extends RSEBaseConnectionTestCase { + + private IHost host = null; + + /* (non-Javadoc) + * @see org.eclipse.rse.tests.core.RSECoreTestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); + createHosts(); + } + + /* (non-Javadoc) + * @see org.eclipse.rse.tests.core.RSECoreTestCase#tearDown() + */ + protected void tearDown() throws Exception { + deleteHosts(); + super.tearDown(); + } + + /** + * Test copy of connections + */ + public void testCopy() { + //-test-author-:DavidDykstal + if (isTestDisabled()) + return; + + String setName = "Test Property Set Level 1"; //$NON-NLS-1$ + String propertyName = "Test Property Level 1"; //$NON-NLS-1$ + String propertyValue = "Level 1"; //$NON-NLS-1$ + IPropertySet ps = host.createPropertySet(setName); + assertNotNull("Failed to create property set " + setName, ps); //$NON-NLS-1$ + IProperty p = ps.addProperty(propertyName, propertyValue); + assertNotNull("Failed to create property " + propertyName, p); //$NON-NLS-1$ + assertEquals("Failed to set value for property " + propertyName, propertyValue, p.getValue()); //$NON-NLS-1$ + + String setName2 = "Test Property Set Level 2"; //$NON-NLS-1$ + String propertyName2 = "Test Property Level 2"; //$NON-NLS-1$ + String propertyValue2 = "Level 2"; //$NON-NLS-1$ + ps = ps.createPropertySet(setName2); + assertNotNull("Failed to create property set " + setName2, ps); //$NON-NLS-1$ + p = ps.addProperty(propertyName2, propertyValue2); + assertNotNull("Failed to create property " + propertyName2, p); //$NON-NLS-1$ + assertEquals("Failed to set value for property " + propertyName2, propertyValue2, p.getValue()); //$NON-NLS-1$ + + String name = host.getAliasName(); + String copyName = name + "Copy"; //$NON-NLS-1$ + IHost copy = getConnectionManager().copyConnection(host, copyName); + assertNotNull("Failed to copy connection " + name, copy); //$NON-NLS-1$ + + ps = copy.getPropertySet(setName); + assertNotNull("Failed to copy property set " + setName, ps); //$NON-NLS-1$ + p = ps.getProperty(propertyName); + assertNotNull("Failed to copy property " + propertyName, p); //$NON-NLS-1$ + assertEquals("Failed to copy value for property " + propertyName, propertyValue, p.getValue()); //$NON-NLS-1$ + + ps = ps.getPropertySet(setName2); + assertNotNull("Failed to copy property set " + setName2, ps); //$NON-NLS-1$ + p = ps.getProperty(propertyName2); + assertNotNull("Failed to copy property " + propertyName2, p); //$NON-NLS-1$ + assertEquals("Failed to copy value for property " + propertyName2, propertyValue2, p.getValue()); //$NON-NLS-1$ + + getConnectionManager().removeConnection("TestProfile", copyName); + host.removePropertySet(setName); + } + + /** + * Create the test hosts. + */ + private void createHosts() throws Exception { + + /* Common host properties */ + Properties properties = new Properties(); + properties.setProperty(IRSEConnectionProperties.ATTR_PROFILE_NAME, "TestProfile"); //$NON-NLS-1$ + properties.setProperty(IRSEConnectionProperties.ATTR_ADDRESS, "localhost"); //$NON-NLS-1$ + properties.setProperty(IRSEConnectionProperties.ATTR_SYSTEM_TYPE_ID, IRSESystemType.SYSTEMTYPE_UNIX_ID); + properties.setProperty(IRSEConnectionProperties.ATTR_USERID, "userid"); //$NON-NLS-1$ + properties.setProperty(IRSEConnectionProperties.ATTR_PASSWORD, "password"); //$NON-NLS-1$ + IRSEConnectionProperties props = getConnectionManager().loadConnectionProperties(properties, false); + + String hostName = "TestHost"; + properties.setProperty(IRSEConnectionProperties.ATTR_NAME, hostName); + host = getConnectionManager().findOrCreateConnection(props); + assertNotNull("Failed to create connection " + props.getProperty(IRSEConnectionProperties.ATTR_NAME), host); //$NON-NLS-1$ + } + + private void deleteHosts() { + RSECorePlugin.getTheSystemRegistry().deleteHost(host); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/IRSEConnectionManager.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/IRSEConnectionManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/IRSEConnectionManager.java 2008-05-29 22:17:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/IRSEConnectionManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Uwe Stieber (Wind River) - initial API and implementation + * Tom Hochstein (Freescale) - [301075] Host copy doesn't copy contained property sets *******************************************************************************/ package org.eclipse.rse.tests.core.connection; @@ -61,6 +62,26 @@ public IRSEConnectionProperties loadConnectionProperties(Properties properties, boolean allowDefaults); /** + * Finds the connection given by the specified name/label from the specified + * system profile. The method will do nothing if either the system profile or + * the connection does not exist. + * + * @param profileName The system profile to look for the connection. Must be not null. + * @param name The name of the connection to find. Must be not null. + * @return The found connection, or null if failed. + */ + public IHost findConnection(String profileName, String name); + + /** + * Copies the connection. + * + * @param connection The connection to copy. Must be not null. + * @param copyName The name of the new connection. Must be not null. + * @return The copied connection, or null if failed. + */ + public IHost copyConnection(IHost connection, String copyName); + + /** * Removes the connection given by the specified name/label from the specified * system profile. The method will do nothing if either the system profile or * the connection does not exist. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestCase.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestCase.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestCase.java 2008-11-12 12:50:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestCase.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,19 +11,14 @@ * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * David McKnight (IBM) - [186363] get rid of obsolete calls to SubSystem.connect() * Martin Oberhuber (Wind River) - organize, enable and tag test cases + * Martin Oberhuber (Wind River) - [247908] extract testBug255023 ********************************************************************************/ package org.eclipse.rse.tests.core.connection; import java.util.Properties; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.ISystemProfile; import org.eclipse.rse.core.model.ISystemRegistry; @@ -63,59 +58,6 @@ } /** - * Creating/disposing elements in the systemView can lead - * to "Widget is disposed" exception when Refresh is called - * rarely so there is much to refresh. This might be due to - * the elementComparer only comparing by absolute name. - */ - public void testBug255023() throws Exception { - // -test-author-:MartinOberhuber - if (isTestDisabled()) - return; - Job j = new Job("testBug255023") { - - protected IStatus run(IProgressMonitor monitor) { - try { - ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry(); - ISystemProfile prof = sr.createSystemProfile("Foo", true); - IRSESystemType st = RSECorePlugin.getTheCoreRegistry().getSystemTypeById(IRSESystemType.SYSTEMTYPE_SSH_ONLY_ID); - IHost h1 = sr.createHost("Foo", st, "vxsim0", "localhost", "vxsim0"); - IHost h2 = sr.createHost("Foo", st, "vxsim1", "localhost", "vxsim1"); - IHost h3 = sr.createHost("Foo", st, "vxsim2", "localhost", "vxsim2"); - sr.fireEvent(new SystemResourceChangeEvent(sr, ISystemResourceChangeEvents.EVENT_REFRESH, null)); - // flushEventQueue(); - Thread.sleep(10000); - sr.deleteHost(h1); - sr.deleteHost(h2); - sr.deleteHost(h3); - // // Firing a refresh event here, after deleting the hosts - // // but before adding the new one, makes the bug - // disappear. - // // Perhaps a correct fix would be that our content - // provider - // // refreshes the view right away by means of a listener, - // // instead of relying on forced manual refresh only. - // sr.fireEvent(new SystemResourceChangeEvent(sr, - // ISystemResourceChangeEvents.EVENT_REFRESH, null)); - IHost h4 = sr.createHost("Foo", st, "vxsim1", "localhost", "vxsim1"); - sr.fireEvent(new SystemResourceChangeEvent(sr, ISystemResourceChangeEvents.EVENT_REFRESH, null)); - // flushEventQueue(); // will throw exception in main Thread! - Thread.sleep(10000); - sr.deleteSystemProfile(prof); - } catch (Exception e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - return Status.OK_STATUS; - } - }; - j.schedule(); - while (j.getState() != Job.NONE) { - flushEventQueue(); - } - } - - /** * Test creation of connections. */ public void testConnectionCreation() { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestSuite.java 2006-12-21 10:58:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/RSEConnectionTestSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,11 +1,12 @@ /* ******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * David Dykstal (IBM) - initial contribution. + * Martin Oberhuber (Wind River) - [247908] extract testBug255023 * *******************************************************************************/ package org.eclipse.rse.tests.core.connection; @@ -44,6 +45,8 @@ TestSuite suite = new TestSuite("RSE Connection Test Suite"); //$NON-NLS-1$ // add the single test suites to the overall one here. suite.addTestSuite(RSEConnectionTestCase.class); + // TODO currently fails - see bug 255023 + //suite.addTestSuite(TestBug255023.class); return suite; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/TestBug255023.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/TestBug255023.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/TestBug255023.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/connection/TestBug255023.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,86 @@ +/******************************************************************************** + * Copyright (c) 2006, 2010 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Oberhuber (Wind River) - [247908] extract from RSEConnectionTestCase + ********************************************************************************/ +package org.eclipse.rse.tests.core.connection; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.rse.core.IRSESystemType; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.events.ISystemResourceChangeEvents; +import org.eclipse.rse.core.events.SystemResourceChangeEvent; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.ISystemProfile; +import org.eclipse.rse.core.model.ISystemRegistry; + +/** + * Basic connection tests. + */ +public class TestBug255023 extends RSEBaseConnectionTestCase { + + public TestBug255023(String name) { + super(name); + } + + /** + * Creating/disposing elements in the systemView can lead + * to "Widget is disposed" exception when Refresh is called + * rarely so there is much to refresh. This might be due to + * the elementComparer only comparing by absolute name. + */ + public void testBug255023() throws Exception { + // -test-author-:MartinOberhuber + if (isTestDisabled()) + return; + Job j = new Job("testBug255023") { + + protected IStatus run(IProgressMonitor monitor) { + try { + ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry(); + ISystemProfile prof = sr.createSystemProfile("Foo", true); + IRSESystemType st = RSECorePlugin.getTheCoreRegistry().getSystemTypeById(IRSESystemType.SYSTEMTYPE_SSH_ONLY_ID); + IHost h1 = sr.createHost("Foo", st, "vxsim0", "localhost", "vxsim0"); + IHost h2 = sr.createHost("Foo", st, "vxsim1", "localhost", "vxsim1"); + IHost h3 = sr.createHost("Foo", st, "vxsim2", "localhost", "vxsim2"); + sr.fireEvent(new SystemResourceChangeEvent(sr, ISystemResourceChangeEvents.EVENT_REFRESH, null)); + // flushEventQueue(); + Thread.sleep(10000); + sr.deleteHost(h1); + sr.deleteHost(h2); + sr.deleteHost(h3); + // // Firing a refresh event here, after deleting the hosts + // // but before adding the new one, makes the bug + // disappear. + // // Perhaps a correct fix would be that our content + // provider + // // refreshes the view right away by means of a listener, + // // instead of relying on forced manual refresh only. + // sr.fireEvent(new SystemResourceChangeEvent(sr, + // ISystemResourceChangeEvents.EVENT_REFRESH, null)); + IHost h4 = sr.createHost("Foo", st, "vxsim1", "localhost", "vxsim1"); + sr.fireEvent(new SystemResourceChangeEvent(sr, ISystemResourceChangeEvents.EVENT_REFRESH, null)); + // flushEventQueue(); // will throw exception in main Thread! + Thread.sleep(10000); + sr.deleteSystemProfile(prof); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + return Status.OK_STATUS; + } + }; + j.schedule(); + while (j.getState() != Job.NONE) { + flushEventQueue(); + } + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/OriginalPasswordPersistenceManager.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/OriginalPasswordPersistenceManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/OriginalPasswordPersistenceManager.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/OriginalPasswordPersistenceManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,675 @@ +/* + * This class copied from org.eclipse.rse.core to use to populate the old password store for + * migration testing. No source changes have been made other than those + * required to compile in a different package. Class was also renamed to prevent + * confusion in the testcase. + */ + +/******************************************************************************** + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight, Kushal Munir, + * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, + * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. + * + * Contributors: + * David Dykstal (IBM) - moved from core package in the UI plugin + * - updated to use new RSEPreferencesManager + * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType + * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods + * Martin Oberhuber (Wind River) - [186640] Add IRSESystemType.testProperty() + * Martin Oberhuber (Wind River) - [218655][api] Provide SystemType enablement info in non-UI + * Martin Oberhuber (Wind River) - [cleanup] Add API "since" Javadoc tags + * David Dykstal (IBM) - [210474] Deny save password function missing + ********************************************************************************/ + +package org.eclipse.rse.tests.core.passwords; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.rse.core.AbstractRSESystemType; +import org.eclipse.rse.core.IRSESystemType; +import org.eclipse.rse.core.RSECorePlugin; +import org.eclipse.rse.core.RSEPreferencesManager; +import org.eclipse.rse.core.model.SystemSignonInformation; +import org.eclipse.rse.internal.core.RSECoreMessages; +import org.osgi.framework.Bundle; + + +/** + * PasswordPersistenceManager manages the saving and retrieving of user ID / + * passwords to the Eclipse keyring for registered system types. + * + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. Use + * the {@link #getInstance()} method to get the singleton + * instance. + */ +public class OriginalPasswordPersistenceManager { + + // Keys used for using the Platform authorization methods + // The server url is generic so we can lookup all registered user IDs / passwords + // to display to the user in the password information preference page + private static final String SERVER_URL = "file://rse"; //$NON-NLS-1$ + + private static final String AUTH_SCHEME = ""; // no authorization scheme specified for apis //$NON-NLS-1$ + + // Add return codes + public static final int RC_OK = 0; + public static final int RC_ALREADY_EXISTS = 1; + /** @since org.eclipse.rse.core 3.0 */ + public static final int RC_DENIED = 2; + public static final int RC_ERROR = -1; + + // Default System Type, on a lookup if the specified system type and hostname is not found + // then the call will automatically lookup the default system type and hostname + public static final IRSESystemType DEFAULT_SYSTEM_TYPE = new DefaultSystemType(); + + // Default user name + public static final String DEFAULT_USER_NAME = "DEFAULT_USER"; //$NON-NLS-1$ + + // New URL to store password map + private String newURL = null; + + /* + * Singleton instance + */ + private static OriginalPasswordPersistenceManager _instance; + + /* + * Instance variables + */ + private RegisteredSystemType[] systemTypes; + + /** + * Default System Type + */ + private static class DefaultSystemType extends AbstractRSESystemType implements IRSESystemType + { + private static final String DEFAULT_ID = "DEFAULT"; //$NON-NLS-1$ + private DefaultSystemType() { + super(DEFAULT_ID, DEFAULT_ID, RSECoreMessages.DefaultSystemType_Label, null, null); + } + public String getId() { + //TODO consider a space character at the beginning to ensure uniqueness + return DEFAULT_ID; + } + public String[] getSubsystemConfigurationIds() { + return null; + } + public Object getAdapter(Class adapter) { + return null; + } + public boolean isEnabled() { + return true; + } + } + + /** + * Inner class used for storing registered system types + */ + private class RegisteredSystemType + { + private IRSESystemType _systemType; + private boolean _userIDCaseSensitive; + + protected RegisteredSystemType(IRSESystemType systemType, boolean caseSensitive) + { + _systemType = systemType; + _userIDCaseSensitive = caseSensitive; + } + + /** + * Returns the system type. + * @return the system type. + */ + public IRSESystemType getSystemType() { + return _systemType; + } + + /** + * Returns whether the user ID is case sensitive. + * @return true if the user ID is case sensitive, false otherwise. + */ + public boolean isUserIDCaseSensitive() { + return _userIDCaseSensitive; + } + } + + /** + * Singleton so private constructor + */ + private OriginalPasswordPersistenceManager(){ + String userName = System.getProperty("user.name"); //$NON-NLS-1$ + + if (userName == null) { + userName = DEFAULT_USER_NAME; + } + + newURL = SERVER_URL + userName; + } + + /** + * Tests the existence of the Eclipse authorization API by looking for installation of the bundle containing the API. + * This method was added for testing purposes. + * @return true if the API is installed. + * @since org.eclipse.rse.core 3.4 + */ + public static boolean isActive() { + Bundle authorizationBundle = Platform.getBundle("org.eclipse.core.runtime.compatibility.auth"); //$NON-NLS-1$ + boolean result = (authorizationBundle != null); + return result; + } + + /** + * Retrieve the singleton instance of the PasswordPersistenceManger + */ + public static final synchronized OriginalPasswordPersistenceManager getInstance() + { + if (_instance == null) + { + _instance = new OriginalPasswordPersistenceManager(); + _instance.initExtensions(); + } + return _instance; + } + + /* + * initialization - register system types + */ + private void initExtensions() + { + IRSESystemType[] sysTypes = RSECorePlugin.getTheCoreRegistry().getSystemTypes(); + systemTypes = new RegisteredSystemType[sysTypes.length]; + + for (int i = 0; i < sysTypes.length; i++) { + systemTypes[i] = new RegisteredSystemType(sysTypes[i], true); + } + } + + /** + * Remove the entry from the keyring that matches the systemtype, hostname and + * user ID from the SystemSignonInfo parameter. + */ + public void remove(SystemSignonInformation info) + { + remove(info.getSystemType(), info.getHostname(), info.getUserId()); + } + + /** + * Removes all passwords for a host name for a given system type. Use the + * default system type explicitly to remove those entries. + * + * @param systemType The system type of the host + * @param hostName The IP address of the host in canonical format + * @return the number of passwords removed from the keyring + * @since org.eclipse.rse.core 3.0 + */ + public int remove(IRSESystemType systemType, String hostName) { + Map passwords = getPasswordMap(systemType); + int numberRemoved = 0; + if (passwords != null) { + String hostPrefix = hostName + "//"; //$NON-NLS-1$ + Set keys = passwords.keySet(); + for (Iterator z = keys.iterator(); z.hasNext();) { + String key = (String) z.next(); + if (key.startsWith(hostPrefix)) { + z.remove(); // safely removes the key and the entry from the map + numberRemoved++; + } + } + if (numberRemoved > 0) { + savePasswordMap(systemType.getId(), passwords); + } + } + return numberRemoved; + } + + /** + * Removes all entries from the keyring that match the hostname, userid, and system type. + * Use the default system type explicitly to remove those entries. + * @param systemType the systemType + * @param hostName the connection name + * @param userid the user id + */ + public void remove(IRSESystemType systemType, String hostName, String userid) { + String hostname = hostName;//RSEUIPlugin.getQualifiedHostName(hname); + // Convert userid to upper case if required + if (!isUserIDCaseSensitive(systemType)) { + userid = userid.toUpperCase(); + } + Map passwords = getPasswordMap(systemType); + if (passwords != null) { + if (removePassword(passwords, hostname, userid)) { + savePasswordMap(systemType.getId(), passwords); + } + } + } + + /** + * Check if a password entry exists for the specified system type, hostname + * and userid. + */ + public boolean passwordExists(IRSESystemType systemtype, String hostname, String userid) + { + + return passwordExists(systemtype, hostname, userid, true); + } + + /** + * Check if a password entry exists for the specified system type, hostname + * and userid. + * + * @param systemtype The system type to check for. + * @param hname The hostname to check for. + * @param userid The user ID to check for. + * @param checkDefault Whether or not to check for a default system type if the specified system type is not found. + */ + public boolean passwordExists(IRSESystemType systemtype, String hname, String userid, boolean checkDefault) + { + String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); + return (find(systemtype, hostname, userid) != null); + } + + /** + * Add a password to the password database. + * This will not update the entry for the default system type + * @param info The signon information to store + * @param overwrite Whether to overwrite any existing entry + * @return + * RC_OK if the password was successfully stored + * RC_ALREADY_EXISTS if the password already exists and overwrite was false + */ + public int add(SystemSignonInformation info, boolean overwrite) { + return add(info, overwrite, false); + } + + /** + * Add a password to the password database. + * @param info The signon information to store + * @param overwrite If true then overwrite the existing entry for this systemtype, hostname, and userid. + * @param updateDefault if true then set the entry for the default systemtype, hostname, and user ID, according to the overwrite setting. + * @return + * RC_OK if the password was successfully stored. + * RC_ALREADY_EXISTS if the password already exists and overwrite was false + * RC_DENIED if passwords may not be saved for this system type and host + */ + public int add(SystemSignonInformation info, boolean overwrite, boolean updateDefault) { + int result = RC_OK; + IRSESystemType systemType = info.getSystemType(); + String hostName = info.getHostname(); + String userId = info.getUserId(); + String newPassword = info.getPassword(); + boolean deny = RSEPreferencesManager.getDenyPasswordSave(systemType, hostName); + if (!deny) { + if (!isUserIDCaseSensitive(systemType)) { + userId = userId.toUpperCase(); + info.setUserId(userId); + } + if (updateDefault) { + if (systemType != DEFAULT_SYSTEM_TYPE) { + SystemSignonInformation newInfo = new SystemSignonInformation(hostName, userId, newPassword, DEFAULT_SYSTEM_TYPE); + result = add(newInfo, overwrite, false); + } + } + Map passwords = getPasswordMap(systemType); + if (passwords == null) { + passwords = new HashMap(5); + } + String oldPassword = getPassword(passwords, hostName, userId); + if (oldPassword != null) { + if (overwrite) { + removePassword(passwords, hostName, userId); + } else { + result = RC_ALREADY_EXISTS; + } + } + if (result == RC_OK) { + String passwordKey = getPasswordKey(hostName, userId); + passwords.put(passwordKey, newPassword); + savePasswordMap(systemType.getId(), passwords); + } + } else { + result = RC_DENIED; + } + return result; + } + + /* + * Retrieve the password map from the keyring for the specified system type + */ + private Map getPasswordMap(IRSESystemType systemType) + { + Map passwords = null; + String systemTypeId = systemType.getId(); + + try + { + URL serverURL = new URL(newURL); + passwords = Platform.getAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME); + + // if no passwords found with new URL, check old URL + if (passwords == null) { + + URL oldServerURL1 = new URL(SERVER_URL + ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); + passwords = Platform.getAuthorizationInfo(oldServerURL1, systemTypeId, AUTH_SCHEME); + + // passwords found, so migrate to using new URL + if (passwords != null) { + savePasswordMap(systemTypeId, passwords); + } + // if still no passwords found, check with even older URL + else { + URL oldServerURL2 = new URL(SERVER_URL); + passwords = Platform.getAuthorizationInfo(oldServerURL2, systemTypeId, AUTH_SCHEME); + + // passwords found, so migrate to using new URL + if (passwords != null) { + savePasswordMap(systemTypeId, passwords); + } + } + } + } + catch (MalformedURLException e) { + RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.getPasswordMap", e); //$NON-NLS-1$ + } + + return passwords; + } + + /* + * Retrieve the password map from the keyring for the specified system type + */ + private void savePasswordMap(String systemTypeId, Map passwords) + { + try + { + URL serverURL = new URL(newURL); + Platform.flushAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME); + Platform.addAuthorizationInfo(serverURL, systemTypeId, AUTH_SCHEME, passwords); + } + catch (MalformedURLException e) { + RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.savePasswordMap", e); //$NON-NLS-1$ + } + catch (CoreException e) { + RSECorePlugin.getDefault().getLogger().logError("PasswordPersistenceManager.savePasswordMap", e); //$NON-NLS-1$ + } + } + + /** + * Find the password for the specified systemtype, hostname and userid. + * If one is not found then the default system type is used. + * The system type in the signon information returned may not be the same as the system type + * specfied in the argument. + */ + public SystemSignonInformation find(IRSESystemType systemtype, String hostname, String userid) + { + return find(systemtype, hostname, userid, true); + } + + + private boolean removePassword(Map passwords, String hostname, String userid) + { + boolean removed = false; + String password = null; + + String passwordKey = getPasswordKey(hostname, userid); + password =(String) passwords.get(passwordKey); + if (password != null) + { + passwords.remove(passwordKey); + removed = true; + } + else + { + String phostname = hostname.toUpperCase(); + + // DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames + Iterator keys = passwords.keySet().iterator(); + while (keys.hasNext() && password == null) + { + String key = (String)keys.next(); + if (key.equalsIgnoreCase(passwordKey)) + { + password = (String) passwords.get(key); + } + else + { + String khostname = getHostnameFromPasswordKey(key).toUpperCase(); + String kuid = getUserIdFromPasswordKey(key); + if (kuid.equalsIgnoreCase(userid)) + { + // uid matches, check if hosts are the same + if (khostname.startsWith(phostname) || phostname.startsWith(khostname)) + { + String qkhost = RSECorePlugin.getQualifiedHostName(khostname); + String qphost = RSECorePlugin.getQualifiedHostName(phostname); + if (qkhost.equals(qphost)) + { + password = (String)passwords.get(key); + } + } + } + } + if (password != null) + { + passwords.remove(key); + removed = true; + + } + } + } + return removed; + + } + + private String getPassword(Map passwords, String hostname, String userid) + { + String password = null; + + String passwordKey = getPasswordKey(hostname, userid); + password =(String) passwords.get(passwordKey); + if (password != null) + return password; + + String phostname = hostname.toUpperCase(); + + // DKM - fallback for different case uids, hostnames or qualified/unqualified hostnames + Iterator keys = passwords.keySet().iterator(); + while (keys.hasNext() && password == null) + { + String key = (String)keys.next(); + if (key.equalsIgnoreCase(passwordKey)) + { + password = (String) passwords.get(key); + } + else + { + String khostname = getHostnameFromPasswordKey(key).toUpperCase(); + String kuid = getUserIdFromPasswordKey(key); + if (kuid.equalsIgnoreCase(userid)) + { + // uid matches, check if hosts are the same + if (khostname.startsWith(phostname) || phostname.startsWith(khostname)) + { + String qkhost = RSECorePlugin.getQualifiedHostName(khostname); + String qphost = RSECorePlugin.getQualifiedHostName(phostname); + if (qkhost.equals(qphost)) + { + password = (String)passwords.get(key); + } + } + } + } + } + + return password; + + } + + /** + * Find the persisted password for the specified systemtype, hostname and userid. + * + * @param systemtype The system type to check for. + * @param hname The hostname to check for. + * @param userid The user ID to check for. + * @param checkDefault Whether or not to check for a default system type if the specified system type is not found. + */ + public SystemSignonInformation find(IRSESystemType systemtype, String hname, String userid, boolean checkDefault) + { + String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); + // Convert userid to upper case if required + if (!isUserIDCaseSensitive(systemtype) && userid != null) + { + userid = userid.toUpperCase(); + } + + Map passwords = getPasswordMap(systemtype); + + if (passwords != null) + { + String password = getPassword(passwords, hostname, userid); + + if (password != null) + { + return new SystemSignonInformation(hostname, userid, password, systemtype); + } + } + + // yantzi: RSE6.2 check for default system type entry with this hostname and user ID + if (checkDefault && !DEFAULT_SYSTEM_TYPE.equals(systemtype)) + { + return find(DEFAULT_SYSTEM_TYPE, hostname, userid, false); + } + + return null; + } + + /** + * Helper class for building the key to lookup the password for a specific + * userid and hostname in the Map + */ + private String getPasswordKey(String hname, String userid) + { + String hostname = hname;//RSEUIPlugin.getQualifiedHostName(hname); + StringBuffer buffer = new StringBuffer(hostname); + buffer.append("//"); //$NON-NLS-1$ + buffer.append(userid); + return buffer.toString(); + } + + private String getHostnameFromPasswordKey(String passwordKey) + { + int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ + return passwordKey.substring(0,sepIndex); + } + + private String getUserIdFromPasswordKey(String passwordKey) + { + int sepIndex = passwordKey.indexOf("//"); //$NON-NLS-1$ + return passwordKey.substring(sepIndex + 2, passwordKey.length()); + } + + /** + * Helper method for determining if system type uses case sensitive user IDs + */ + public boolean isUserIDCaseSensitive(IRSESystemType systemType) + { + // First find the correct provider + for (int i = 0; i < systemTypes.length; i++) + { + + if (systemTypes[i].getSystemType().equals(systemType)) + { + return systemTypes[i].isUserIDCaseSensitive(); + } + } + + //Not found: Default system type is case sensitive + return true; + } + + /** + * Retrieve the list of registered system types + */ + public IRSESystemType[] getRegisteredSystemTypes() + { + // yantzi: artemis 6.2, added default system type to list + IRSESystemType[] types = new IRSESystemType[systemTypes.length + 1]; + + types[0] = DEFAULT_SYSTEM_TYPE; + + for (int i = 0; i < systemTypes.length; i++) + { + types[i + 1] = systemTypes[i].getSystemType(); + } + + return types; + } + + /** + * Retrieve a list of the stored user IDs. + * + * @return List A list of the stored user IDs as SystemSignonInformation instances + * without the saved passwords. + */ + public List getSavedUserIDs() + { + List savedUserIDs = new ArrayList(); + Map passwords; + String key; + int separator; + + for (int i = 0; i < systemTypes.length; i++) + { + passwords = getPasswordMap(systemTypes[i].getSystemType()); + if (passwords != null) + { + Iterator keys = passwords.keySet().iterator(); + while (keys.hasNext()) + { + key = (String) keys.next(); + separator = key.indexOf("//"); //$NON-NLS-1$ + savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname + key.substring(separator + 2), // userid + systemTypes[i].getSystemType())); // system type + } + } + } + + // yantzi: RSE 6.2 Get DEFAULT system types too + passwords = getPasswordMap(DEFAULT_SYSTEM_TYPE); + if (passwords != null) + { + Iterator keys = passwords.keySet().iterator(); + while (keys.hasNext()) + { + key = (String) keys.next(); + separator = key.indexOf("//"); //$NON-NLS-1$ + savedUserIDs.add(new SystemSignonInformation(key.substring(0, separator), // hostname + key.substring(separator + 2), // userid + DEFAULT_SYSTEM_TYPE)); // system type + } + } + + return savedUserIDs; + } + +} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/PasswordsTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/PasswordsTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/PasswordsTest.java 2008-07-14 21:48:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/passwords/PasswordsTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,15 +1,18 @@ /******************************************************************************** - * Copyright (c) 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2008, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * David Dykstal (IBM) - [210474] Deny save password function missing + * David Dykstal (IBM) - [379787] Fix secure storage usage in org.eclipse.rse.tests ********************************************************************************/ package org.eclipse.rse.tests.core.passwords; +import java.util.List; + import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.PasswordPersistenceManager; import org.eclipse.rse.core.RSEPreferencesManager; @@ -28,6 +31,7 @@ */ protected void setUp() throws Exception { super.setUp(); +// System.setProperty("rse.enableSecureStoreAccess", "false"); } /* (non-Javadoc) @@ -39,8 +43,8 @@ public void testAddRemove() { //-test-author-:DavidDykstal - if (isTestDisabled()) - return; + if (isTestDisabled()) return; + if ("false".equals(System.getProperty("rse.enableSecureStoreAccess"))) return; IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_UNIX_ID); IRSESystemType defaultSystemType = PasswordPersistenceManager.DEFAULT_SYSTEM_TYPE; String hostAddress = "somesystem.mycompany.com"; @@ -93,8 +97,8 @@ public void testSaveDenial() { //-test-author-:DavidDykstal - if (isTestDisabled()) - return; + if (isTestDisabled()) return; + if ("false".equals(System.getProperty("rse.enableSecureStoreAccess"))) return; IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_UNIX_ID); String hostAddress = "somesystem.mycompany.com"; boolean deny = RSEPreferencesManager.getDenyPasswordSave(systemType, hostAddress); @@ -134,4 +138,122 @@ assertNull("signon info was found but should not be", returnedInfo); } + public void testMigration() { + //-test-author-:DavidDykstal + if (isTestDisabled()) return; + if ("false".equals(System.getProperty("rse.enableSecureStoreAccess"))) return; + + // Setup + IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_LOCAL_ID); + PasswordPersistenceManager newPPM = PasswordPersistenceManager.getInstance(); + if (OriginalPasswordPersistenceManager.isActive()) { + OriginalPasswordPersistenceManager oldPPM = OriginalPasswordPersistenceManager.getInstance(); + + // Clear the new manager entries for those system types. + newPPM.reset(systemType); + + // Populate the old manager with some entries. + oldPPM.add(new SystemSignonInformation("myhost.mycompany.com", "me", "password", systemType), true, false); + oldPPM.add(new SystemSignonInformation("yourhost.yourcompany.com", "you", "xxyyzz", systemType), true, false); + oldPPM.add(new SystemSignonInformation("LOUDHOST.mycompany.com", "thatguy", "abc", systemType), true, false); + + // Reference the new manager for the entries, these should migrate automatically. + SystemSignonInformation foundInfo = null; + foundInfo = newPPM.find(systemType, "myhost.mycompany.com", "me"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "password"); + foundInfo = newPPM.find(systemType, "yourhost.yourcompany.com", "you"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "xxyyzz"); + foundInfo = newPPM.find(systemType, "LOUDHOST.mycompany.com", "thatguy"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "abc"); + } + + } + + public void testAliasing() { + //-test-author-:DavidDykstal + if (isTestDisabled()) return; + if ("false".equals(System.getProperty("rse.enableSecureStoreAccess"))) return; + IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_LOCAL_ID); + PasswordPersistenceManager ppm = PasswordPersistenceManager.getInstance(); + ppm.add(new SystemSignonInformation("LOUDHOST.mycompany.com", "thatguy", "abc", systemType), true, false); + SystemSignonInformation foundInfo = ppm.find(systemType, "LOUDHOST.mycompany.com", "thatguy"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "abc"); + foundInfo = ppm.find(systemType, "loudhost.mycompany.com", "thatguy"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "abc"); + foundInfo = ppm.find(systemType, "loudhost.MyCompany.com", "thatguy"); + assertNotNull(foundInfo); + assertEquals(foundInfo.getPassword(), "abc"); + } + + public void testBadArgs() { + if (isTestDisabled()) return; + if ("false".equals(System.getProperty("rse.enableSecureStoreAccess"))) return; + IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_LOCAL_ID); + PasswordPersistenceManager ppm = PasswordPersistenceManager.getInstance(); + ppm.add(new SystemSignonInformation("myhost.mycompany.com", "me", "password", systemType), true, false); + SystemSignonInformation info = ppm.find(systemType, "myhost.mycompany.com", null); + assertNull(info); + } + + public void testDisabledSecureStore() { + //-test-author-:DavidDykstal + if (isTestDisabled()) return; + String key = "rse.enableSecureStoreAccess"; + String valueOnEntry = System.getProperty(key); + System.setProperty(key, "false"); + PasswordPersistenceManager ppm = PasswordPersistenceManager.getInstance(); + IRSESystemType systemType = RSECoreRegistry.getInstance().getSystemType(IRSESystemType.SYSTEMTYPE_UNIX_ID); + String hostAddress = "somesystem.mycompany.com"; + String password = "password"; + String userId = "me"; + SystemSignonInformation info = new SystemSignonInformation(hostAddress, userId, password, systemType); + + // try saving and retrieving a password + int result = ppm.add(info, true); + assertEquals("result of first add was not RC_DENIED", PasswordPersistenceManager.RC_DENIED, result); + result = ppm.add(info, true, true); + assertEquals("result of second add was not RC_DENIED", PasswordPersistenceManager.RC_DENIED, result); + SystemSignonInformation returnedInfo = ppm.find(systemType, hostAddress, userId); + assertNull("signon info was found and should not be", returnedInfo); + + // test passwords for existence + assertFalse("found signon information where none should exist (1)", ppm.passwordExists(systemType, hostAddress, userId)); + assertFalse("found signon information where none should exist (2)", ppm.passwordExists(systemType, hostAddress, userId, false)); + assertFalse("found signon information where none should exist (3)", ppm.passwordExists(systemType, hostAddress, userId, true)); + + // try finding password info + returnedInfo = ppm.find(systemType, hostAddress, userId); + assertNull("signon info was found and should not be (1)", returnedInfo); + returnedInfo = ppm.find(systemType, hostAddress, userId, false); + assertNull("signon info was found but should not be (2)", returnedInfo); + returnedInfo = ppm.find(systemType, hostAddress, userId, true); + assertNull("signon info was found but should not be (3)", returnedInfo); + + // try removal + ppm.remove(info); + ppm.remove(systemType, hostAddress, userId); + assertEquals("passwords were removed but none should be (2)", 0, ppm.remove(systemType, hostAddress)); + + // get system types + IRSESystemType[] systemTypes = ppm.getRegisteredSystemTypes(); + assertNotNull("returned system types is null", systemTypes); + assertTrue("no system types were found", systemTypes.length > 0); + + // get saved user ids + @SuppressWarnings("rawtypes") + List userInfo = ppm.getSavedUserIDs(); + assertTrue("user info was found where none should exist", userInfo.size() == 0); + + if (valueOnEntry == null) { + System.clearProperty(key); + } else { + System.setProperty(key, valueOnEntry); + } + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/registries/SubSystemConfigurationProxyTestCase.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/registries/SubSystemConfigurationProxyTestCase.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/registries/SubSystemConfigurationProxyTestCase.java 2008-07-25 13:21:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/core/registries/SubSystemConfigurationProxyTestCase.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -114,7 +114,7 @@ if ("org.eclipse.rse.tests.subsystems.TestSubSystem3".equals(proxy.getId())) { //$NON-NLS-1$ assertEquals("Unexpected return value for proxy.getDescription()!", "Test Subsystem 3", proxy.getDescription()); //$NON-NLS-1$ //$NON-NLS-2$ - assertEquals("Unexpected return value for proxy.getVendor()!", "Eclipse.org", proxy.getVendor()); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals("Unexpected return value for proxy.getVendor()!", "Eclipse TM Project", proxy.getVendor()); //$NON-NLS-1$ //$NON-NLS-2$ assertEquals("Unexpected return value for proxy.getName()!", "Tests3", proxy.getName()); //$NON-NLS-1$ //$NON-NLS-2$ assertEquals("Unexpected return value for proxy.getDeclaredSystemTypeIds()!", "org.eclipse.rse.systemtype.*n?x", proxy.getDeclaredSystemTypeIds()); //$NON-NLS-1$ //$NON-NLS-2$ assertFalse("Unexpected return value true for proxy.supportsAllSystemTypes()!", proxy.supportsAllSystemTypes()); //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/decorators/RSEModelObjectTestDecorator.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/decorators/RSEModelObjectTestDecorator.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/decorators/RSEModelObjectTestDecorator.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/decorators/RSEModelObjectTestDecorator.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2010 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Uwe Stieber (Wind River) - initial API and implementation + *******************************************************************************/ + +package org.eclipse.rse.tests.decorators; + +import org.eclipse.jface.viewers.ILabelDecorator; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.swt.graphics.Image; + +/** + * RSE Model Object test decorator. + * + * @since 3.2 + */ +public class RSEModelObjectTestDecorator extends LabelProvider implements ILabelDecorator { + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object) + */ + public Image decorateImage(Image image, Object element) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object) + */ + public String decorateText(String text, Object element) { + return text + " (RSE Test Decoration)"; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/RSEConnectionManager.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/RSEConnectionManager.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/RSEConnectionManager.java 2009-08-06 20:56:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/internal/RSEConnectionManager.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [219086] flush event queue to shield tests from each other * David Dykstal (IBM) - [210474] Deny save password function missing * Martin Oberhuber (Wind River) - Support REXEC launch type for dstore + * Tom Hochstein (Freescale) - [301075] Host copy doesn't copy contained property sets *******************************************************************************/ package org.eclipse.rse.tests.internal; @@ -168,6 +169,40 @@ return resultProperties != null ? new RSEConnectionProperties(resultProperties) : (IRSEConnectionProperties)null; } + /* (non-Javadoc) + * @see org.eclipse.rse.tests.core.connection.IRSEConnectionManager#copyConnection(java.lang.String, java.lang.String, java.lang.String) + */ + public IHost findConnection(String profileName, String name) { + assert profileName != null && name != null; + + ISystemRegistry systemRegistry = RSECorePlugin.getTheSystemRegistry(); + Assert.assertNotNull("FAILED(findConnection): RSE system registry unavailable!", systemRegistry); //$NON-NLS-1$ + + ISystemProfile profile = systemRegistry.getSystemProfile(profileName); + if (profile != null) { + return systemRegistry.getHost(profile, name); + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.rse.tests.core.connection.IRSEConnectionManager#copyConnection(java.lang.String, java.lang.String, java.lang.String) + */ + public IHost copyConnection(IHost connection, String copyName) { + assert connection != null; + + ISystemRegistry systemRegistry = RSECorePlugin.getTheSystemRegistry(); + Assert.assertNotNull("FAILED(copyConnection): RSE system registry unavailable!", systemRegistry); //$NON-NLS-1$ + + try { + return systemRegistry.copyHost(connection, connection.getSystemProfile(), copyName, null); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } + } + /** * Delete a host given its name and the name of its profile. If the host is not found then * do nothing. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FTPFileSubsystemTestCase.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FTPFileSubsystemTestCase.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FTPFileSubsystemTestCase.java 2008-07-14 21:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FTPFileSubsystemTestCase.java 2013-02-12 20:26:45.000000000 +0000 @@ -164,4 +164,13 @@ if (ftpService.isConnected()) ftpService.disconnect(); } + + /* (non-Javadoc) + * @see org.eclipse.rse.tests.core.RSECoreTestCase#isTestDisabled() + */ + @Override + protected boolean isTestDisabled() { + // TODO AD:turn this test back on when we figure out why it stopped working headlessly + return true; + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveBaseTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveBaseTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveBaseTest.java 2008-07-14 21:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveBaseTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Johnson Ma (Wind River) - [195402] Extracted from FileServiceArchiveTest + * Xuan Chen (IBM) [333874] - Added more logging code to track junit failure *******************************************************************************/ package org.eclipse.rse.tests.subsystems.files; @@ -17,6 +18,7 @@ import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.rse.core.model.ISystemResourceSet; import org.eclipse.rse.core.model.SystemRemoteResourceSet; import org.eclipse.rse.core.model.SystemWorkspaceResourceSet; @@ -888,7 +890,7 @@ - + /* public void testOpenFileFromTarArchive() throws Exception { if (isTestDisabled()) return; @@ -920,8 +922,10 @@ //now, verify the content of the local file IFileStore localFile = temp.getChild(fileContentToVerifyName1); + File actualFile = localFile.toLocalFile(EFS.NONE, new NullProgressMonitor()); + assertTrue("The file does not exist", actualFile.exists()); //Check the content of the download file: - boolean sameContent = compareContent(getContents(fileContentString1), localFile.openInputStream(EFS.NONE, null)); + boolean sameContent = compareContent1(getContents(fileContentString1), localFile.openInputStream(EFS.NONE, null)); assertTrue(sameContent); @@ -947,7 +951,7 @@ assertTrue(sameContent); } - + */ } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveTestDStore.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveTestDStore.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveTestDStore.java 2008-07-14 21:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceArchiveTestDStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - Fix Javadoc warnings * Martin Oberhuber (Wind River) - organize, enable and tag test cases * Martin Oberhuber (Wind River) - [195402] Add constructor with test name + * Xuan Chen (IBM) - [333874] [testing] Spurious NPE during testOpenFileFromTarArchive on hudson.eclipse.org *******************************************************************************/ package org.eclipse.rse.tests.subsystems.files; @@ -101,7 +102,7 @@ suite.addTest(TestSuite.createTest(FileServiceArchiveTestDStore.class, "testSuperTransferDStoreWindowsAndDStore")); suite.addTest(TestSuite.createTest(FileServiceArchiveTestDStore.class, "testSuperTransferDStoreToLocal")); //open a virtual file in tar archive - suite.addTest(TestSuite.createTest(FileServiceArchiveTestDStore.class, "testOpenFileFromTarArchive")); //$NON-NLS-1$ + //suite.addTest(TestSuite.createTest(FileServiceArchiveTestDStore.class, "testOpenFileFromTarArchive")); //$NON-NLS-1$ //copy the virtual folder across connections suite.addTest(TestSuite.createTest(FileServiceArchiveTestDStore.class, "testCopyVirtualFileFromDStoreToLocal")); //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceBaseTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceBaseTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceBaseTest.java 2008-07-14 21:48:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/FileServiceBaseTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,12 +7,13 @@ * * Contributors: * Xuan Chen (IBM) - initial API and implementation - * - - * - - * - - * - + * - + * - + * - + * - * Martin Oberhuber (Wind River) - [195402] Add constructor with test name * David Dykstal (IBM) [230821] fix IRemoteFileSubSystem API to be consistent with IFileService + * Xuan Chen (IBM) [333874] - Added more logging code to track junit failure *******************************************************************************/ package org.eclipse.rse.tests.subsystems.files; @@ -246,7 +247,7 @@ } //---------------------------------------------------------------------- - // + // //---------------------------------------------------------------------- protected IFileStore createDir(IFileStore store, boolean clear) throws CoreException { if (clear && store.fetchInfo().exists()) @@ -259,7 +260,7 @@ } //---------------------------------------------------------------------- - // + // //---------------------------------------------------------------------- protected IFileStore createDir(String string, boolean clear) throws CoreException { return createDir(EFS.getFileSystem(EFS.SCHEME_FILE).getStore(new Path(string)), clear); @@ -268,7 +269,7 @@ /** * Create a file with random content. If a resource exists in the same path, * the resource is deleted. - * + * * * @param target the file to create * @param content content of the new file @@ -283,7 +284,7 @@ } /** - * + * * Asserts that a stream closes successfully. Null streams * are ignored, but failure to close the stream is reported as * an assertion failure. @@ -300,7 +301,7 @@ } /** - * + * * Return an input stream with some the specified text to use * as contents for a file resource. * @param text the input text @@ -311,7 +312,7 @@ } /** - * + * * * Returns a boolean value indicating whether or not the contents * of the given streams are considered to be equal. Closes both input streams. @@ -339,9 +340,51 @@ } /** + * + * + * Returns a boolean value indicating whether or not the contents + * of the given streams are considered to be equal. Closes both input streams. + * @param a input stream a + * @param b input stream b + * @return if both stream are consider to be equal + */ + public boolean compareContent1(InputStream a, InputStream b) { + int c, d; + StringBuilder bufferA = new StringBuilder(100); + StringBuilder bufferB = new StringBuilder(100); + if (a == null && b == null) + return true; + try { + if (a == null || b == null) + { + fail("only one of the input stream is null"); + return false; + } + while ((c = a.read()) == (d = b.read()) && (c != -1 && d != -1)) { + //remember the read value to string buffer + bufferA.append(c); + bufferB.append(d); + } + if (c == -1 && d == -1) + { + return true; + } + String msg = "difference: c is: " + c + " but d is: " + d + " a so far is: " + bufferA.toString() + " but b so far is: " + bufferB.toString(); + fail(msg); + return false; + } catch (IOException e) { + fail("IOException: " + e.getMessage()); + return false; + } finally { + assertClose(a); + assertClose(b); + } + } + + /** * Copy the data from the input stream to the output stream. * Close both streams when finished. - * + * * * @param input input stream * @param output output stream @@ -365,7 +408,7 @@ /** * Return String with some random text to use * as contents for a file resource. - * + * * * @return the result random string */ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileStoreTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileStoreTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileStoreTest.java 2009-02-02 00:50:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileStoreTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Martin Oberhuber (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [240729] More flexible disabling of testcases + * Martin Oberhuber (Wind River) - [314439] testDeleteSpecialCases fails on Linux *******************************************************************************/ package org.eclipse.rse.tests.subsystems.files; @@ -25,6 +26,7 @@ import org.eclipse.core.filesystem.EFS; import org.eclipse.core.filesystem.IFileInfo; import org.eclipse.core.filesystem.IFileStore; +import org.eclipse.core.filesystem.URIUtil; import org.eclipse.core.filesystem.provider.FileInfo; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; @@ -147,30 +149,53 @@ } public void tearDown() throws Exception { - if (fIS != null) { - try { - fIS.close(); - } catch (IOException e) { - System.err.println("Exception in tearDown.closeInputStream:"); - e.printStackTrace(); + try { + if (fIS != null) { + try { + fIS.close(); + } catch (IOException e) { + System.err.println("Exception in tearDown.closeInputStream:"); + e.printStackTrace(); + } } - } - if (fOS != null) { + if (fOS != null) { + try { + fOS.close(); + } catch (IOException e) { + System.err.println("Exception in tearDown.closeOutputStream:"); + e.printStackTrace(); + } + } + //Try..catch to allow super.tearDown() to run try { - fOS.close(); - } catch (IOException e) { - System.err.println("Exception in tearDown.closeOutputStream:"); - e.printStackTrace(); + IFileInfo info = fTestStore.fetchInfo(); + info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, false); + info.setAttribute(EFS.ATTRIBUTE_EXECUTABLE, true); + fTestStore.putInfo(info, EFS.SET_ATTRIBUTES, getDefaultProgressMonitor()); + } finally { + try { + fTestStore.delete(EFS.NONE, getDefaultProgressMonitor()); + } catch (Throwable t) { + /* CoreException might be expected if fTestStore had no permissions */ + if (! (t instanceof CoreException)) { + System.err.println("Unexpected exception in tearDown():"); //$NON-NLS-1$ + t.printStackTrace(); + } + IRemoteCmdSubSystem rcmd = getShellServiceSubSystem(); + if (rcmd!=null) { + SimpleCommandOperation op = new SimpleCommandOperation(rcmd, fHomeDirectory, true); + op.runCommand("chmod 777 \"" + fTestStorePath + "\"", true); + while (op.isActive()) { + Thread.sleep(200); + } + //no more exception expected. + fTestStore.delete(EFS.NONE, getDefaultProgressMonitor()); + } + } } + } finally { + super.tearDown(); } - //Try..catch to allow super.tearDown() to run - try { - fTestStore.delete(EFS.NONE, getDefaultProgressMonitor()); - } catch (CoreException ce) { - System.err.println("Exception in tearDown.deleteTestStore:"); - ce.printStackTrace(); - } - super.tearDown(); } protected IFileStore createFile(String name) throws Exception { @@ -264,6 +289,36 @@ //assertTrue("2.6.2", info.getLastModified() <= parentModified); //not actually changed } + public void testBrokenSymlink() throws Exception { + //-test-author-:MartinOberhuber + if (isTestDisabled()) + return; + if (fHomeDirectory != null && fHomeDirectory.getSeparatorChar() == '/' && fHomeDirectory.getParentRemoteFileSubSystem().isCaseSensitive()) { + String testFileName = "broken.txt"; //$NON-NLS-1$ + IRemoteCmdSubSystem rcmd = getShellServiceSubSystem(); + SimpleCommandOperation op = new SimpleCommandOperation(rcmd, fHomeDirectory, true); + op.runCommand("ln -s notExisting2.txt \"" + fTestStorePath + "/" + testFileName + "\"", true); + while (op.isActive()) { + Thread.sleep(200); + } + if ("localConnection.properties".equals(fPropertiesFileName)) { + //RSE-Local on UNIX: check native EFS in addition to RSE-Local + IFileStore efsStore = EFS.getStore(URIUtil.toURI(fTestStorePath+'/'+testFileName)); + IFileInfo efsInfo = efsStore.fetchInfo(); + assertFalse("0.1", efsInfo.exists()); + assertTrue("0.2", efsInfo.getAttribute(EFS.ATTRIBUTE_SYMLINK)); + assertEquals("0.3", "notExisting2.txt", efsInfo.getStringAttribute(EFS.ATTRIBUTE_LINK_TARGET)); + //bug 314494: RSE-Local does not support broken symlinks yet + return; + } + IFileStore brokenStore = fTestStore.getChild(testFileName); + IFileInfo info = brokenStore.fetchInfo(); + assertFalse("1.0", info.exists()); + assertTrue("1.1", info.getAttribute(EFS.ATTRIBUTE_SYMLINK)); + assertEquals("1.2", "notExisting2.txt", info.getStringAttribute(EFS.ATTRIBUTE_LINK_TARGET)); + } + } + public void testDeleteSpecialCases() throws Exception { //-test-author-:MartinOberhuber if (isTestDisabled()) @@ -287,8 +342,13 @@ System.out.println("Good! " + ce); assertTrue("1.1.1", ce.getStatus().getCode() == EFS.ERROR_DELETE); } - if (fPropertiesFileName != null || File.separatorChar != '\\') { - // On Windows, no exception is thrown (read-only stuff can be deleted) + // restore deletable + info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, false); + info.setAttribute(EFS.ATTRIBUTE_EXECUTABLE, true); + fTestStore.putInfo(info, EFS.SET_ATTRIBUTES, getDefaultProgressMonitor()); + if (fPropertiesFileName != null && File.separatorChar != '\\') { + // Do not check Eclipse EFS due to bug 314448 + // Do not check RSE-EFS on Windows (read-only stuff can be deleted) if (fHomeDirectory == null || fHomeDirectory.getSeparatorChar() != '\\') { assertTrue("1.1", exceptionThrown); IFileInfo info2 = store.fetchInfo(); @@ -296,10 +356,6 @@ } } - // restore deletable - info.setAttribute(EFS.ATTRIBUTE_READ_ONLY, false); - info.setAttribute(EFS.ATTRIBUTE_EXECUTABLE, true); - fTestStore.putInfo(info, EFS.SET_ATTRIBUTES, getDefaultProgressMonitor()); store.delete(EFS.NONE, getDefaultProgressMonitor()); info = store.fetchInfo(EFS.NONE, getDefaultProgressMonitor()); assertTrue("1.2", !info.exists()); @@ -343,7 +399,10 @@ System.out.println("Good! " + ce); assertTrue("1.5.1", ce.getStatus().getCode() == EFS.ERROR_DELETE); } - assertTrue("1.5", exceptionThrown); + if (!"localConnection.properties".equals(fPropertiesFileName)) { + //bug 314439: java.io.File cannot tell between no-permission and not-exists + assertTrue("1.5", exceptionThrown); + } exceptionThrown = false; try { @@ -353,10 +412,13 @@ System.out.println("Good! " + ce); assertTrue("1.6.1", ce.getStatus().getCode() == EFS.ERROR_READ); } - assertTrue("1.6", exceptionThrown); + if (!"localConnection.properties".equals(fPropertiesFileName)) { + //bug 314439: java.io.File cannot tell between no-permission and not-exists + assertTrue("1.6", exceptionThrown); + } SimpleCommandOperation op4 = new SimpleCommandOperation(rcmd, fHomeDirectory, true); op4.runCommand("chmod 777 \"" + fTestStorePath + "\"", true); - while (op3.isActive()) { + while (op4.isActive()) { Thread.sleep(200); } //Experience shows that we need to wait a little longer until the filesystem calms down @@ -379,10 +441,15 @@ assertTrue("1.1", !info.exists()); // delete non-Existing - store.delete(EFS.NONE, getDefaultProgressMonitor()); - // TODO IFileStore.delete() does not specify whether deleting a - // non-existing file should throw an Exception. - // EFS.getLocalFileSystem() does not throw the exception. + try { + store.delete(EFS.NONE, getDefaultProgressMonitor()); + } catch(CoreException ce) { + // TODO IFileStore.delete() does not specify whether deleting a + // non-existing file should throw an Exception. + // EFS.getLocalFileSystem() does not throw the exception. + // Local and SSH don't either. DStore does throw. + // For now, ignore this. + } info = store.fetchInfo(EFS.NONE, getDefaultProgressMonitor()); assertTrue("1.2", !info.exists()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileSubsystemTestSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileSubsystemTestSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileSubsystemTestSuite.java 2008-07-25 13:43:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/RSEFileSubsystemTestSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -55,6 +55,7 @@ // we run in problems with that. The test needs to be executed manually with // the ftp server to use possibly changed to whatever host will do. suite.addTestSuite(FTPFileSubsystemTestCase.class); + suite.addTestSuite(ScpFileSubsystemTestCase.class); suite.addTestSuite(FileServiceTgzArchiveTest.class); suite.addTest(RSEFileStoreTest.suite()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/ScpFileSubsystemTestCase.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/ScpFileSubsystemTestCase.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/ScpFileSubsystemTestCase.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/files/ScpFileSubsystemTestCase.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Uwe Stieber (Wind River) - initial API and implementation. + * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry + * David McKnight (IBM) - [186363] get rid of obsolete calls to SubSystem.connect() + * Martin Oberhuber (Wind River) - organize, enable and tag test cases + * Anna Dushistova (MontaVista) - adapted from FTPFileSubSystemTestCase + *******************************************************************************/ + +package org.eclipse.rse.tests.subsystems.files; + +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.core.subsystems.ISubSystemConfiguration; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; +import org.eclipse.rse.services.files.IHostFile; +import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; +import org.eclipse.rse.tests.core.RSEWaitAndDispatchUtil; +import org.eclipse.rse.tests.core.connection.RSEBaseConnectionTestCase; + +public class ScpFileSubsystemTestCase extends RSEBaseConnectionTestCase { + + private ISubSystem subSystem; + private IHost connection; + + /* + * (non-Javadoc) + * + * @see org.eclipse.rse.tests.core.RSECoreTestCase#tearDown() + */ + protected void tearDown() throws Exception { + if (subSystem != null && subSystem.isConnected()) { + subSystem.disconnect(true); + } + if (connection != null) { + getConnectionManager().removeConnection( + connection.getSystemProfileName(), connection.getName()); + } + + subSystem = null; + connection = null; + + super.tearDown(); + } + + /** + * Test the FTP read access to a real remote FTP host. + */ + public void testScpAccessToRemoteHost() { + // -test-author-:UweStieber + if (isTestDisabled()) + return; + + String propFileName = "scpConnection.properties"; + + Exception exception = null; + String cause = null; + + subSystem = null; + try { + subSystem = getScpSubSystem(propFileName); + } catch (Exception e) { + exception = e; + cause = e.getLocalizedMessage(); + } + assertNull( + "Failed to get scp.files subsystem! Possible cause: " + cause, exception); //$NON-NLS-1$ + assertNotNull("No scp.files subystem", subSystem); //$NON-NLS-1$ + + ISubSystemConfiguration configuration = subSystem + .getSubSystemConfiguration(); + assertNotNull( + "Failed to get scp.files subsystem configuration instance!", configuration); //$NON-NLS-1$ + + try { + subSystem.connect(false, null); + } catch (Exception e) { + exception = e; + cause = e.getLocalizedMessage(); + } + assertNull( + "Failed to connect scp.files subsystem to host " + "! Possible cause: " + cause, exception); //$NON-NLS-1$ //$NON-NLS-2$ + + // Wait hard-coded 10 seconds to get around asynchronous connection + // problems. + RSEWaitAndDispatchUtil.waitAndDispatch(10000); + + // if we could not connect in 10 sec. we give up here. The server might + // be not reachable + // or exceeded the max number of connection or ... or ... or ... Just do + // not fail in this case. + if (!subSystem.isConnected()) + return; + FileServiceSubSystem inputFss = (FileServiceSubSystem) subSystem; + IRemoteFile homeDirectory; + try { + homeDirectory = inputFss.getRemoteFileObject(".", + new NullProgressMonitor()); + String baseFolderName = "rsetest"; + String homeFolderName = homeDirectory.getAbsolutePath(); + String testFolderName = FileServiceHelper.getRandomLocation( + inputFss, homeFolderName, baseFolderName, + new NullProgressMonitor()); + IHostFile testDir = inputFss.getFileService() + .createFolder( + homeFolderName, + testFolderName.substring(testFolderName + .lastIndexOf("/") + 1), + new NullProgressMonitor()); + assertTrue(testDir != null); + IHostFile hostfile = inputFss.getFileService().createFile( + testFolderName, "test-scp.txt", new NullProgressMonitor()); + assertTrue(hostfile != null); + inputFss.getFileService().delete(testFolderName, "test-scp.txt", + new NullProgressMonitor()); + inputFss.getFileService() + .delete(testFolderName, + testFolderName.substring(testFolderName + .lastIndexOf("/") + 1), + new NullProgressMonitor()); + } catch (SystemMessageException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + protected ISubSystem getScpSubSystem(String propertiesFileName) + throws Exception { + if (propertiesFileName == null) { + return null; + } + IHost host = getHost(propertiesFileName); + + return getConnectionManager().getFileSubSystem(host, "scp.files"); //$NON-NLS-1$ + } +} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellServiceTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellServiceTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellServiceTest.java 2008-12-14 17:06:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellServiceTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Anna Dushistova (MontaVista) - adapted from FileServiceTest * Anna Dushistova (MontaVista) - [249102][testing] Improve ShellService Unittests + * Martin Oberhuber (Wind River) - [315055] ShellServiceTest fails on Windows *******************************************************************************/ package org.eclipse.rse.tests.subsystems.shells; @@ -15,6 +16,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.lang.reflect.Method; +import java.util.Arrays; import junit.framework.Test; import junit.framework.TestSuite; @@ -97,18 +99,35 @@ } protected IShellServiceSubSystem getShellServiceSubSystem() { - if (fPropertiesFileName == null) { - return null; - } + IShellServiceSubSystem result = null; + assertNotNull("Properties file name was null.", fPropertiesFileName); IHost host = getHost(fPropertiesFileName); - ISubSystem[] ss = RSECorePlugin.getTheSystemRegistry() - .getServiceSubSystems(host, IShellService.class); + System.out.printf("\nconnection name = %s", host.getAliasName()); + System.out.printf("\nsystem type id = %s", host.getSystemType().getId()); + ISubSystem[] ss = host.getSubSystems(); + System.out.printf("\nall subsystems found = %d", new Integer(ss.length)); + for (int i = 0; i < ss.length; i++) { + ISubSystem subsystem = ss[i]; + String id = subsystem.getConfigurationId(); + System.out.printf("\nsubsystem id = %s", id); + } + ss = RSECorePlugin.getTheSystemRegistry().getServiceSubSystems(host, IShellService.class); + System.out.printf("\nshell service subsystems found = %d", new Integer(ss.length)); + for (int i = 0; i < ss.length; i++) { + ISubSystem subsystem = ss[i]; + String id = subsystem.getConfigurationId(); + System.out.printf("\nsubsystem configuration id = %s", id); + } for (int i = 0; i < ss.length; i++) { if (ss[i] instanceof ShellServiceSubSystem) { - return (ShellServiceSubSystem) ss[i]; + result = (ShellServiceSubSystem) ss[i]; + break; } } - return null; + if (result == null) { + System.out.printf("\nShell service subsystem was not found for host %s.", host.getAliasName()); + } + return result; } public void setUp() throws Exception { @@ -118,8 +137,12 @@ protected void initShellService() throws SystemMessageException { shellSubSystem = getShellServiceSubSystem(); - shellService = shellSubSystem.getShellService(); - shellSubSystem.checkIsConnected(getDefaultProgressMonitor()); + if (shellSubSystem != null) { + shellService = shellSubSystem.getShellService(); + shellSubSystem.checkIsConnected(getDefaultProgressMonitor()); + } else { + shellService = null; + } } public void tearDown() throws Exception { @@ -131,26 +154,35 @@ } public void testLaunchShell() throws Exception { - Object[] allOutput = launchShell("", "echo test", new String[] {}); + //Bug 315055: Windows needs a PATH which includes cmd.exe + //On Linux, the "echo test" also works without any PATH + //Object[] allOutput = launchShell("", "echo test", new String[] {}); + if (shellSubSystem == null) return; + Object[] allOutput = launchShell("", "echo test", shellService.getHostEnvironment()); boolean matchFound = false; for (int i = 0; i < allOutput.length; i++) { matchFound = ((IHostOutput) allOutput[i]).getString() .equals("test"); - System.out.println(((IHostOutput) allOutput[i]).getString()); + //System.out.println(((IHostOutput) allOutput[i]).getString()); if (matchFound) break; } - assertTrue(matchFound); + assertTrue("Missing output of \"echo test\": "+Arrays.asList(allOutput), matchFound); + // now set working directory -- Linux only - allOutput = launchShell("/", "echo test", new String[] {}); + //Bug 315055: Windows needs a PATH which includes cmd.exe + //On Linux, the "echo test" also works without any PATH + //allOutput = launchShell("/", "echo test", new String[] {}); + allOutput = launchShell("/", "echo test", shellService.getHostEnvironment()); matchFound = false; for (int i = 0; i < allOutput.length; i++) { matchFound = ((IHostOutput) allOutput[i]).getString() .equals("test"); - System.out.println(((IHostOutput) allOutput[i]).getString()); + //System.out.println(((IHostOutput) allOutput[i]).getString()); if (matchFound) break; } + assertTrue("Missing output of \"echo test\": "+Arrays.asList(allOutput), matchFound); } public Object[] launchShell(String workingDirectory, String cmd, @@ -172,6 +204,7 @@ } public void testRunCommand() throws Exception { + if (shellSubSystem == null) return; Object[] allOutput = runCommand("", "echo test", new String[] {}); boolean matchFound = false; for (int i = 0; i < allOutput.length; i++) { @@ -212,6 +245,7 @@ } public void testRunCommandViaHostShellProcessAdapter() throws Exception { + if (shellSubSystem == null) return; IHostShell hostShell = null; String commandSeparator = (shellSubSystem!=null)?shellSubSystem.getParentRemoteCmdSubSystemConfiguration() .getCommandSeparator():"\r\n"; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellSubSystemTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellSubSystemTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellSubSystemTest.java 2008-10-01 14:50:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/subsystems/shells/ShellSubSystemTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,10 +8,12 @@ * Contributors: * Anna Dushistova (MontaVista) - adapted from FileServiceTest * Anna Dushistova (MontaVista) - [249102][testing] Improve ShellService Unittests + * Martin Oberhuber (Wind River) - [315055] ShellServiceTest fails on Windows *******************************************************************************/ package org.eclipse.rse.tests.subsystems.shells; import java.lang.reflect.Method; +import java.util.Arrays; import junit.framework.Test; import junit.framework.TestSuite; @@ -104,13 +106,16 @@ return (ShellServiceSubSystem) ss[i]; } } + System.out.printf("\nShell subsystem not found for host %s", host.getAliasName()); return null; } public void setUp() throws Exception { super.setUp(); shellSubSystem = getShellServiceSubSystem(); - shellSubSystem.checkIsConnected(getDefaultProgressMonitor()); + if (shellSubSystem != null) { + shellSubSystem.checkIsConnected(getDefaultProgressMonitor()); + } } public void tearDown() throws Exception { @@ -122,6 +127,7 @@ } public void testRunShell() throws Exception { + if (shellSubSystem == null) return; // the IRemoteCommandShell returned should have getOutputAt() and // similar methods if (shellSubSystem.canRunShell()) { @@ -138,9 +144,13 @@ } public void testRunCommand() throws Exception { + if (shellSubSystem == null) return; if (shellSubSystem.canRunCommand()) { - Object[] results = shellSubSystem - .runCommand("echo test\r\nexit", null, mon); + //Bug 315055: Windows cmd invocation does not split commands on \r\n + //String cmd = "echo test\r\nexit"; //$NON-NLS-1$ + String commandSeparator = shellSubSystem.getParentRemoteCmdSubSystemConfiguration().getCommandSeparator(); + String cmd = "echo test"+commandSeparator+"exit"; //$NON-NLS-1$ + Object[] results = shellSubSystem.runCommand(cmd, null, mon); boolean matchFound = false; Object cmdObject = results[0]; @@ -159,16 +169,24 @@ break; } - assertTrue(matchFound); + assertTrue("Missing output of \"echo test\": "+Arrays.asList(result), matchFound); } } public void testCancelShell() throws Exception { + if (shellSubSystem == null) return; if (shellSubSystem.canRunShell()) { IRemoteCommandShell cmd = shellSubSystem.runShell(null, mon); shellSubSystem.cancelShell(cmd, mon); - assertFalse(cmd.isActive()); - + //Bug 315055 - Race condition on Windows: + //cancelShell() is not synchronous, so we need to wait a little (max 2 sec) + int tries = 0; + while(tries <20 && cmd.isActive()) { + Thread.sleep(100); + tries++; + } + assertFalse("Shell not canceled", cmd.isActive()); + System.out.println("Shell canceled after "+tries*100+" msec."); } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/synchronize/RSESynchronizeTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/synchronize/RSESynchronizeTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/synchronize/RSESynchronizeTest.java 2009-05-26 11:45:41.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/synchronize/RSESynchronizeTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,10 +8,12 @@ * Contributors: * Martin Oberhuber (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - Adapted from org.eclipse.rse.tests / FileServiceTest + * Martin Oberhuber (Wind River) - [314547] NPE in RSESynchronizeTest *******************************************************************************/ package org.eclipse.rse.tests.synchronize; import java.lang.reflect.Method; +import java.util.Arrays; import junit.framework.Test; import junit.framework.TestSuite; @@ -20,8 +22,10 @@ import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; +import org.eclipse.rse.internal.importexport.files.Utilities; import org.eclipse.rse.internal.synchronize.SynchronizeData; import org.eclipse.rse.internal.synchronize.provisional.ISynchronizeConnectionManager; +import org.eclipse.rse.internal.synchronize.provisional.ISynchronizeOperation; import org.eclipse.rse.internal.synchronize.provisional.ISynchronizer; import org.eclipse.rse.internal.synchronize.provisional.SynchronizeConnectionManager; import org.eclipse.rse.internal.synchronize.provisional.SynchronizeOperation; @@ -111,26 +115,37 @@ IFolder folder = project.getFolder("folder"); IFile file = project.getFile("file.txt"); IFile subFile = folder.getFile("subfile.txt"); - IResource[] resources = new IResource[] { project, folder, file, subFile }; + IFile subFile2 = folder.getFile("subfile2.txt"); + IResource[] resources = new IResource[] { project, folder, file, subFile, subFile2 }; ensureExistsInWorkspace(resources, true); // Initial export of test project to remote folder SynchronizeData sd = new SynchronizeData(); - // //What to do here? - // sd.addChild(new SynchronizeDataNode()); + + // sync only folder and subFile + IResource[] resourcesToSync = new IResource[] { folder, subFile }; + sd.setElements(Arrays.asList(resourcesToSync)); + String remoteLocation = Utilities.getAsString(remoteTempDir); + sd.setRemoteLocation(remoteLocation); + sd.setSynchronizeType(ISynchronizeOperation.SYNC_MODE_OVERRIDE_DEST); + ISynchronizer synchronizer = new Synchronizer(sd); synchronizer.run(new SynchronizeOperation()); // Check file files and folders exist on the remote - IRemoteFile rFolder = fss.getRemoteFileObject(remoteTempDir, "folder", getDefaultProgressMonitor()); + IRemoteFile rProject = fss.getRemoteFileObject(remoteTempDir, project.getName(), getDefaultProgressMonitor()); + assertTrue("1.0", rProject.exists()); + IRemoteFile rFolder = fss.getRemoteFileObject(rProject, "folder", getDefaultProgressMonitor()); assertTrue("1.1", rFolder.exists()); assertTrue("1.2", rFolder.isDirectory()); - IRemoteFile rFile = fss.getRemoteFileObject(remoteTempDir, "file.txt", getDefaultProgressMonitor()); - assertTrue("2.1", rFile.exists()); - assertTrue("2.2", rFile.isFile()); + IRemoteFile rFile = fss.getRemoteFileObject(rProject, "file.txt", getDefaultProgressMonitor()); + assertFalse("2.1", rFile.exists()); IRemoteFile rSubFile = fss.getRemoteFileObject(rFolder, "subfile.txt", getDefaultProgressMonitor()); assertTrue("3.1", rSubFile.exists()); assertTrue("3.2", rSubFile.isFile()); + //bug.... + //IRemoteFile rSubFile2 = fss.getRemoteFileObject(rFolder, "subfile2.txt", getDefaultProgressMonitor()); + //assertFalse("4.1", rSubFile2.exists()); // TODO: Check file contents, timestamp etc diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/ui/mnemonics/MnemonicsTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/ui/mnemonics/MnemonicsTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/ui/mnemonics/MnemonicsTest.java 2008-07-14 21:48:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/src/org/eclipse/rse/tests/ui/mnemonics/MnemonicsTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2007, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Martin Oberhuber (Wind River) - organize, enable and tag test cases + * Martin Oberhuber (Wind River) - [263196] MnemonicsTest.testDefaultGeneration() fails ********************************************************************************/ package org.eclipse.rse.tests.ui.mnemonics; @@ -55,19 +56,27 @@ //-test-author-:DavidDykstal if (isTestDisabled()) return; - setLocalePattern(".*"); // match all locales - Mnemonics mn = new Mnemonics(); - mn.clear("abcde"); - String result = mn.setUniqueMnemonic("A..."); - assertEquals("A(&F)...", result); - result = mn.setUniqueMnemonic("F..."); - assertEquals("F(&G)...", result); - result = mn.setUniqueMnemonic("H..."); - assertEquals("&H...", result); + String oldPattern = getLocalePattern(); + try { + setLocalePattern(".*"); // match all locales + Mnemonics mn = new Mnemonics(); + mn.clear("abcde"); + String result = mn.setUniqueMnemonic("A..."); + assertEquals("A(&F)...", result); + result = mn.setUniqueMnemonic("F..."); + assertEquals("F(&G)...", result); + result = mn.setUniqueMnemonic("H..."); + assertEquals("&H...", result); + } finally { + setLocalePattern(oldPattern); + } } private void setLocalePattern(String pattern) { RSEUIPlugin.getDefault().getPluginPreferences().setValue(Mnemonics.APPEND_MNEMONICS_PATTERN_PREFERENCE, pattern); } + private String getLocalePattern() { + return RSEUIPlugin.getDefault().getPluginPreferences().getString(Mnemonics.APPEND_MNEMONICS_PATTERN_PREFERENCE); + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/test.data/scpConnection.properties eclipse-rse-3.4.2/org.eclipse.rse.tests/test.data/scpConnection.properties --- eclipse-rse-3.1.2/org.eclipse.rse.tests/test.data/scpConnection.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/test.data/scpConnection.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,29 @@ +############################################################################### +# Copyright (c) 2008, 2012 IBM Corporation and others. All rights reserved. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Anna Dushistova (MontaVista) - [331213] added a unit test for scp files subsystem +############################################################################### + +# name/label for this windows connection +name = test_scp_linux_only + +# profile name this connection should be created for +profile_name = junit_test_profile + +# SSH system ID +system_type_id = org.eclipse.rse.tests.systemType.scpFiles + +# Address of ssh connection +address = unknown + +# userid to connect to ssh connection +userid = unknown + +# password to connect to ssh connection +password = unknown diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests/test.xml eclipse-rse-3.4.2/org.eclipse.rse.tests/test.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests/test.xml 2009-05-14 07:59:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests/test.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@ - - - - - - - + + + + + + + + + + + @@ -35,6 +39,7 @@ + @@ -42,7 +47,7 @@ - + - - - + + + + + + + + + Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.tests/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.tests/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/feature.properties 2009-05-27 22:32:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=RSE Unit Tests # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=RSE Unit Tests. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2006, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/feature.xml 2009-08-06 21:37:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -28,8 +28,8 @@ - - + + @@ -47,12 +47,6 @@ - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/license.html 2007-06-04 16:09:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.tests + 3.4.1.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/rootfiles/notice.html eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/rootfiles/notice.html --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/rootfiles/notice.html 2008-01-25 12:38:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/rootfiles/notice.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -24,15 +25,15 @@ ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and @@ -40,14 +41,14 @@ including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.tests-feature/sourceTemplatePlugin/plugin.properties 2009-05-26 11:44:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=RSE Unit Tests Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/META-INF/MANIFEST.MF 2009-02-02 02:00:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.tests.framework;singleton:=true -Bundle-Version: 2.0.200.qualifier +Bundle-Version: 2.1.100.qualifier Bundle-Activator: org.eclipse.rse.internal.tests.framework.TestFrameworkPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/plugin.properties 2009-05-26 11:45:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,7 +10,7 @@ ################################################################################ pluginName = RSE Test Framework -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project SelectAllHoldersDelegate.label=Select All ResetHolderDelegate.label=Reset diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework/plugin.xml 2009-05-14 07:58:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -91,7 +91,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.tests.framework.examples + 1.1.0-SNAPSHOT + eclipse-plugin + Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/scripts/test01/001.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/scripts/test01/001.jpg differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/scripts/test01/002.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/scripts/test01/002.jpg differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/scripts/test01/003.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/scripts/test01/003.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/scripts/test01/script7.txt eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/scripts/test01/script7.txt --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/scripts/test01/script7.txt 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/scripts/test01/script7.txt 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,24 @@ +# test script +show 001.jpg #show the first screen +tell look at the highlighted areas and see if they are translated correctly +pause press continue if they are OK, otherwise fail the test +show 002.jpg # show the next screen +pause how does this look? # a comment +show 003.jpg #another one again +pause + + testing the ability to cope with continuations + + are we OK with this? + + + + + # some blank lines are above -- they should be ignored + pause how + + about + + this? +tell Comment check ... # this is a comment, not a continuation + +pause ... this line should not be combined with the last + +tell Comment check 2 + # this is a comment + ... you should see this right after the 2 + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AbstractTest.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AbstractTest.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AbstractTest.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AbstractTest.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,25 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import org.eclipse.rse.tests.framework.AnnotatingTestCase; + +public class AbstractTest extends AnnotatingTestCase { + + protected void sleep(int n) { + try { + Thread.sleep(n); + } catch (InterruptedException e) { + } + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingSuite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,23 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +public class AnnotatingSuite extends TestSuite { + + public AnnotatingSuite() { + super(AnnotatingTests.class); + setName("annotation"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingTests.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingTests.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingTests.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/AnnotatingTests.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,46 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +public class AnnotatingTests extends AbstractTest { + + public void testSuccess01() { + remark("Remark 1 for 01"); //$NON-NLS-1$ + remark("Remark 2 for 01"); //$NON-NLS-1$ + sleep(500); + } + + public void testSuccess02() { + remark("Remark 1 for 02"); //$NON-NLS-1$ + remark("Remark 2 for 02"); //$NON-NLS-1$ + sleep(500); + } + + public void testSuccess03() { + remark("Remark 1 for 03"); //$NON-NLS-1$ + remark("Remark 2 for 03"); //$NON-NLS-1$ + sleep(500); + } + + public void testSuccess04() { + remark("Remark 1 for 04"); //$NON-NLS-1$ + remark("Remark 2 for 04"); //$NON-NLS-1$ + sleep(500); + } + + public void testSuccess05() { + remark("Remark 1 for 05"); //$NON-NLS-1$ + remark("Remark 2 for 05"); //$NON-NLS-1$ + sleep(500); + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorSuite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,23 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +public class ErrorSuite extends TestSuite { + + public ErrorSuite() { + super(ErrorTests.class); + setName("errors"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorTests.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorTests.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorTests.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/ErrorTests.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,31 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +public class ErrorTests extends AbstractTest { + + public void testError01() { + sleep(1000); + throw new RuntimeException("generic runtime exception 01"); //$NON-NLS-1$ + } + + public void testError02() { + sleep(1000); + throw new RuntimeException("generic runtime exception 02"); //$NON-NLS-1$ + } + + public void testError03() { + sleep(1000); + throw new RuntimeException("generic runtime exception 03"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureSuite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,23 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +public class FailureSuite extends TestSuite { + + public FailureSuite() { + super(FailureTests.class); + setName("failures"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureTests.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureTests.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureTests.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/FailureTests.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,31 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +public class FailureTests extends AbstractTest { + + public void testFailure01() { + sleep(50); + fail("generic failure 01"); //$NON-NLS-1$ + } + + public void testFailure02() { + sleep(50); + fail("generic failure 02"); //$NON-NLS-1$ + } + + public void testFailure03() { + sleep(50); + fail("generic failure 03"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,41 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +public class MixedSuite extends TestSuite { + + public MixedSuite() { + super(); + setName("mixed results"); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess03")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure03")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError03")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError01")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError02")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess03")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(FailureTests.class, "testFailure03")); //$NON-NLS-1$ + this.addTest(TestSuite.createTest(ErrorTests.class, "testError03")); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuiteProvider.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuiteProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuiteProvider.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/MixedSuiteProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,51 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +import org.eclipse.rse.tests.framework.ITestSuiteProvider; + +public class MixedSuiteProvider implements ITestSuiteProvider { + + public TestSuite getSuite(String arg) { + TestSuite suite = new TestSuite("Mixed Suite, arg = " + arg); //$NON-NLS-1$ + if (arg == null || arg.equals("success")) { //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess03")); //$NON-NLS-1$ + } + if (arg == null || arg.equals("failure")) { //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure03")); //$NON-NLS-1$ + } + if (arg == null || arg.equals("error")) { //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError03")); //$NON-NLS-1$ + } + if (arg == null) { + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError01")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError02")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(SuccessTests.class, "testSuccess03")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(FailureTests.class, "testFailure03")); //$NON-NLS-1$ + suite.addTest(TestSuite.createTest(ErrorTests.class, "testError03")); //$NON-NLS-1$ + } + return suite; + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessSuite.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessSuite.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessSuite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessSuite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,23 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +import junit.framework.TestSuite; + +public class SuccessSuite extends TestSuite { + + public SuccessSuite() { + super(SuccessTests.class); + setName("successes"); //$NON-NLS-1$ + } + +} + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessTests.java eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessTests.java --- eclipse-rse-3.1.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessTests.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.framework.examples/src/org/eclipse/rse/tests/framework/examples/SuccessTests.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,34 @@ +/* ******************************************************************************* + * Copyright (c) 2006 IBM Corporation. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - initial contribution. + * *******************************************************************************/ +package org.eclipse.rse.tests.framework.examples; + +public class SuccessTests extends AbstractTest { + + public void testSuccess01() { + sleep(500); + } + + public void testSuccess02() { + sleep(500); + } + + public void testSuccess03() { + sleep(500); + } + + public void testSuccess04() { + sleep(500); + } + + public void testSuccess05() { + sleep(500); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/.project eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/.project --- eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,11 @@ + + + org.eclipse.rse.tests.manual + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/about.html eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/about.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/about.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + + +About + + +

    About This Content

    + +

    June 5, 2007

    +

    License

    + +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/manual_tests.html eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/manual_tests.html --- eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/manual_tests.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/manual_tests.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,47 @@ + + + + RSE Manual Test Plan + + + +

    RSE Manual Test Plan

    +
    +

    Basic sanity test

    +Goal: Detect obvious problems that users would notice immediately.
    +Configurations: Windows, Linux.
    +When to run: Every I-build, M-build and R-build.
    +
      +
    • Start a dstore daemon on the local host
    • +
    • Download RSE-SDK into Eclipse-Platform. Start RSE client on a +fresh workspace, open RSE Perspective
      +
    • +
    • Create a new dstore connection (type: Windows, Linux or UNIX) to +the local host
    • +
        +
      • In the Wizard, press Finish on the first page already
        +
      • +
      +
    • asdf
    • +
    +

    Erroneous Input

    +Goal: Make sure that the system does not crash or get unusable due to +erroneous input. Make sure that error messages are clear and helpful.
    +Configurations: Windows, Linux.
    +When to run: M-build
    +

    GUI Elements

    +Goal: Make sure that all GUI elements actually work
    +

    Preferences

    +Goal: Make sure that all Preference settings actually work.
    +

    Parallel operations / Synchronization

    +Goal: Make sure that multiple parallel operations do not bring the +system into inconsistent state.
    +

    Team Profiles

    +Goal: Make sure that Team Profiles work.
    +

    Examples

    +Goal: Make sure that Examples and Tutorials work as documented.
    +Configuration: Windows only
    +When to run: R-build
    +
    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/readme.txt eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/readme.txt --- eclipse-rse-3.1.2/org.eclipse.rse.tests.manual/readme.txt 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.tests.manual/readme.txt 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1 @@ +This project contains instructions for manual testing RSE. diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.ui/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.ui/.cvsignore 2006-04-10 21:10:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.ui/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.ui/META-INF/MANIFEST.MF 2009-07-30 00:08:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.ui;singleton:=true -Bundle-Version: 3.1.1.qualifier +Bundle-Version: 3.3.3.qualifier Bundle-Activator: org.eclipse.rse.ui.RSEUIPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, @@ -15,7 +15,7 @@ org.eclipse.ui.views, org.eclipse.ui.workbench.texteditor, org.eclipse.rse.services;bundle-version="[3.1.0,4.0.0)", - org.eclipse.rse.core;bundle-version="[3.0.0,4.0.0)" + org.eclipse.rse.core;bundle-version="[3.2.0,4.0.0)" Import-Package: com.ibm.icu.lang, com.ibm.icu.text, com.ibm.icu.util diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/DefaultUIInteractionProvider.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/DefaultUIInteractionProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/DefaultUIInteractionProvider.java 2008-06-10 09:34:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/DefaultUIInteractionProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2002, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -36,7 +36,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

    * diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/RSEUIStartup.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/RSEUIStartup.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/RSEUIStartup.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/RSEUIStartup.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,22 @@ +/******************************************************************************** + * Copyright (c) 2013, 2013 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * David Dykstal (IBM) - [397995] RSEInitJob starts too early + ********************************************************************************/ + +package org.eclipse.rse.internal.ui; + +import org.eclipse.rse.internal.core.RSEInitJob; +import org.eclipse.ui.IStartup; + +public class RSEUIStartup implements IStartup { + + public void earlyStartup() { + RSEInitJob.getInstance().schedule(); + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.java 2008-09-29 21:12:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -25,6 +25,7 @@ * David Dykstal (IBM) - [188150] adding "go up one level" tooltip * David Dykstal (IBM) - [233678] title string is constructed by concatenation, should be substituted * David McKnight (IBM) - [248922] [dnd] Remote to local overwrite copy does not work + * David McKnight (IBM) - [372674] Enhancement - Preserve state of Remote Monitor view *******************************************************************************/ package org.eclipse.rse.internal.ui; @@ -1013,6 +1014,8 @@ public static String RESID_IMPORT_CONNECTION_LABEL_LONG; + public static String SystemConnectionForm_0; + public static String SystemExportConnectionAction_CoreExceptionFound; public static String SystemExportConnectionAction_Error; @@ -1049,6 +1052,9 @@ // collision dialog when copying from RSE resources to Eclipse resources public static String RESID_COLLISION_DUPLICATE_RESOURCE_TITLE; public static String RESID_COLLISION_OVERWRITE_RESOURCE_MESSAGE; + + public static String RESID_RESTORE_RSE_TABLE_JOB; + public static String RESID_RESTORE_RSE_MONITOR_JOB; static { // load message values from bundle file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.properties eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.properties 2009-08-19 14:02:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/SystemResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved. +# Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -28,6 +28,8 @@ # David Dykstal (IBM) - [233678] title string is constructed by concatenation, should be substituted # David McKnight (IBM) - [248922] [dnd] Remote to local overwrite copy does not work # David McKnight (IBM) - [287066] TVT35:TCT635: PLK: dots at ends of tooltips +# Anna Dushistova (MontaVista) - [352072] RSE attempts to use proxy where it should not +# David McKnight (IBM) - [372674] Enhancement - Preserve state of Remote Monitor view ################################################################################ # NLS_MESSAGEFORMAT_VAR @@ -340,7 +342,7 @@ RESID_SUBSYSTEM_ENVVAR_ADD_TOOLTIP= Add a new environment variable RESID_SUBSYSTEM_ENVVAR_REMOVE_TOOLTIP= Remove the selected environment variable RESID_SUBSYSTEM_ENVVAR_CHANGE_TOOLTIP= Change the selected environment variable -RESID_SUBSYSTEM_ENVVAR_MOVEUP_LABEL= Move Up +RESID_SUBSYSTEM_ENVVAR_MOVEUP_LABEL= Move &Up RESID_SUBSYSTEM_ENVVAR_MOVEUP_TOOLTIP= Move the selected environment variable(s) up in the list RESID_SUBSYSTEM_ENVVAR_MOVEDOWN_LABEL= Move Down RESID_SUBSYSTEM_ENVVAR_MOVEDOWN_TOOLTIP= Move the selected environment variable(s) down in the list @@ -608,7 +610,7 @@ ACTION_CASCADING_GOTO_LABEL=Go To ACTION_CASCADING_GOTO_TOOLTIP=Replace view with previous contents -ACTION_CASCADING_GOINTO_LABEL=Go Into +ACTION_CASCADING_GOINTO_LABEL=Go &Into ACTION_CASCADING_GOINTO_TOOLTIP=Replace view with children of selected resource. Use Go To to return ACTION_CASCADING_OPEN_LABEL=Open @@ -749,7 +751,7 @@ ACTION_CLEAR_SELECTED_LABEL=Remove Selected From View ACTION_CLEAR_SELECTED_TOOLTIP=Remove the selection from the view -ACTION_MOVEUP_LABEL=Move Up +ACTION_MOVEUP_LABEL=Move &Up ACTION_MOVEUP_TOOLTIP=Move selected resources up by one ACTION_MOVEDOWN_LABEL=Move Down @@ -786,7 +788,7 @@ ACTION_HISTORY_CLEAR_LABEL=Clear ACTION_HISTORY_CLEAR_TOOLTIP=Clear all items in this widget's history -ACTION_HISTORY_MOVEUP_LABEL=Move Up +ACTION_HISTORY_MOVEUP_LABEL=Move &Up ACTION_HISTORY_MOVEUP_TOOLTIP=Move selected item up in history ACTION_HISTORY_MOVEDOWN_LABEL=Move Down @@ -822,25 +824,25 @@ ACTION_COPY_FILTERSTRING_LABEL=Copy ACTION_COPY_FILTERSTRING_TOOLTIP=Copy selected filter string to same or different filter -ACTION_MOVE_LABEL=Move... +ACTION_MOVE_LABEL=Mo&ve... ACTION_MOVE_TOOLTIP=Move selected resources to a different parent -ACTION_MOVE_CONNECTION_LABEL=Move... +ACTION_MOVE_CONNECTION_LABEL=Mo&ve... ACTION_MOVE_CONNECTION_TOOLTIP=Move selected connection to a different profile -ACTION_MOVE_FILTERPOOL_LABEL=Move... +ACTION_MOVE_FILTERPOOL_LABEL=Mo&ve... ACTION_MOVE_FILTERPOOL_TOOLTIP=Move selected filter pool to a different profile -ACTION_MOVE_FILTER_LABEL=Move... +ACTION_MOVE_FILTER_LABEL=Mo&ve... ACTION_MOVE_FILTER_TOOLTIP=Move selected filter to a different filter pool -ACTION_MOVE_FILTERSTRING_LABEL=Move... +ACTION_MOVE_FILTERSTRING_LABEL=Mo&ve... ACTION_MOVE_FILTERSTRING_TOOLTIP=Move selected filter string to a different filter ACTION_TABLE_LABEL=Show in Table ACTION_TABLE_TOOLTIP=Display the contents of this resource in a table -ACTION_MONITOR_LABEL=Monitor +ACTION_MONITOR_LABEL=Moni&tor ACTION_MONITOR_TOOLTIP=Display the contents of this resource in a monitoring table ACTION_SEARCH_LABEL=Search... @@ -1030,7 +1032,7 @@ RESID_TABLE_SELECT_COLUMNS_REMOVE_LABEL= 0){ + history = new String[descriptors.length]; + for (int i = 0; i < descriptors.length; i++){ + history[i] = descriptors[i].getId().toString(); + } + } + else { + history = new String[1]; + history[0] = "null"; //$NON-NLS-1$ } SystemPreferencesManager.setWidgetHistory(historyKey, history); @@ -105,6 +112,11 @@ if (history != null && history.length > 0) { int len = history.length; + if (len == 1 && history[0].equals("null")){ //$NON-NLS-1$ + // no descriptors + return new IPropertyDescriptor[0]; + } + if (uniqueDescriptors != null && uniqueDescriptors.length < len) { len = uniqueDescriptors.length; @@ -135,6 +147,7 @@ } } } + putCachedDescriptors(adapter, customDescriptors); return customDescriptors; } else diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewPart.java 2009-05-26 11:44:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -41,6 +41,14 @@ * David Dykstal (IBM) - [233678] title string is constructed by concatenation, should be substituted * Kevin Doyle (IBM) - [242431] Register a new unique context menu id, so contributions can be made to all our views * David McKnight (IBM) - [260346] RSE view for jobs does not remember resized columns + * David McKnight (IBM) - [333702] Remote Systems details view does not maintain column width settings across sessions + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [340912] inconsistencies with columns in RSE table viewers + * David McKnight (IBM) - [341240] Remote Systems Details view not remembering locked/unlocked state between sessions + * David McKnight (IBM) - [341244] folder selection input to unlocked Remote Systems Details view sometimes fails + * David McKnight (IBM) - [363829] Closing Eclipse with a populated Remote System Details view forces a remote system connection + * David McKnight (IBM) - [372674] Enhancement - Preserve state of Remote Monitor view + * David McKnight (IBM) - [373673] Remote Systems Details view calling wrong method for setting action tooltips *******************************************************/ package org.eclipse.rse.internal.ui.view; @@ -116,7 +124,6 @@ import org.eclipse.rse.ui.view.SystemTableView; import org.eclipse.rse.ui.view.SystemTableViewProvider; import org.eclipse.swt.SWT; -import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; @@ -193,7 +200,7 @@ { super(SystemResources.ACTION_HISTORY_MOVEFORWARD_LABEL, getEclipseImageDescriptor("elcl16/forward_nav.gif")); //$NON-NLS-1$ - setTitleToolTip(SystemResources.ACTION_HISTORY_MOVEFORWARD_TOOLTIP); + setToolTipText(SystemResources.ACTION_HISTORY_MOVEFORWARD_TOOLTIP); setDisabledImageDescriptor(getEclipseImageDescriptor("dlcl16/forward_nav.gif")); //$NON-NLS-1$ } @@ -225,7 +232,7 @@ public BackwardAction() { super(SystemResources.ACTION_HISTORY_MOVEBACKWARD_LABEL, getEclipseImageDescriptor("elcl16/backward_nav.gif")); //$NON-NLS-1$ - setTitleToolTip(SystemResources.ACTION_HISTORY_MOVEBACKWARD_TOOLTIP); + setToolTipText(SystemResources.ACTION_HISTORY_MOVEBACKWARD_TOOLTIP); setDisabledImageDescriptor(getEclipseImageDescriptor("dlcl16/backward_nav.gif")); //$NON-NLS-1$ } @@ -676,7 +683,7 @@ private IMemento _rmemento; public RestoreStateRunnable(IMemento memento) { - super("Restore RSE Table"); //$NON-NLS-1$ + super(SystemResources.RESID_RESTORE_RSE_TABLE_JOB); _rmemento = memento; } @@ -723,17 +730,24 @@ } cachedColumnWidths.put(key, widths); - _viewer.setCachedColumnWidths(cachedColumnWidths); - } + } + _viewer.setCachedColumnWidths(cachedColumnWidths); } } - - + String profileId = memento.getString(TAG_TABLE_VIEW_PROFILE_ID); String connectionId = memento.getString(TAG_TABLE_VIEW_CONNECTION_ID); String subsystemId = memento.getString(TAG_TABLE_VIEW_SUBSYSTEM_ID); final String filterID = memento.getString(TAG_TABLE_VIEW_FILTER_ID); final String objectID = memento.getString(TAG_TABLE_VIEW_OBJECT_ID); + + Boolean locked = memento.getBoolean(TAG_TABLE_VIEW_LOCKED_ID); + if (locked == null || locked.booleanValue()){ + _isLocked = true; + } + else { + _isLocked = false; + } ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); @@ -873,21 +887,29 @@ private Button _removeButton; private Button _upButton; private Button _downButton; + + private boolean _changed = false; - public SelectColumnsDialog(Shell shell, ISystemViewElementAdapter viewAdapter, ISystemTableViewColumnManager columnManager) + public SelectColumnsDialog(Shell shell, ISystemViewElementAdapter viewAdapter, ISystemTableViewColumnManager columnManager, int[] originalOrder) { super(shell, SystemResources.RESID_TABLE_SELECT_COLUMNS_LABEL); setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_TOOLTIP); + setInitialOKButtonEnabledState(_changed); _adapter = viewAdapter; _columnManager = columnManager; _uniqueDescriptors = viewAdapter.getUniquePropertyDescriptors(); IPropertyDescriptor[] initialDisplayedDescriptors = _columnManager.getVisibleDescriptors(_adapter); + + IPropertyDescriptor[] sortedDisplayedDescriptors = new IPropertyDescriptor[initialDisplayedDescriptors.length]; + for (int i = 0; i < initialDisplayedDescriptors.length; i++){ + int position = originalOrder[i+1]; + sortedDisplayedDescriptors[i] = initialDisplayedDescriptors[position-1]; + } _currentDisplayedDescriptors = new ArrayList(initialDisplayedDescriptors.length); - for (int i = 0; i < initialDisplayedDescriptors.length;i++) - { - if (!_currentDisplayedDescriptors.contains(initialDisplayedDescriptors[i])) - _currentDisplayedDescriptors.add(initialDisplayedDescriptors[i]); + for (int i = 0; i < sortedDisplayedDescriptors.length;i++) + { + _currentDisplayedDescriptors.add(sortedDisplayedDescriptors[i]); } _availableDescriptors = new ArrayList(_uniqueDescriptors.length); for (int i = 0; i < _uniqueDescriptors.length;i++) @@ -907,23 +929,27 @@ { int[] toAdd = _availableList.getSelectionIndices(); addToDisplay(toAdd); + _changed = true; } else if (source == _removeButton) { int[] toAdd = _displayedList.getSelectionIndices(); removeFromDisplay(toAdd); + _changed = true; } else if (source == _upButton) { int index = _displayedList.getSelectionIndex(); moveUp(index); _displayedList.select(index - 1); + _changed = true; } else if (source == _downButton) { int index = _displayedList.getSelectionIndex(); moveDown(index); _displayedList.select(index + 1); + _changed = true; } // update button enable states @@ -977,7 +1003,7 @@ _removeButton.setEnabled(enableRemove); _upButton.setEnabled(enableUp); _downButton.setEnabled(enableDown); - + enableOkButton(_changed); } private void moveUp(int index) @@ -1149,11 +1175,23 @@ { ISystemTableViewColumnManager mgr = _viewer.getColumnManager(); ISystemViewElementAdapter adapter = _viewer.getAdapterForContents(); - SelectColumnsDialog dlg = new SelectColumnsDialog(getShell(), adapter, mgr); + Table table = _viewer.getTable(); + int[] originalOrder = table.getColumnOrder(); + SelectColumnsDialog dlg = new SelectColumnsDialog(getShell(), adapter, mgr, originalOrder); if (dlg.open() == Window.OK) { - mgr.setCustomDescriptors(adapter, dlg.getDisplayedColumns()); + IPropertyDescriptor[] newDescriptors = dlg.getDisplayedColumns(); + // reset column order + int n = newDescriptors.length + 1; + int[] newOrder = new int[n]; + for (int i = 0; i < n; i++){ + newOrder[i] = i; + } + + mgr.setCustomDescriptors(adapter, newDescriptors); _viewer.computeLayout(true); + table.setColumnOrder(newOrder); + _viewer.refresh(); } } @@ -1206,6 +1244,7 @@ public static final String TAG_TABLE_VIEW_SUBSYSTEM_ID = "tableViewSubsystemID"; //$NON-NLS-1$ public static final String TAG_TABLE_VIEW_OBJECT_ID = "tableViewObjectID"; //$NON-NLS-1$ public static final String TAG_TABLE_VIEW_FILTER_ID = "tableViewFilterID"; //$NON-NLS-1$ + public static final String TAG_TABLE_VIEW_LOCKED_ID = "tableViewLockedID"; //$NON-NLS-1$ // Subset memento tags public static final String TAG_TABLE_VIEW_SUBSET = "subset"; //$NON-NLS-1$ @@ -1273,12 +1312,10 @@ _browsePosition = 0; // register global edit actions - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); - CellEditorActionHandler editorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars()); - _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), clipboard); - _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), clipboard); + _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), null); + _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), null); _deleteAction = new SystemCommonDeleteAction(_viewer.getShell(), _viewer); _renameAction = new SystemCommonRenameAction(_viewer.getShell(), _viewer); @@ -1307,8 +1344,7 @@ { Object first = ((IStructuredSelection) sel).getFirstElement(); if (_lastSelection != first) - { - _lastSelection = first; + { if (first instanceof IAdaptable) { { @@ -1319,6 +1355,7 @@ if (va.hasChildren(adapt) && adapt != _viewer.getInput()) { setInput(adapt); + _lastSelection = first; } } } @@ -1804,9 +1841,7 @@ { RestoreStateRunnable rsr = new RestoreStateRunnable(memento); rsr.setRule(RSECorePlugin.getTheSystemRegistry()); - rsr.setSystem(true); - rsr.schedule(); - + rsr.schedule(); } /** @@ -1895,9 +1930,19 @@ } - + boolean isConnected = false; + // don't reconnect + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)((IAdaptable)input).getAdapter(ISystemViewElementAdapter.class); + if (adapter != null){ + ISubSystem ss = adapter.getSubSystem(input); + if (ss != null){ + isConnected = ss.isConnected(); + } + } // new code - as of RSE 3.1 - _viewer.inputChanged(input, input); // make sure the latest widths are stored + if (isConnected){ // calling this requires a connect so only do it if already connected + _viewer.inputChanged(input, input); // make sure the latest widths are stored + } Map cachedColumnWidths = _viewer.getCachedColumnWidths(); StringBuffer columnWidths = new StringBuffer(); Iterator keyIter = cachedColumnWidths.keySet().iterator(); @@ -1919,6 +1964,8 @@ columnWidths.append(';'); } memento.putString(TAG_TABLE_VIEW_COLUMN_WIDTHS_ID, columnWidths.toString()); + + memento.putBoolean(TAG_TABLE_VIEW_LOCKED_ID, _isLocked); } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java 2007-06-05 11:36:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemTableViewSorter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,14 +12,19 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [331986] Sort in Remote System Details view shows wrong results + * David McKnight (IBM) - [355467] The result of sorting resources that contains null blank cells is not correct in Remote System Details view. + * David McKnight (IBM) - [357587] Custom sorter is changed to SystemTableViewSorter + * David McKnight (IBM) - [398306] table sorting of RSE table views inconsistent with Eclipse *******************************************************************************/ package org.eclipse.rse.internal.ui.view; +import java.util.Comparator; import java.util.Date; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.jface.util.Policy; import org.eclipse.jface.viewers.StructuredViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerSorter; @@ -42,14 +47,20 @@ private StructuredViewer _view; private SystemTableViewColumnManager _columnManager; + private Comparator _comparator; public SystemTableViewSorter(int columnNumber, StructuredViewer view, SystemTableViewColumnManager columnManager) { super(); - _reverseSort = false; + _reverseSort = true; // reverse sort means ascending order _columnNumber = columnNumber; _view = view; _columnManager = columnManager; + _comparator = Policy.getComparator(); + } + + public void setColumnNumber(int columnNumber){ + _columnNumber = columnNumber; } public boolean isSorterProperty(java.lang.Object element, java.lang.Object property) @@ -82,25 +93,31 @@ Object name1 = getValueFor(e1, _columnNumber); Object name2 = getValueFor(e2, _columnNumber); + // deal with equal objects + if (name1 == name2){ + return 0; + } + try { Object n1 = name1; Object n2 = name2; - if (n1.toString().length() == 0) - return 1; - if (isReversed()) { n1 = name2; n2 = name1; } - if (n1 instanceof String) - { - return ((String) n1).compareTo((String) n2); + // deal with nulls + if (n1 == null){ + return -1; + } + else if (n2 == null){ + return 1; } - else if (n1 instanceof Date) + + if (n1 instanceof Date) { return ((Date) n1).compareTo((Date) n2); } @@ -114,7 +131,7 @@ } else { - return collator.compare(n1, n2); + return _comparator.compare(n1, n2); } } catch (Exception e) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java 2009-08-24 15:01:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -72,6 +72,20 @@ * Martin Oberhuber (Wind River) - [276195] Avoid unnecessary selectionChanged when restoring connections * David McKnight (IBM) - [277328] Unhandled Event Loop Exception When Right-Clicking on "Pending..." Message * David McKnight (IBM) - [283793] [dstore] Expansion indicator(+) does not reset after no connect + * Uwe Stieber (Wind River) - [238519] [usability][api] Adapt RSE view(s) to follow decoration style of the Eclipse platform common navigator + * David McKnight (IBM) - [330973] Drag/drop a local file generates an error message in the Remote system view + * David McKnight (IBM) - [308783] Value in Properties view remains "Pending..." + * David McKnight (IBM) - [241726] Move doesn't select the moved items + * David McKnight (IBM) - [333196] New member filter dialogue keep popping up when creating a shared member filter. + * David McKnight (IBM) - [341281] amendment to fix for bug 308983 + * David McKnight (IBM) - [342208] potential NPE in SystemView$ExpandRemoteObjects.execute() + * David McKnight (IBM) - [342095] Properties in Properties view remain "Pending..." in some cases + * David McKnight (IBM) - [372976] ClassCastException when SystemView assumes widget a TreeItem when it's a Tree + * David Dykstal (IBM) - [257110] Prompting filter called twice on double click rather than just once + * David McKnight (IBM) - [380613] Problem in SystemView with disposed TreeItem when Link With Editor toolbar icon is used + * David McKnight (IBM) - [385774] select folder dialog doesn't update enablement properly after new folder created + * David McKnight (IBM) - [388364] RDz property view flickers when a user disconnects from zOS system + * David Mcknight (IBM) - [374681] Incorrect number of children on the properties page of a directory ********************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -99,7 +113,6 @@ import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; -import org.eclipse.jface.viewers.DecoratingLabelProvider; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IBasicPropertyConstants; import org.eclipse.jface.viewers.IContentProvider; @@ -215,6 +228,7 @@ import org.eclipse.swt.widgets.TreeItem; import org.eclipse.swt.widgets.Widget; import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; @@ -228,6 +242,7 @@ import org.eclipse.ui.progress.UIJob; import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds; import org.eclipse.ui.views.framelist.GoIntoAction; +import org.eclipse.ui.views.properties.IPropertyDescriptor; /** * This subclass of the standard JFace tree viewer is used to show a tree @@ -282,8 +297,10 @@ // if found, re-expand it if (item != null && !item.isDisposed()) { IRSECallback callback = getCallbackForSubChildren(itemToExpand, _toExpand); - createChildren(item, callback); - ((TreeItem) item).setExpanded(true); + if (callback != null){ + createChildren(item, callback); + ((TreeItem) item).setExpanded(true); + } } } else if (itemToExpand.data!=null) { setExpandedState(itemToExpand.data, true); @@ -399,6 +416,8 @@ protected List _setList; protected boolean _allowAdapterToHandleDoubleClick = true; + + private Object[] _lastPropertyValues = null; // to reduce duplicate property sheet updates /** * Constructor @@ -530,7 +549,7 @@ IWorkbench wb = PlatformUI.getWorkbench(); decorator = wb.getDecoratorManager().getLabelDecorator(); } - setLabelProvider(new DecoratingLabelProvider(lcProvider, decorator)); + setLabelProvider(new SystemViewDecoratingStyledCellLabelProvider(lcProvider, decorator)); setContentProvider(lcProvider); } @@ -660,7 +679,8 @@ if (!alreadyHandled && isExpandable(element)) { boolean expandedState = getExpandedState(elementPath); - setExpandedState(elementPath, !expandedState); + // TL: need postpone this ExpandState change to avoid an extra createfilter + //setExpandedState(elementPath, !expandedState); // DWD: fire collapse / expand event Event baseEvent = new Event(); baseEvent.item = findItem(element); @@ -671,6 +691,8 @@ } else { handleTreeExpand(treeEvent); } + // TL: post-change ExpandState + setExpandedState(elementPath, !expandedState); return; } } @@ -2679,7 +2701,18 @@ if (originatedHere){ // first, restore previous selection... if (prevSelection != null) selectRemoteObjects(prevSelection, ss, parentSelectionItem); - TreeItem selectedItem = getFirstSelectedTreeItem(); + + TreeItem selectedItem = null; + if (remoteResourceParent instanceof String) + selectedItem = (TreeItem)findFirstRemoteItemReference((String)remoteResourceParent, ss, parentSelectionItem); + else + selectedItem = (TreeItem)findFirstRemoteItemReference(remoteResourceParent, parentSelectionItem); + + if (selectedItem == null){ + selectedItem = getFirstSelectedTreeItem(); + } + + if (selectedItem != null) { Object data = selectedItem.getData(); @@ -2695,7 +2728,7 @@ createChildren(selectedItem); selectedItem.setExpanded(true); } - if (adapter.supportsDeferredQueries(ss)) + if (adapter.supportsDeferredQueries(ss) && allowExpand) // should not be waiting for a non-query - bug 330973 { final List names = remoteResourceNames; final String name = remoteResourceName; @@ -3258,7 +3291,13 @@ } // STEP 4: update the property sheet in case we changed properties of first selected item - updatePropertySheet(); + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection){ + Object sel = ((IStructuredSelection)selection).getFirstElement(); + if (remoteObject.equals(sel)){ + updatePropertySheet(true); + } + } return; } @@ -3367,9 +3406,12 @@ String newText = adapter.getText(element); if (oldText == null || !oldText.equals(newText)) { - //if (newText != null){ + if (newText != null){ item.setText(newText); - //} + } + else { + SystemBasePlugin.logInfo("SystemView.doUpdateItem() - text for " + element + " is null!"); //$NON-NLS-1$//$NON-NLS-2$ + } } } @@ -3669,9 +3711,13 @@ return false; } - if ((parentItem != null) && !getExpanded(parentItem)) - //setExpanded(parentItem, true); - setExpandedState(parentItem.getData(), true); + if ((parentItem != null) && !getExpanded(parentItem)){ + // don't expand objects that don't have children - bug 330973 + Object parentData = parentItem.getData(); + boolean expandable = getViewAdapter(parentData).hasChildren((IAdaptable)parentData); + if (expandable) + setExpandedState(parentItem.getData(), true); + } //System.out.println("SELECT_REMOTE: PARENT = " + parent + ", PARENTITEM = " + parentItem); if (src instanceof List) { @@ -3694,8 +3740,16 @@ if ((parentItem == null) && (selItem instanceof TreeItem)) parentItem = ((TreeItem) selItem).getParentItem(); } } - if (selItems.size() > 0) { - setSelection(selItems); + if (selItems.size() > 0) { + List dataList = new ArrayList(); + for (int i = 0; i < selItems.size(); i++){ + Item item = (Item)selItems.get(i); + if (item != null){ + dataList.add(item.getData()); + } + } + IStructuredSelection sel = new StructuredSelection(dataList); + setSelection(sel); updatePropertySheet(); return true; } @@ -3707,9 +3761,9 @@ selItem = findFirstRemoteItemReference(src, parentItem); if (selItem != null) { - ArrayList selItems = new ArrayList(); - selItems.add(selItem); - setSelection(selItems); + + IStructuredSelection sel = new StructuredSelection(selItem.getData()); + setSelection(sel); updatePropertySheet(); return true; } @@ -4251,8 +4305,6 @@ Widget item = findItem(ss); if (item == null) { - refresh(); - if (debug) logDebugMsg("...Did not find ss " + ss.getName()); //$NON-NLS-1$ return; } @@ -4326,10 +4378,10 @@ } } else // add operation { - if (!(((TreeItem) parentRefItem).getExpanded())) { + if (parentRefItem instanceof TreeItem && (!((TreeItem) parentRefItem).getExpanded())){ refresh(parentRefItem.getData()); // delete cached GUIs - //setExpandedState(parentRefItem,true); // not our job to expand here. - } else if (afilterstring) { + } + else if (afilterstring) { ISystemFilterReference fr = (ISystemFilterReference) parentRefItem.getData(); ISystemFilterStringReference fsr = fr.getSystemFilterStringReference(filterstring); createTreeItem(parentRefItem, fsr, event.getPosition()); @@ -4568,7 +4620,7 @@ public Item findFirstRemoteItemReference(Object remoteObject, Item parentItem) { Item match = mappedFindFirstRemoteItemReference(remoteObject); - if (match != null) + if (match != null && !match.isDisposed()) return match; //List matches = new Vector(); @@ -4743,7 +4795,7 @@ // use map first Item match = mappedFindFirstRemoteItemReference(elementObject); - for (int idx = 0; (match == null) && (idx < roots.length); idx++) { + for (int idx = 0; (match == null || match.isDisposed()) && (idx < roots.length); idx++) { //System.out.println("recursiveFindFirstRemoteItemReference(parentItem, remoteObjectName, remoteObject, subsystem)"); match = recursiveFindFirstRemoteItemReference(roots[idx], searchString, elementObject, subsystem); } @@ -5769,7 +5821,7 @@ */ public Object[] getElementNodes(Object element) { Widget w = findItem(element); - if ((w != null) && (w instanceof TreeItem)) return getElementNodes((TreeItem) w); + if ((w != null) && (!w.isDisposed()) && (w instanceof TreeItem)) return getElementNodes((TreeItem) w); return null; } @@ -5921,22 +5973,92 @@ item.setExpanded(true); } + public void updatePropertySheet(){ + updatePropertySheet(false); + } + /** * Called when a property is updated and we need to inform the Property Sheet viewer. * There is no formal mechanism for this so we simulate a selection changed event as * this is the only event the property sheet listens for. */ - public void updatePropertySheet() { + private void updatePropertySheet(boolean force) { ISelection selection = getSelection(); - if (selection == null) return; + if (selection == null || !(selection instanceof IStructuredSelection)) return; // only fire this event if the view actually has focus - if (getControl().isFocusControl()) - { - // create an event - SelectionChangedEvent event = new SelectionChangedEvent(this, getSelection()); - // fire the event - fireSelectionChanged(event); + if (force || getControl().isFocusControl()) + { + Object object = ((IStructuredSelection)selection).getFirstElement(); + if (object != null){ + ISystemViewElementAdapter adapter = getViewAdapter(object); + if (adapter != null){ + // figure out what properties this object has + adapter.setPropertySourceInput(object); + IPropertyDescriptor[] descriptors = adapter.getPropertyDescriptors(); + Object[] propertyValues = new Object[descriptors.length]; + for (int i = 0; i < descriptors.length; i++){ + IPropertyDescriptor descriptor = descriptors[i]; + propertyValues[i] = adapter.getPropertyValue(descriptor.getId()); + } + + if (_lastPropertyValues != null){ + if (_lastPropertyValues.length == propertyValues.length){ + boolean theSame = true; + // check to see if anything has changed + for (int i = 0; i < _lastPropertyValues.length && theSame; i++){ + Object lastPropertyValue = _lastPropertyValues[i]; + Object propertyValue = propertyValues[i]; + if (lastPropertyValue != null && !lastPropertyValue.equals(propertyValue)){ + theSame = false; + } + } + if (theSame){ + // no need to refresh anything + return; + } + } + } + _lastPropertyValues = propertyValues; + + } + + + IWorkbenchPart ourPart = getWorkbenchPart(); + IWorkbenchPart activePart = null; + IWorkbenchWindow win = getWorkbenchWindow(); // from dialog it's possible to not have an active part + if (win != null){ + IWorkbenchPage page = win.getActivePage(); + if (page != null){ + activePart = page.getActivePart(); + } + } + if (activePart != null){ + if (activePart != ourPart){ + ourPart.setFocus(); // without part focus, there are no post selection change listeners + } + + // create events in order to update the property sheet + IStructuredSelection fakeSelection = new StructuredSelection(new Object()); + + if (fakeSelection != null){ + SelectionChangedEvent dummyEvent = new SelectionChangedEvent(this, fakeSelection); + // first change the selection, then change it back (otherwise the property sheet ignores the event) + fireSelectionChanged(dummyEvent); + firePostSelectionChanged(dummyEvent); + } + SelectionChangedEvent event = new SelectionChangedEvent(this, selection); + + // fire the event + fireSelectionChanged(event); + firePostSelectionChanged(event); + + if (ourPart != activePart){ + activePart.setFocus(); + } + } + } + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDataDropAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDataDropAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDataDropAdapter.java 2008-09-29 20:35:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDataDropAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -17,6 +17,7 @@ * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * David McKnight (IBM) - [234924] [ftp][dnd][Refresh] Copy/Paste file from Package Explorer doesn't refresh folder * David McKnight (IBM) - [248339] [dnd][encodings] Cannot drag&drop / copy&paste files or folders with turkish or arabic names + * David McKnight (IBM) - [398324] cross systems folder transfer breaks due to scoping rule ********************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -243,57 +244,7 @@ target = getViewer().getInput(); } - List rulesList = new ArrayList(); - int j = 0; - for (int i = 0; i < srcObjects.size(); i++) - { - if (srcObjects.get(i) instanceof ISchedulingRule) - { - rulesList.add(srcObjects.get(i)); - j++; - } - /** FIXME - can't be coupled with IRemoteFile - else if (srcObjects.get(i) instanceof IRemoteFile) - { - rulesList.add(new RemoteFileSchedulingRule((IRemoteFile)srcObjects.get(i))); - j++; - } - */ - } - /* - if (target instanceof ISchedulingRule) - { - rulesList.add(target); - j++; - } - */ - /** FIXME - can't be coupled with IRemoteFile - else if (target instanceof IRemoteFile) - { - rulesList.add(new RemoteFileSchedulingRule((IRemoteFile)target)); - } - - else if (target instanceof IAdaptable) - { - ISystemDragDropAdapter targetAdapter = (ISystemDragDropAdapter) ((IAdaptable) target).getAdapter(ISystemDragDropAdapter.class); - - if (targetAdapter != null) - { - ISubSystem targetSubSystem = targetAdapter.getSubSystem(target); - rulesList.add(targetSubSystem); - j++; - } - } - */ - MultiRule rule = null; - ISchedulingRule[] rules = (ISchedulingRule[])rulesList.toArray(new ISchedulingRule[rulesList.size()]); - - if (j > 0) rule = new MultiRule(rules); - - SystemDNDTransferRunnable runnable = new SystemDNDTransferRunnable(target, srcObjects, getViewer(), _sourceType); - // DKM - rules are causing problems at the moment - runnable.setRule(rule); - + SystemDNDTransferRunnable runnable = new SystemDNDTransferRunnable(target, srcObjects, getViewer(), _sourceType); if (target instanceof SystemScratchpad) { runnable.run(new NullProgressMonitor()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDecoratingStyledCellLabelProvider.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDecoratingStyledCellLabelProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDecoratingStyledCellLabelProvider.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewDecoratingStyledCellLabelProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,139 @@ +/******************************************************************************* + * Copyright (c) 2010 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Uwe Stieber (Wind River) - initial API and implementation + *******************************************************************************/ + +package org.eclipse.rse.internal.ui.view; + +import org.eclipse.jface.preference.JFacePreferences; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.jface.viewers.ColumnViewer; +import org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider; +import org.eclipse.jface.viewers.DecorationContext; +import org.eclipse.jface.viewers.IDecorationContext; +import org.eclipse.jface.viewers.ILabelDecorator; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.jface.viewers.ViewerColumn; +import org.eclipse.ui.IWorkbenchPreferenceConstants; +import org.eclipse.ui.PlatformUI; + +/** + * RSE Remote Systems view decorating styled cell label provider.
    + * Add common navigator style decorations. + * + * @since 3.2 + */ +public class SystemViewDecoratingStyledCellLabelProvider extends DecoratingStyledCellLabelProvider implements IPropertyChangeListener, ILabelProvider { + + /** + * Constructor. + * + * @param labelProvider The styled label provider. Must not be null + * @param decorator The label decorator or null to use the platforms default label decorator. + */ + public SystemViewDecoratingStyledCellLabelProvider(IStyledLabelProvider labelProvider, ILabelDecorator decorator) { + this(labelProvider, decorator, DecorationContext.DEFAULT_CONTEXT); + } + + /** + * Constructor. + * + * @param labelProvider The styled label provider. Must not be null + * @param decorator The label decorator or null to use the platforms default label decorator. + * @param decorationContext The decoration context or null to use default. + */ + public SystemViewDecoratingStyledCellLabelProvider(IStyledLabelProvider labelProvider, ILabelDecorator decorator, IDecorationContext decorationContext) { + super(labelProvider, + decorator != null ? decorator : PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), + decorationContext); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object) + */ + public String getText(Object element) { + // Apply the styles to the label + return getStyledText(element).getString(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.StyledCellLabelProvider#initialize(org.eclipse.jface.viewers.ColumnViewer, org.eclipse.jface.viewers.ViewerColumn) + */ + public void initialize(ColumnViewer viewer, ViewerColumn column) { + // Add ourselfs to the color registry to get notified if the + // decoration colour is changing + JFaceResources.getColorRegistry().addListener(this); + + // There is no preference setting yet dedicated to the RSE remote system view + // for showing coloroured label or not. Until available, we hook on the common + // navigator preference setting. + PlatformUI.getPreferenceStore().addPropertyChangeListener(this); + setOwnerDrawEnabled(PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.USE_COLORED_LABELS)); + + super.initialize(viewer, column); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider#dispose() + */ + public void dispose() { + // Remove ourself as listener from the colour registry + JFaceResources.getColorRegistry().removeListener(this); + // And remove ourself as listener from the platforms preference store + PlatformUI.getPreferenceStore().removePropertyChangeListener(this); + + super.dispose(); + } + + /** + * Returns the column viewer associated with the styled label decorator. + * + * @return The column viewer. + */ + protected final ColumnViewer getColumnViewer() { return getViewer(); } + + /* (non-Javadoc) + * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent) + */ + public void propertyChange(final PropertyChangeEvent event) { + if (event == null) return; + + // flag to set if or if not to refresh the viewer + boolean doRefresh = false; + + // We update the viewer if either the decoration colour changed or + // the user changed the preference if using coloured labels or not + doRefresh |= event.getProperty().equals(IWorkbenchPreferenceConstants.USE_COLORED_LABELS); + doRefresh |= event.getProperty().equals(JFacePreferences.DECORATIONS_COLOR); + + // If we do not require to refresh the viewer, we are done here + if (!doRefresh || !PlatformUI.isWorkbenchRunning() || PlatformUI.getWorkbench().getDisplay() == null) return; + + // Force the refresh of the viewer itself to be asynchronous and within the display thread. + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + public void run() { + // The associated viewer must be not null + if (getColumnViewer() == null) return; + + // Get the current state if or if not to use coloured label + boolean useColouredLabels = PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.USE_COLORED_LABELS); + + // Update the internal flag if the preference setting has changed + // and refresh the viewer + if (isOwnerDrawEnabled() != useColouredLabels) { setOwnerDrawEnabled(useColouredLabels); getColumnViewer().refresh(); } + + // If useColouredLabels is switched on and the colour changed, + // refresh the viewer + else if (useColouredLabels) getColumnViewer().refresh(); + } + }); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java 2008-05-16 02:07:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,6 +22,7 @@ * Xuan Chen (IBM) - [160775] [api] rename (at least within a zip) blocks UI thread * David Dykstal (IBM) - [224671] [api] org.eclipse.rse.core API leaks non-API types * David Dykstal (IBM) - [226761] fix NPE in team view when expanding items + * David McKnight (IBM) - [334295] SystemViewForm dialogs don't display cancellable progress in the dialog *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -196,6 +197,17 @@ } /** + * Overriding because it's possible for a filter to be promptable while not being a ISystemPromptableObject + */ + public boolean isPromptable(Object element){ + ISystemFilter filter = getFilter(element); + if (filter != null && filter.isPromptable()){ + return true; + } + return super.isPromptable(element); + } + + /** * Return the children of this filter. * This is a combination of nested filters and resolved filter objects. */ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java 2008-11-07 19:17:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFilterReferenceAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,6 +32,7 @@ * David McKnight (IBM) - [244824] filter not refreshed if child is "empty list" or system message node * David McKnight (IBM) - [249245] not showing inappropriate popup actions for: Refresh, Show In Table, Go Into, etc. * David McKnight (IBM) - [254614] Promptable filter's shouldn't require supportsCommands on the subsystem to be false + * Noriaki Takatsu (IBM) - [288894] CANCEL has to be pressed 3 times in Userid/Password prompt window in Remote System Details view *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -289,6 +290,7 @@ */ public Object[] getChildren(IContextObject element, IProgressMonitor monitor) { Object[] children = getChildren(element.getModelObject(), monitor); + if (children == null) return null; ISubSystem subsystem = element.getSubSystem(); ISubSystemConfiguration configuration = subsystem.getSubSystemConfiguration(); Object adapter = Platform.getAdapterManager().getAdapter(configuration, ISubSystemConfigurationAdapter.class); @@ -507,6 +509,7 @@ children = new SystemMessageObject[1]; children[0] = new SystemMessageObject(RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_EXPAND_FAILED), ISystemMessageObject.MSGTYPE_ERROR, element); SystemBasePlugin.logError("Exception resolving filters' strings ", exc); //$NON-NLS-1$ + return null; } // message already issued return checkForEmptyList(children, element, true); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewForm.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewForm.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewForm.java 2009-05-26 11:44:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewForm.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,7 @@ * David McKnight (IBM) - [187711] select SystemView APIs exposed by the ISystemTree interface * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * David McKnight (IBM) - [257721] Doubleclick doing special handling and expanding + * David McKnight (IBM) - [334295] SystemViewForm dialogs don't display cancellable progress in the dialog *******************************************************************************/ package org.eclipse.rse.internal.ui.view; import java.util.List; @@ -441,6 +442,9 @@ // for bug 257721, when using system view from a dialog, by default, we don't let adapter handle double-click tree.allowAdapterToHandleDoubleClick(false); + + // add custom content provider + tree.setContentProvider(new SystemViewFormLabelAndContentProvider()); } protected void addOurMouseListener() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFormLabelAndContentProvider.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFormLabelAndContentProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFormLabelAndContentProvider.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewFormLabelAndContentProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,89 @@ +/******************************************************************************** + * Copyright (c) 2011 IBM Corporation and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * David McKnight (IBM) - [334295] SystemViewForm dialogs don't display cancellable progress in the dialog + ********************************************************************************/ + +package org.eclipse.rse.internal.ui.view; + +import java.lang.reflect.InvocationTargetException; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.operation.IRunnableContext; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.osgi.util.NLS; +import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.rse.ui.view.IContextObject; +import org.eclipse.rse.ui.view.ISystemViewElementAdapter; + +public class SystemViewFormLabelAndContentProvider extends + SystemViewLabelAndContentProvider { + + // override to deal with progress monitor + public Object[] getChildren(Object object) + { + Object element = object; + if (object instanceof IContextObject) + { + element = ((IContextObject)object).getModelObject(); + } + ISystemViewElementAdapter adapter = getViewAdapter(element); + if (supportsDeferredQueries() && !adapter.isPromptable(element)) + { + IRunnableContext irc = RSEUIPlugin.getTheSystemRegistryUI().getRunnableContext(); + if (irc == null){ + irc = SystemBasePlugin.getActiveWorkbenchWindow(); + } + if (irc == null){ // no window - defer to the base behaviour + return super.getChildren(object); + } + final Object fparent = object; + final Object felement = element; + final ISystemViewElementAdapter fadapter = adapter; + class MyRunnable implements IRunnableWithProgress + { + private Object[] _children = null; + public void run(IProgressMonitor monitor) + throws InvocationTargetException, InterruptedException { + + String taskName = NLS.bind(SystemViewResources.RESID_FETCHING_CHILDREN_OF, fadapter.getAbsoluteName(felement)); + monitor.beginTask(taskName, IProgressMonitor.UNKNOWN); + if (fparent instanceof IContextObject){ + _children = fadapter.getChildren((IContextObject)fparent, monitor); + } + else { + _children = fadapter.getChildren((IAdaptable)fparent, monitor); + } + monitor.done(); + } + + public Object[] getChildren(){ + return _children; + } + } + + MyRunnable runnable = new MyRunnable(); + try { + irc.run(true, true, runnable); + } catch (InvocationTargetException e) { + SystemBasePlugin.logError(e.getMessage()); + } catch (InterruptedException e) { + SystemBasePlugin.logError(e.getMessage()); + } + return runnable.getChildren(); + } + else { + return super.getChildren(object); + } + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewLabelAndContentProvider.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewLabelAndContentProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewLabelAndContentProvider.java 2009-05-06 16:35:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewLabelAndContentProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -18,6 +18,7 @@ * David McKnight (IBM) - [236505] Remote systems dialog not working * Martin Oberhuber (Wind River) - [238519][api] Support styled label decorations * David McKnight (IBM) - [238288] use ImageRegistry to store/retrieve images for RSE label providers + * David McKnight (IBM) - [353685] Connection error dialog is not displayed ********************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -28,8 +29,12 @@ import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.viewers.AbstractTreeViewer; @@ -43,14 +48,19 @@ import org.eclipse.rse.core.model.ISystemViewInputProvider; import org.eclipse.rse.core.model.SystemMessageObject; import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.core.subsystems.SubSystem.SystemMessageDialogRunnable; +import org.eclipse.rse.internal.ui.SystemResources; +import org.eclipse.rse.services.clientserver.messages.SystemMessageException; import org.eclipse.rse.ui.RSEUIPlugin; import org.eclipse.rse.ui.SystemBasePlugin; +import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.rse.ui.model.ISystemShellProvider; import org.eclipse.rse.ui.operations.SystemDeferredTreeContentManager; import org.eclipse.rse.ui.view.IContextObject; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.model.IWorkbenchAdapter; import org.eclipse.ui.progress.PendingUpdateAdapter; @@ -331,8 +341,45 @@ { children = adapter.getChildren((IAdaptable)object, new NullProgressMonitor()); } - - + if (children == null){ + // make sure connected - the message may have been suppressed + ISubSystem ss = null; + if (object instanceof IContextObject){ + ss = ((IContextObject)object).getSubSystem(); + } + else{ + ss = adapter.getSubSystem(object); + } + if (ss != null){ + if (!ss.isConnected()){ + final ISubSystem fss = ss; + // run a connect job so we can get at the error message + new Job(SystemResources.ACTION_CONNECT_LABEL) { + protected IStatus run(IProgressMonitor monitor) { + try { + fss.connect(monitor, false); + } + catch (SystemMessageException ex){ + final SystemMessageException fex = ex; + Display.getDefault().asyncExec(new Runnable() { + + public void run() { + SystemMessageDialog dlg = new SystemMessageDialog(SystemBasePlugin.getActiveWorkbenchShell(), fex.getSystemMessage()); + dlg.open(); + } + }); + } + catch (Exception e) { + return Status.CANCEL_STATUS; + } + return Status.OK_STATUS; + } + }.schedule(); + } + } + } + + if ((filesOnly || foldersOnly) && // an array of one SystemMessageObject item implies some kind of error, so don't cache... ((children.length != 1) || !(children[0] instanceof SystemMessageObject)) ) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java 2008-04-03 17:53:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewMenuListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,9 +13,14 @@ * * Contributors: * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + * Uwe Stieber (Wind River) - [319618] [context-menu] Tool tip not shown in status bar for command contributions items + * Martin Oberhuber (Wind River) - [323141] [context-menu] Cleanup introspection code for command contribution items *******************************************************************************/ package org.eclipse.rse.internal.ui.view; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; @@ -25,9 +30,11 @@ import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.swt.events.ArmEvent; import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.widgets.Item; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Widget; +import org.eclipse.ui.menus.CommandContributionItem; /** @@ -159,6 +166,21 @@ String tip = null; //data.getClass().getName(); if (data instanceof ActionContributionItem) tip = ((ActionContributionItem)data).getAction().getToolTipText(); + else if (data instanceof CommandContributionItem) { + try { + tip = ((CommandContributionItem) data).getData().tooltip; + } catch (Throwable apiNotYetAvailable) { + //API was introduced with Eclipse 3.7m3 -- use introspection on older Eclipse + try { + Field f = data.getClass().getDeclaredField("widget"); //$NON-NLS-1$ + f.setAccessible(true); + Widget widget = (Widget)f.get(data); + Method m = data.getClass().getDeclaredMethod("getToolTipText", new Class[] { String.class }); //$NON-NLS-1$ + m.setAccessible(true); + tip = (String)m.invoke(data, new Object[] { widget instanceof Item ? ((Item)widget).getText() : (String)null }); + } catch (Exception e) { /* ignored on purpose */ } + } + } else if (data instanceof SystemSubMenuManager) tip = ((SystemSubMenuManager)data).getToolTipText(); if (tip != null) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPart.java 2009-08-24 14:58:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -40,6 +40,11 @@ * David McKnight (IBM) - [250417] Restore from memento flag set to false during restore on startup * Martin Oberhuber (Wind River) - [286122] Avoid NPE when restoring memento * David McKnight (IBM) - [286670] TVT35:TCT586: CHS: English Strings Found + * Martin Oberhuber (Wind River) - [326910] RSE looses selection when creating a project + * David McKnight (IBM) - [330386] RSE SystemView has Focus Problems with Eclipse SDK 4.1M3 + * David McKnight (IBM) - [238365] Collapsing tree in new window collapses tree in Original window + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [251654] System View Restore doesn't take into account Expand To Filter *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -114,10 +119,10 @@ import org.eclipse.rse.ui.actions.SystemRefreshAllAction; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.view.ContextObject; +import org.eclipse.rse.ui.view.IContextObject; import org.eclipse.rse.ui.view.IRSEViewPart; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.rse.ui.view.IViewLinker; -import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.ScrollBar; @@ -231,7 +236,21 @@ */ public void selectReveal(ISelection selection) { - systemView.setSelection(selection, true); + ISelection origSel = systemView.getSelection(); + if (origSel.isEmpty()) { + systemView.setSelection(selection, true); + } else { + // bug check whether the new selection can be set, + // before actually setting it. Restore old selection + // if the new one does not work. + systemView.setSelection(selection, false); + ISelection newSel = systemView.getSelection(); + if (newSel.isEmpty()) { + systemView.setSelection(origSel, false); + } else { + systemView.setSelection(newSel, true); + } + } } /** @@ -369,12 +388,10 @@ } // register global edit actions - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); - CellEditorActionHandler editorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars()); - _copyAction = new SystemCopyToClipboardAction(systemView.getShell(), clipboard); - _pasteAction = new SystemPasteFromClipboardAction(systemView.getShell(), clipboard); + _copyAction = new SystemCopyToClipboardAction(systemView.getShell(), null); + _pasteAction = new SystemPasteFromClipboardAction(systemView.getShell(), null); editorActionHandler.setCopyAction(_copyAction); editorActionHandler.setPasteAction(_pasteAction); @@ -524,8 +541,6 @@ public void setFocus() { //System.out.println("INSIDE SETFOCUS FOR SYSTEMVIEWPART. SYSTEMVIEW NULL? " + (systemView==null)); - IWorkbench wb = PlatformUI.getWorkbench(); - wb.getActiveWorkbenchWindow().getShell().setFocus(); systemView.getControl().setFocus(); /* the following was an attempt to fix problem with scrollbar needing two clicks to activate. didn't help. if (!SystemPreferencesGlobal.getGlobalSystemPreferences().getRememberState()) @@ -601,6 +616,7 @@ toolBarMgr.add(new Separator(ISystemContextMenuConstants.GROUP_EXPAND)); SystemCollapseAllAction collapseAllAction = new SystemCollapseAllAction(getShell()); collapseAllAction.setSelectionProvider(systemView); + collapseAllAction.setViewer(systemView); // fix for bug 238365 - action needs to know the viewer toolBarMgr.add(collapseAllAction); IMenuManager menuMgr = actionBars.getMenuManager(); @@ -1508,6 +1524,51 @@ protected class RestoreRemoteObjects extends Job { + class GetExpandToFilter implements Runnable + { + private IWorkbenchPart _part; + private String _expandToFilter = null; + private Object _remoteObject = null; + + public GetExpandToFilter(Object remoteObject){ + _remoteObject = remoteObject; + } + + public void run() + { + IWorkbenchPart activePart = _part; + if (activePart==null) { + IWorkbenchWindow win = SystemBasePlugin.getActiveWorkbenchWindow(); + if (win != null){ + IWorkbenchPage page = win.getActivePage(); + if (page != null){ + activePart = page.getActivePart(); + if (activePart != null){ + _part = activePart; + } + } + } + } + + if (activePart instanceof SystemViewPart){ + SystemView viewer = ((SystemViewPart)activePart).getSystemView(); + if (_remoteObject instanceof IContextObject){ + _expandToFilter = viewer.getExpandToFilter(((IContextObject)_remoteObject).getModelObject()); + } + else { + _expandToFilter = viewer.getExpandToFilter(_remoteObject); + } + } + } + + public String getExpandToFilter() + { + return _expandToFilter; + } + } + + + private Vector _remoteObjectsToRestore; private Vector _remoteObjectsToSelect; @@ -1587,11 +1648,22 @@ // get the context ContextObject contextObject = new ContextObject(actualObject, ss, fref); - // get the children - Object[] children = adapter.getChildren(contextObject, monitor); - - ShowRestoredRemoteObject showRunnable = new ShowRestoredRemoteObject(actualObject, children); - Display.getDefault().asyncExec(showRunnable); + Object[] children = null; + + Display dis = Display.getDefault(); + GetExpandToFilter getExpandTo = new GetExpandToFilter(contextObject); + dis.syncExec(getExpandTo); + String expandToFilter = getExpandTo.getExpandToFilter(); + if (expandToFilter != null){ + children = adapter.getChildrenUsingExpandToFilter(actualObject, expandToFilter); + } + else { + // get the children + children = adapter.getChildren(contextObject, monitor); + } + + ShowRestoredRemoteObject showRunnable = new ShowRestoredRemoteObject(actualObject, children); + Display.getDefault().asyncExec(showRunnable); } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.java 2008-03-28 19:44:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * David McKnight (IBM) - [216252] [nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible * David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings * Xuan Chen (IBM) - [222263] Need to provide a PropertySet Adapter for System Team View + * David McKnight (IBM) - [334295] SystemViewForm dialogs don't display cancellable progress in the dialog *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -135,6 +136,7 @@ public static String RESID_REMOTE_SCRATCHPAD; public static String RESID_FETCHING; + public static String RESID_FETCHING_CHILDREN_OF; static { // load message values from bundle file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.properties eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.properties 2008-03-28 19:44:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewResources.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2008 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ # David McKnight (IBM) - [216252] [nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible # David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings # Xuan Chen (IBM) - [222263] Need to provide a PropertySet Adapter for System Team View +# David McKnight (IBM) - [334295] SystemViewForm dialogs don't display cancellable progress in the dialog ############################################################################### # NLS_MESSAGEFORMAT_VAR @@ -115,3 +116,4 @@ RESID_REMOTE_SCRATCHPAD=Remote Scratchpad RESID_FETCHING = Fetching Remote Resources +RESID_FETCHING_CHILDREN_OF = Fetching children of {0} diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java 2008-04-07 12:49:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemViewScratchpadAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [186128] Move IProgressMonitor last in all API * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI + * David McKnight (IBM) - [330398] RSE leaks SWT resources *******************************************************************************/ package org.eclipse.rse.internal.ui.view; @@ -63,7 +64,7 @@ { if (_pasteToScratchpadAction == null) { - _pasteToScratchpadAction = new SystemPasteFromClipboardAction(shell, RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard()); + _pasteToScratchpadAction = new SystemPasteFromClipboardAction(shell, null); } menu.add(menuGroup, _pasteToScratchpadAction); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java 2008-04-03 16:03:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -18,6 +18,8 @@ * Kevin Doyle (IBM) - [177587] changed wrapped selection provider in setFocus() * Kevin Doyle (IBM) - [212940] Duplicate Help Context Identifiers * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [372674] Enhancement - Preserve state of Remote Monitor view ********************************************************************************/ package org.eclipse.rse.internal.ui.view.monitor; @@ -108,12 +110,10 @@ try { Thread.sleep(interval); - doQuery(); - // while (_querying) - // { - // Thread.sleep(100); - // } - doRedraw(); + if (isPollingEnabled()){ + doQuery(); + doRedraw(); + } } catch (InterruptedException e) { @@ -257,11 +257,10 @@ createControl(_tabFolderPage); // global actions - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); - _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), clipboard); + _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), null); _copyAction.setEnabled(false); - _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), clipboard); + _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), null); _pasteAction.setEnabled(false); editorActionHandler.setCopyAction(_copyAction); @@ -299,6 +298,14 @@ //setActionHandlers(); } + public void setPollingInterval(int interval){ + _pollingInterval = interval; + if (_scale != null){ + _scaleValue.setText(_pollingInterval + "s"); //$NON-NLS-1$ + _scale.setSelection(_pollingInterval); + } + } + public int getPollingInterval() { return _pollingInterval; @@ -316,6 +323,16 @@ public void setPollingEnabled(boolean flag) { _isPolling = flag; + if (_pollCheckbox != null){ + _pollCheckbox.setSelection(_isPolling); + _scale.setEnabled(_isPolling); + _scaleValue.setEnabled(_isPolling); + + if (_pollingThread == null){ + _pollingThread = new PollingThread(); + _pollingThread.start(); + } + } } public void setEnabled(boolean flag) @@ -490,10 +507,11 @@ public void updateTitle(IAdaptable object) { - ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)object.getAdapter(ISystemViewElementAdapter.class); - + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)object.getAdapter(ISystemViewElementAdapter.class); + if (adapter != null){ String title = adapter.getText(object); _tabFolderPage.setText(title); + } } public String getTitle() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java 2009-07-03 15:13:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/MonitorViewWorkbook.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2009 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -28,6 +28,8 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; @@ -48,7 +50,7 @@ { super(parent, SWT.NONE); - _folder = new CTabFolder(this, SWT.NONE); + _folder = new CTabFolder(this, SWT.NULL); _folder.setLayout(new TabFolderLayout()); _folder.setLayoutData(new GridData(GridData.FILL_BOTH)); setLayout(new FillLayout()); @@ -157,8 +159,10 @@ if (_folder.getItemCount() > 0) { int index = _folder.getSelectionIndex(); - CTabItem item = _folder.getItem(index); - return (MonitorViewPage) item.getData(); + if (index >= 0){ + CTabItem item = _folder.getItem(index); + return (MonitorViewPage) item.getData(); + } } return null; } @@ -223,7 +227,7 @@ { MonitorViewPage monitorViewPage = new MonitorViewPage(_viewPart); - CTabItem titem = new CTabItem(_folder, SWT.NULL); + CTabItem titem = new CTabItem(_folder, SWT.CLOSE); setTabTitle(root, titem); titem.setData(monitorViewPage); @@ -240,6 +244,23 @@ _viewPart.getSite().registerContextMenu(ISystemContextMenuConstants.RSE_CONTEXT_MENU, viewer.getContextMenuManager(), viewer); } monitorViewPage.setFocus(); + + titem.addDisposeListener(new DisposeListener() { + public void widgetDisposed(DisposeEvent e) { + Object source = e.getSource(); + if (source instanceof CTabItem) { + CTabItem currentItem = (CTabItem) source; + Object data = currentItem.getData(); + if (data instanceof MonitorViewPage) { + MonitorViewPage page = (MonitorViewPage)data; + page.setPollingEnabled(false); // stop polling + page.dispose(); + } + updateActionStates(); + } + } + + }); } private void setTabTitle(IAdaptable root, CTabItem titem) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java 2009-07-03 15:13:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/monitor/SystemMonitorViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -21,14 +21,25 @@ * David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * Zhou Renjian (Kortide) - [282239] Monitor view does not update icon according to connection status + * David McKnight (IBM) - [294663] bad cast in monitor view part refresh action + * David McKnight (IBM) - [340912] inconsistencies with columns in RSE table viewers + * David McKnight (IBM) - [372674] Enhancement - Preserve state of Remote Monitor view ********************************************************************************/ package org.eclipse.rse.internal.ui.view.monitor; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; import java.util.Vector; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IStatusLineManager; import org.eclipse.jface.action.IToolBarManager; @@ -46,14 +57,19 @@ import org.eclipse.rse.core.events.ISystemResourceChangeEvent; import org.eclipse.rse.core.events.ISystemResourceChangeEvents; import org.eclipse.rse.core.events.ISystemResourceChangeListener; +import org.eclipse.rse.core.filters.ISystemFilterReference; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.IRSECallback; import org.eclipse.rse.core.model.ISystemContainer; +import org.eclipse.rse.core.model.ISystemProfile; import org.eclipse.rse.core.model.ISystemRegistry; +import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.internal.ui.SystemPropertyResources; import org.eclipse.rse.internal.ui.SystemResources; -import org.eclipse.rse.internal.ui.view.SystemTableTreeViewProvider; import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.ui.ISystemIconConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.SystemPreferencesManager; import org.eclipse.rse.ui.SystemWidgetHelpers; import org.eclipse.rse.ui.dialogs.SystemPromptDialog; import org.eclipse.rse.ui.messages.ISystemMessageLine; @@ -62,7 +78,10 @@ import org.eclipse.rse.ui.view.ISystemTableViewColumnManager; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.rse.ui.view.SystemTableView; +import org.eclipse.rse.ui.view.SystemTableViewProvider; import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; @@ -75,12 +94,16 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Widget; import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IMemento; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.ISelectionService; +import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.CellEditorActionHandler; import org.eclipse.ui.part.ViewPart; import org.eclipse.ui.views.properties.IPropertyDescriptor; @@ -101,14 +124,290 @@ IRSEViewPart, ISelectionProvider { + class RestoreStateRunnable extends Job + { + private IMemento _rmemento; + public RestoreStateRunnable(IMemento memento) + { + super(SystemResources.RESID_RESTORE_RSE_MONITOR_JOB); + _rmemento = memento; + } + public IStatus run(IProgressMonitor monitor) + { + try { + IStatus wstatus = RSECorePlugin.waitForInitCompletion(); + if (!wstatus.isOK() && wstatus.getSeverity() == IStatus.ERROR){ + return wstatus; + } + } + catch (InterruptedException e){ + return Status.CANCEL_STATUS; + } + + Integer tabCountInt = _memento.getInteger(TAG_MONITOR_TAB_COUNT_ID); + if (tabCountInt != null){ + int tabCount = tabCountInt.intValue(); + for (int i = 0; i < tabCount && !monitor.isCanceled(); i++){ + restoreTab(i, monitor); + } + } + return Status.OK_STATUS; + } + + protected void restoreTab(int index, IProgressMonitor monitor){ + final IMemento memento = _rmemento; + + // matches new format for column width memento + // new code - as of RSE 3.1 + final HashMap cachedColumnWidths = new HashMap(); + + // set the cached column widths (for later use) + String columnWidths = memento.getString(TAG_MONITOR_TAB_COLUMN_WIDTHS_ID+index); + if (columnWidths != null){ + if (columnWidths.indexOf(";") > 0){ //$NON-NLS-1$ + + + // parse out set of columns + String[] columnSets = columnWidths.split(";"); //$NON-NLS-1$ + for (int i = 0; i < columnSets.length; i++){ + String columnSet = columnSets[i]; + + // parse out columns for set + String[] pair = columnSet.split("="); //$NON-NLS-1$ + String key = pair[0]; + + // parse out widths + String widthArray = pair[1]; + String[] widthStrs = widthArray.split(","); //$NON-NLS-1$ + + int[] widths = new int[widthStrs.length]; + for (int w = 0; w < widths.length; w++){ + widths[w] = Integer.parseInt(widthStrs[w]); + } + cachedColumnWidths.put(key, widths); + } + } + } + + Boolean pollingOnBool = memento.getBoolean(TAG_MONITOR_TAB_POLLING_ON_ID+index); + Integer pollingIntervalInteger = memento.getInteger(TAG_MONITOR_TAB_POLLING_INTERVAL_ID+index); + boolean pollingOn = false; + int pollingInterval = 100; + if (pollingOnBool != null){ + pollingOn = pollingOnBool.booleanValue(); + } + if (pollingIntervalInteger != null){ + pollingInterval = pollingIntervalInteger.intValue(); + } + + + String profileId = memento.getString(TAG_MONITOR_TAB_PROFILE_ID+index); + String connectionId = memento.getString(TAG_MONITOR_TAB_CONNECTION_ID+index); + String subsystemId = memento.getString(TAG_MONITOR_TAB_SUBSYSTEM_ID+index); + final String filterID = memento.getString(TAG_MONITOR_TAB_FILTER_ID+index); + final String objectID = memento.getString(TAG_MONITOR_TAB_OBJECT_ID+index); + + ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + + Object input = null; + if (subsystemId == null){ + if (connectionId != null){ + ISystemProfile profile = registry.getSystemProfile(profileId); + input = registry.getHost(profile, connectionId); + } + else{ + // 191288 we now use registry instead of registry ui as input + input = registry; + } + } + else { + // from the subsystem ID determine the profile, system and subsystem + final ISubSystem subsystem = registry.getSubSystem(subsystemId); + + if (subsystem != null) { + if (filterID == null && objectID == null) { + input = subsystem; + } + else { + if (!subsystem.isConnected()) { + try { + final Object finInput = input; + final boolean fpollingOn = pollingOn; + final int fpollingInterval = pollingInterval; + subsystem.connect(false, new IRSECallback() { + public void done(IStatus status, Object result) { + // this needs to be done on the main thread + // so doing an asynchExec() + runOnceConnected(new NullProgressMonitor(), finInput, subsystem, filterID, objectID, cachedColumnWidths, fpollingOn, fpollingInterval); + } + }); + } + catch (Exception e) { + } + } + else { + runOnceConnected(monitor, input, subsystem, filterID, objectID, cachedColumnWidths, pollingOn, pollingInterval); + } + return; + } // end else + } // end if (subsystem != null) + } // end else + if (input != null){ + runWithInput(monitor, input, cachedColumnWidths, pollingOn, pollingInterval); + } + } + + + public IStatus runOnceConnected(IProgressMonitor monitor, Object input, ISubSystem subsystem, String filterID, String objectID, + HashMap cachedColumnWidths, boolean pollingOn, int pollingInterval) + { + if (monitor.isCanceled()){ + return Status.CANCEL_STATUS; + } + if (subsystem.isConnected()) { + if (filterID != null) { + try { + input = subsystem.getObjectWithAbsoluteName(filterID, monitor); + } + catch (Exception e) { + //ignore + } + } + else { + if (objectID != null) { + try { + input = subsystem.getObjectWithAbsoluteName(objectID, monitor); + } + catch (Exception e) { + return Status.CANCEL_STATUS; + } + } + } // end else + } // end if (subsystem.isConnected) + + if (input != null){ + runWithInput(monitor, input, cachedColumnWidths, pollingOn, pollingInterval); + return Status.OK_STATUS; + } + else { + return Status.CANCEL_STATUS; + } + } + + private class WaitForAdapterJob extends Job { + private IAdaptable _input; + private HashMap _cachedColumnWidths; + private boolean _pollingOn; + private int _pollingInterval; + public WaitForAdapterJob(IAdaptable input, HashMap cachedColumnWidths, boolean pollingOn, int pollingInterval){ + super(SystemResources.RESID_RESTORE_RSE_MONITOR_JOB); + _input = input; + _cachedColumnWidths = cachedColumnWidths; + _pollingOn = pollingOn; + _pollingInterval = pollingInterval; + } + + protected IStatus run(IProgressMonitor monitor) { + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)_input.getAdapter(ISystemViewElementAdapter.class); + while (adapter == null || monitor.isCanceled()){ + try { + synchronized (_input){ + _input.wait(1000); + } + } catch (InterruptedException e) { + } + adapter = (ISystemViewElementAdapter)_input.getAdapter(ISystemViewElementAdapter.class); + } + if (monitor.isCanceled()){ + return Status.CANCEL_STATUS; + } + + // got an adapter now + // set input needs to be run on the main thread + Display.getDefault().asyncExec(new Runnable() + { + public void run(){ + addItemToMonitor(_input); + MonitorViewPage page = _folder.getCurrentTabItem(); // get the viewer + + // restore column widths + page.getViewer().setCachedColumnWidths(_cachedColumnWidths); + + // restoring polling + page.setPollingEnabled(_pollingOn); + page.setPollingInterval(_pollingInterval); + } + }); + + return Status.OK_STATUS; + } + } + + public IStatus runWithInput(IProgressMonitor monitor, Object input, HashMap cachedColumnWidths, boolean pollingOn, int pollingInterval) + { + if (input != null && input instanceof IAdaptable){ + final IAdaptable mementoInput = (IAdaptable) input; + final HashMap fcachedColumnWidths = cachedColumnWidths; + final boolean fpollingOn = pollingOn; + final int fpollingInterval = pollingInterval; + if (mementoInput != null) + { + // first make sure the adapter factories are ready + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)mementoInput.getAdapter(ISystemViewElementAdapter.class); + if (adapter == null){ + WaitForAdapterJob job = new WaitForAdapterJob(mementoInput, cachedColumnWidths, pollingOn, pollingInterval); + job.schedule(); + } + else { + // set input needs to be run on the main thread + Display.getDefault().asyncExec(new Runnable(){ + public void run(){ + addItemToMonitor(mementoInput); + MonitorViewPage page = _folder.getCurrentTabItem(); // get the viewer + + // restore column widths + page.getViewer().setCachedColumnWidths(fcachedColumnWidths); + + // restoring polling + page.setPollingEnabled(fpollingOn); + page.setPollingInterval(fpollingInterval); + } + }); + } + } + } + return Status.OK_STATUS; + } - class RestoreStateRunnable implements Runnable - { - public void run() - { - } } + + + + + // Restore memento tags + public static final String TAG_MONITOR_TAB_COUNT_ID = "monitorTabCountID"; //$NON-NLS-1$ + + public static final String TAG_MONITOR_TAB_PROFILE_ID = "monitorTabProfileID_"; //$NON-NLS-1$ + public static final String TAG_MONITOR_TAB_CONNECTION_ID = "monitorTabConnectionID_"; //$NON-NLS-1$ + public static final String TAG_MONITOR_TAB_SUBSYSTEM_ID = "monitorTabSubsystemID_"; //$NON-NLS-1$ + public static final String TAG_MONITOR_TAB_OBJECT_ID = "monitorTabObjectID_"; //$NON-NLS-1$ + public static final String TAG_MONITOR_TAB_FILTER_ID = "monitorTabFilterID_"; //$NON-NLS-1$ + + // Subset memento tags + public static final String TAG_MONITOR_TAB_SUBSET_ID = "monitorTabSubsetID_"; //$NON-NLS-1$ + + // polling + public static final String TAG_MONITOR_TAB_POLLING_ON_ID = "monitorTabPollingOnID_"; //$NON-NLS-1$ + public static final String TAG_MONITOR_TAB_POLLING_INTERVAL_ID= "monitorTabPollingIntervalID_"; // $NON-NLS-1$ + + // layout memento tags + public static final String TAG_MONITOR_TAB_COLUMN_WIDTHS_ID = "monitorTabColumnWidths_"; //$NON-NLS-1$ + + + + + class PositionToAction extends BrowseAction { class PositionToDialog extends SystemPromptDialog @@ -299,7 +598,7 @@ { ((ISystemContainer)inputObject).markStale(true); } - ((SystemTableTreeViewProvider) getViewer().getContentProvider()).flushCache(); + ((SystemTableViewProvider) getViewer().getContentProvider()).flushCache(); getViewer().refresh(); // refresh layout too @@ -326,20 +625,27 @@ private Button _upButton; private Button _downButton; - - public SelectColumnsDialog(Shell shell, ISystemViewElementAdapter viewAdapter, ISystemTableViewColumnManager columnManager) + private boolean _changed = false; + + public SelectColumnsDialog(Shell shell, ISystemViewElementAdapter viewAdapter, ISystemTableViewColumnManager columnManager, int[] originalOrder) { super(shell, SystemResources.RESID_TABLE_SELECT_COLUMNS_LABEL); setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_TOOLTIP); + setInitialOKButtonEnabledState(_changed); _adapter = viewAdapter; _columnManager = columnManager; _uniqueDescriptors = viewAdapter.getUniquePropertyDescriptors(); IPropertyDescriptor[] initialDisplayedDescriptors = _columnManager.getVisibleDescriptors(_adapter); + + IPropertyDescriptor[] sortedDisplayedDescriptors = new IPropertyDescriptor[initialDisplayedDescriptors.length]; + for (int i = 0; i < initialDisplayedDescriptors.length; i++){ + int position = originalOrder[i+1]; + sortedDisplayedDescriptors[i] = initialDisplayedDescriptors[position-1]; + } _currentDisplayedDescriptors = new ArrayList(initialDisplayedDescriptors.length); - for (int i = 0; i < initialDisplayedDescriptors.length;i++) - { - if (!_currentDisplayedDescriptors.contains(initialDisplayedDescriptors[i])) - _currentDisplayedDescriptors.add(initialDisplayedDescriptors[i]); + for (int i = 0; i < sortedDisplayedDescriptors.length;i++) + { + _currentDisplayedDescriptors.add(sortedDisplayedDescriptors[i]); } _availableDescriptors = new ArrayList(_uniqueDescriptors.length); for (int i = 0; i < _uniqueDescriptors.length;i++) @@ -352,30 +658,36 @@ } + + public void handleEvent(Event e) { Widget source = e.widget; if (source == _addButton) { int[] toAdd = _availableList.getSelectionIndices(); - addToDisplay(toAdd); + addToDisplay(toAdd); + _changed = true; } else if (source == _removeButton) { int[] toAdd = _displayedList.getSelectionIndices(); removeFromDisplay(toAdd); + _changed = true; } else if (source == _upButton) { int index = _displayedList.getSelectionIndex(); moveUp(index); _displayedList.select(index - 1); + _changed = true; } else if (source == _downButton) { int index = _displayedList.getSelectionIndex(); moveDown(index); _displayedList.select(index + 1); + _changed = true; } // update button enable states @@ -429,6 +741,7 @@ _removeButton.setEnabled(enableRemove); _upButton.setEnabled(enableUp); _downButton.setEnabled(enableDown); + enableOkButton(_changed); } @@ -602,13 +915,25 @@ public void run() { SystemTableView viewer = getViewer(); + Table table = viewer.getTable(); + int[] originalOrder = table.getColumnOrder(); ISystemTableViewColumnManager mgr = viewer.getColumnManager(); ISystemViewElementAdapter adapter = viewer.getAdapterForContents(); - SelectColumnsDialog dlg = new SelectColumnsDialog(getShell(), adapter, mgr); + SelectColumnsDialog dlg = new SelectColumnsDialog(getShell(), adapter, mgr, originalOrder); if (dlg.open() == Window.OK) { + IPropertyDescriptor[] newDescriptors = dlg.getDisplayedColumns(); + + // reset column order + int n = newDescriptors.length + 1; + int[] newOrder = new int[n]; + for (int i = 0; i < n; i++){ + newOrder[i] = i; + } + mgr.setCustomDescriptors(adapter, dlg.getDisplayedColumns()); viewer.computeLayout(true); + table.setColumnOrder(newOrder); viewer.refresh(); } } @@ -640,8 +965,15 @@ public static final String ID = "org.eclipse.rse.ui.view.monitorView"; //$NON-NLS-1$ // matches id in plugin.xml, view tag + private IMemento _memento = null; + public void setFocus() { + if (_folder.getInput() == null){ + if (_memento != null){ + restoreState(_memento); + } + } _folder.showCurrentPage(); } @@ -684,10 +1016,6 @@ registry.addSystemResourceChangeListener(this); registry.addSystemRemoteChangeListener(this); - - RestoreStateRunnable restore = new RestoreStateRunnable(); - Display.getCurrent().asyncExec(restore); - getSite().setSelectionProvider(this); selectionListener = new ISelectionChangedListener() { public void selectionChanged (SelectionChangedEvent event) @@ -1137,5 +1465,138 @@ menuManager.add(_subsetAction); } + private void restoreState(IMemento memento) + { + RestoreStateRunnable rsr = new RestoreStateRunnable(memento); + rsr.setRule(RSECorePlugin.getTheSystemRegistry()); + rsr.schedule(); + } + + /** + * Initializes this view with the given view site. A memento is passed to + * the view which contains a snapshot of the views state from a previous + * session. Where possible, the view should try to recreate that state + * within the part controls. + *

    + * The parent's default implementation will ignore the memento and initialize + * the view in a fresh state. Subclasses may override the implementation to + * perform any state restoration as needed. + */ + public void init(IViewSite site, IMemento memento) throws PartInitException + { + super.init(site, memento); + + if (memento != null && SystemPreferencesManager.getRememberState()){ + _memento = memento; + } + } + + protected void saveTabState(IMemento memento, CTabItem item, int index){ + MonitorViewPage page = (MonitorViewPage) item.getData(); + Object input = page.getInput(); + + if (input != null){ + if (input instanceof ISystemRegistry){ + } + else if (input instanceof IHost){ + IHost connection = (IHost) input; + String connectionID = connection.getAliasName(); + String profileID = connection.getSystemProfileName(); + memento.putString(TAG_MONITOR_TAB_CONNECTION_ID+index, connectionID); + memento.putString(TAG_MONITOR_TAB_PROFILE_ID+index, profileID); + } + else{ + ISystemViewElementAdapter va = (ISystemViewElementAdapter) ((IAdaptable) input).getAdapter(ISystemViewElementAdapter.class); + + ISubSystem subsystem = va.getSubSystem(input); + if (subsystem != null){ + ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); + String subsystemID = registry.getAbsoluteNameForSubSystem(subsystem); + String profileID = subsystem.getHost().getSystemProfileName(); + String connectionID = subsystem.getHost().getAliasName(); + String objectID = va.getAbsoluteName(input); + + memento.putString(TAG_MONITOR_TAB_PROFILE_ID+index, profileID); + memento.putString(TAG_MONITOR_TAB_CONNECTION_ID+index, connectionID); + memento.putString(TAG_MONITOR_TAB_SUBSYSTEM_ID+index, subsystemID); + + if (input instanceof ISystemFilterReference){ + memento.putString(TAG_MONITOR_TAB_FILTER_ID+index, objectID); + memento.putString(TAG_MONITOR_TAB_OBJECT_ID+index, null); + } + else if (input instanceof ISubSystem){ + memento.putString(TAG_MONITOR_TAB_OBJECT_ID+index, null); + memento.putString(TAG_MONITOR_TAB_FILTER_ID+index, null); + } + else { + memento.putString(TAG_MONITOR_TAB_OBJECT_ID+index, objectID); + memento.putString(TAG_MONITOR_TAB_FILTER_ID+index, null); + } + } + } + + + boolean isConnected = false; + // don't reconnect + ISystemViewElementAdapter adapter = (ISystemViewElementAdapter)((IAdaptable)input).getAdapter(ISystemViewElementAdapter.class); + if (adapter != null){ + ISubSystem ss = adapter.getSubSystem(input); + if (ss != null){ + isConnected = ss.isConnected(); + } + } + + SystemTableView viewer = page.getViewer(); + if (isConnected){ // calling this requires a connect so only do it if already connected + viewer.inputChanged(input, input); + } + Map cachedColumnWidths = viewer.getCachedColumnWidths(); + StringBuffer columnWidths = new StringBuffer(); + Iterator keyIter = cachedColumnWidths.keySet().iterator(); + while (keyIter.hasNext()){ + String key = (String)keyIter.next(); + int[] widths = (int[])cachedColumnWidths.get(key); + columnWidths.append(key); + columnWidths.append('='); + + for (int w = 0; w < widths.length; w++){ + columnWidths.append(widths[w]); + if (w != widths.length - 1){ + columnWidths.append(','); + } + } + + // always append this, even with last item + columnWidths.append(';'); + } + + memento.putString(TAG_MONITOR_TAB_COLUMN_WIDTHS_ID+index, columnWidths.toString()); + memento.putBoolean(TAG_MONITOR_TAB_POLLING_ON_ID+index, page.isPollingEnabled()); + memento.putInteger(TAG_MONITOR_TAB_POLLING_INTERVAL_ID+index, page.getPollingInterval()); + } + } + + /** + * Method declared on IViewPart. + */ + public void saveState(IMemento memento) + { + super.saveState(memento); + + if (!SystemPreferencesManager.getRememberState()) + return; + + if (_folder != null){ + CTabFolder flder = _folder.getFolder(); + int itemCount = flder.getItemCount(); + memento.putInteger(TAG_MONITOR_TAB_COUNT_ID, itemCount); + + for (int i = 0; i < itemCount; i++){ + CTabItem item = flder.getItem(i); + saveTabState(memento, item, i); + } + } + } + } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadViewPart.java 2008-12-04 18:30:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/SystemScratchpadViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ * Kevin Doyle (IBM) - [193155] Double Clicking on a String in Scratchpad Errors * Kevin Doyle (IBM) - [194867] Remote Scratchpad should have Refresh Action on toolbar * Kevin Doyle (IBM) - [242431] Register a new unique context menu id, so contributions can be made to all our views + * David McKnight (IBM) - [330398] RSE leaks SWT resources *******************************************************************************/ package org.eclipse.rse.internal.ui.view.scratchpad; @@ -137,12 +138,11 @@ // register global edit actions ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); CellEditorActionHandler editorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars()); - _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), clipboard); - _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), clipboard); + _copyAction = new SystemCopyToClipboardAction(_viewer.getShell(), null); + _pasteAction = new SystemPasteFromClipboardAction(_viewer.getShell(), null); _deleteAction = new SystemCommonDeleteAction(_viewer.getShell(), _viewer); _renameAction = new SystemCommonRenameAction(_viewer.getShell(), _viewer); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/search/SystemSearchViewPart.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/search/SystemSearchViewPart.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/search/SystemSearchViewPart.java 2009-08-04 15:20:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/search/SystemSearchViewPart.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 IBM Corporation and others. + * Copyright (c) 2003, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,8 @@ * David McKnight (IBM) - [250169] Problems with extending the menu's of results in Remote Search View * David McKnight (IBM) - [214395] Properties View not updated when clicking on Search Results * David McKnight (IBM) - [190015] [performance] Remove All Match's from Search Results Takes a while + * David McKnight (IBM) - [296877] Allow user to choose the attributes for remote search result + * David McKnight (IBM) - [330398] RSE leaks SWT resources *******************************************************************************/ package org.eclipse.rse.internal.ui.view.search; @@ -34,6 +36,7 @@ import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.AbstractTreeViewer; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; @@ -46,6 +49,7 @@ import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.window.Window; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.events.ISystemResourceChangeEvent; import org.eclipse.rse.core.events.ISystemResourceChangeEvents; @@ -62,20 +66,27 @@ import org.eclipse.rse.ui.SystemMenuManager; import org.eclipse.rse.ui.SystemWidgetHelpers; import org.eclipse.rse.ui.actions.SystemPasteFromClipboardAction; +import org.eclipse.rse.ui.dialogs.SystemPromptDialog; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.model.ISystemShellProvider; import org.eclipse.rse.ui.view.IRSEViewPart; import org.eclipse.rse.ui.view.ISystemRemoveElementAdapter; +import org.eclipse.rse.ui.view.ISystemTableViewColumnManager; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.rse.ui.view.SystemAdapterHelpers; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Tree; import org.eclipse.swt.widgets.TreeItem; +import org.eclipse.swt.widgets.Widget; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewSite; @@ -83,6 +94,7 @@ import org.eclipse.ui.part.CellEditorActionHandler; import org.eclipse.ui.part.PageBook; import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.views.properties.IPropertyDescriptor; /** * This class defines the Remote Search view. @@ -92,6 +104,349 @@ IMenuListener, ISelectionChangedListener, ISystemMessageLine, IRSEViewPart { + class BrowseAction extends Action + { + + public BrowseAction() + { + } + + public BrowseAction(String label, ImageDescriptor des) + { + super(label, des); + + setToolTipText(label); + } + + public void checkEnabledState() + { + Viewer viewer = getRSEViewer(); + if (viewer != null && viewer.getInput() != null) + { + setEnabled(true); + } + else + { + setEnabled(false); + } + } + + public void run() + { + } + } + private class SelectColumnsAction extends BrowseAction + { + + class SelectColumnsDialog extends SystemPromptDialog + { + private ISystemViewElementAdapter _adapter; + private ISystemTableViewColumnManager _columnManager; + private IPropertyDescriptor[] _uniqueDescriptors; + private ArrayList _currentDisplayedDescriptors; + private ArrayList _availableDescriptors; + + private List _availableList; + private List _displayedList; + + private Button _addButton; + private Button _removeButton; + private Button _upButton; + private Button _downButton; + + + public SelectColumnsDialog(Shell shell, ISystemViewElementAdapter viewAdapter, ISystemTableViewColumnManager columnManager) + { + super(shell, SystemResources.RESID_TABLE_SELECT_COLUMNS_LABEL); + setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_TOOLTIP); + _adapter = viewAdapter; + _columnManager = columnManager; + _uniqueDescriptors = viewAdapter.getUniquePropertyDescriptors(); + IPropertyDescriptor[] initialDisplayedDescriptors = _columnManager.getVisibleDescriptors(_adapter); + _currentDisplayedDescriptors = new ArrayList(initialDisplayedDescriptors.length); + for (int i = 0; i < initialDisplayedDescriptors.length;i++) + { + if (!_currentDisplayedDescriptors.contains(initialDisplayedDescriptors[i])) + _currentDisplayedDescriptors.add(initialDisplayedDescriptors[i]); + } + _availableDescriptors = new ArrayList(_uniqueDescriptors.length); + for (int i = 0; i < _uniqueDescriptors.length;i++) + { + if (!_currentDisplayedDescriptors.contains(_uniqueDescriptors[i])) + { + _availableDescriptors.add(_uniqueDescriptors[i]); + } + } + } + + + public void handleEvent(Event e) + { + Widget source = e.widget; + if (source == _addButton) + { + int[] toAdd = _availableList.getSelectionIndices(); + addToDisplay(toAdd); + } + else if (source == _removeButton) + { + int[] toAdd = _displayedList.getSelectionIndices(); + removeFromDisplay(toAdd); + } + else if (source == _upButton) + { + int index = _displayedList.getSelectionIndex(); + moveUp(index); + _displayedList.select(index - 1); + } + else if (source == _downButton) + { + int index = _displayedList.getSelectionIndex(); + moveDown(index); + _displayedList.select(index + 1); + } + + // update button enable states + updateEnableStates(); + } + + public IPropertyDescriptor[] getDisplayedColumns() + { + IPropertyDescriptor[] displayedColumns = new IPropertyDescriptor[_currentDisplayedDescriptors.size()]; + for (int i = 0; i< _currentDisplayedDescriptors.size();i++) + { + displayedColumns[i]= (IPropertyDescriptor)_currentDisplayedDescriptors.get(i); + } + return displayedColumns; + } + + private void updateEnableStates() + { + boolean enableAdd = false; + boolean enableRemove = false; + boolean enableUp = false; + boolean enableDown = false; + + int[] availableSelected = _availableList.getSelectionIndices(); + for (int i = 0; i < availableSelected.length; i++) + { + int index = availableSelected[i]; + IPropertyDescriptor descriptor = (IPropertyDescriptor)_availableDescriptors.get(index); + if (!_currentDisplayedDescriptors.contains(descriptor)) + { + enableAdd = true; + } + } + + if (_displayedList.getSelectionCount()>0) + { + enableRemove = true; + + int index = _displayedList.getSelectionIndex(); + if (index > 0) + { + enableUp = true; + } + if (index < _displayedList.getItemCount()-1) + { + enableDown = true; + } + } + + _addButton.setEnabled(enableAdd); + _removeButton.setEnabled(enableRemove); + _upButton.setEnabled(enableUp); + _downButton.setEnabled(enableDown); + + } + + private void moveUp(int index) + { + Object obj = _currentDisplayedDescriptors.remove(index); + _currentDisplayedDescriptors.add(index - 1, obj); + refreshDisplayedList(); + } + + private void moveDown(int index) + { + Object obj = _currentDisplayedDescriptors.remove(index); + _currentDisplayedDescriptors.add(index + 1, obj); + + refreshDisplayedList(); + } + + private void addToDisplay(int[] toAdd) + { + ArrayList added = new ArrayList(); + for (int i = 0; i < toAdd.length; i++) + { + int index = toAdd[i]; + + IPropertyDescriptor descriptor = (IPropertyDescriptor)_availableDescriptors.get(index); + + if (!_currentDisplayedDescriptors.contains(descriptor)) + { + _currentDisplayedDescriptors.add(descriptor); + added.add(descriptor); + } + } + + for (int i = 0; i < added.size(); i++) + { + _availableDescriptors.remove(added.get(i)); + } + + + refreshAvailableList(); + refreshDisplayedList(); + + } + + private void removeFromDisplay(int[] toRemove) + { + for (int i = 0; i < toRemove.length; i++) + { + int index = toRemove[i]; + IPropertyDescriptor descriptor = (IPropertyDescriptor)_currentDisplayedDescriptors.get(index); + _currentDisplayedDescriptors.remove(index); + _availableDescriptors.add(descriptor); + } + refreshDisplayedList(); + refreshAvailableList(); + } + + protected void buttonPressed(int buttonId) + { + setReturnCode(buttonId); + + close(); + } + + protected Control getInitialFocusControl() + { + return _availableList; + } + + public Control createInner(Composite parent) + { + Composite main = SystemWidgetHelpers.createComposite(parent, 1); + + + Composite c = SystemWidgetHelpers.createComposite(main, 4); + c.setLayoutData(new GridData(GridData.FILL_BOTH)); + _availableList = SystemWidgetHelpers.createListBox(c, SystemResources.RESID_TABLE_SELECT_COLUMNS_AVAILABLE_LABEL, this, true); + + Composite addRemoveComposite = SystemWidgetHelpers.createComposite(c, 1); + addRemoveComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER)); + _addButton = SystemWidgetHelpers.createPushButton(addRemoveComposite, + SystemResources.RESID_TABLE_SELECT_COLUMNS_ADD_LABEL, + this); + _addButton.setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_ADD_TOOLTIP); + + _removeButton = SystemWidgetHelpers.createPushButton(addRemoveComposite, + SystemResources.RESID_TABLE_SELECT_COLUMNS_REMOVE_LABEL, + this); + _removeButton.setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_REMOVE_TOOLTIP); + + _displayedList = SystemWidgetHelpers.createListBox(c, SystemResources.RESID_TABLE_SELECT_COLUMNS_DISPLAYED_LABEL, this, false); + + Composite upDownComposite = SystemWidgetHelpers.createComposite(c, 1); + upDownComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_CENTER)); + _upButton = SystemWidgetHelpers.createPushButton(upDownComposite, + SystemResources.RESID_TABLE_SELECT_COLUMNS_UP_LABEL, + this); + _upButton.setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_UP_TOOLTIP); + + _downButton = SystemWidgetHelpers.createPushButton(upDownComposite, + SystemResources.RESID_TABLE_SELECT_COLUMNS_DOWN_LABEL, + this); + _downButton.setToolTipText(SystemResources.RESID_TABLE_SELECT_COLUMNS_DOWN_TOOLTIP); + + initLists(); + + setHelp(); + return c; + } + + private void initLists() + { + refreshAvailableList(); + refreshDisplayedList(); + updateEnableStates(); + } + + private void refreshAvailableList() + { + _availableList.removeAll(); + // initialize available list + for (int i = 0; i < _availableDescriptors.size(); i++) + { + IPropertyDescriptor descriptor = (IPropertyDescriptor)_availableDescriptors.get(i); + _availableList.add(descriptor.getDisplayName()); + } + } + + private void refreshDisplayedList() + { + _displayedList.removeAll(); + // initialize display list + for (int i = 0; i < _currentDisplayedDescriptors.size(); i++) + { + + Object obj = _currentDisplayedDescriptors.get(i); + if (obj != null && obj instanceof IPropertyDescriptor) + { + _displayedList.add(((IPropertyDescriptor)obj).getDisplayName()); + } + } + } + + private void setHelp() + { + setHelp(RSEUIPlugin.HELPPREFIX + "gntc0000"); //$NON-NLS-1$ + } + } + + public SelectColumnsAction() + { + super(SystemResources.ACTION_SELECTCOLUMNS_LABEL, null); + setToolTipText(SystemResources.ACTION_SELECTCOLUMNS_TOOLTIP); + setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_FILTER_ID)); + } + + public void checkEnabledState() + { + Viewer viewer = getRSEViewer(); + Object input = viewer.getInput(); + if (viewer != null && input != null) + { + boolean flag = getViewAdapter(input).hasChildren((IAdaptable)input); + setEnabled(flag); + } + else + { + setEnabled(false); + } + } + public void run() + { + Viewer rviewer = getRSEViewer(); + if (rviewer instanceof SystemSearchTableView){ + SystemSearchTableView viewer = (SystemSearchTableView)rviewer; + ISystemTableViewColumnManager mgr = viewer.getColumnManager(); + ISystemViewElementAdapter adapter = viewer.getViewAdapterForContents(); + SelectColumnsDialog dlg = new SelectColumnsDialog(getShell(), adapter, mgr); + if (dlg.open() == Window.OK) + { + mgr.setCustomDescriptors(adapter, dlg.getDisplayedColumns()); + viewer.computeLayout(true); + viewer.refresh(); + } + } + } + } + + private PageBook pageBook; private StructuredViewer currentViewer; @@ -110,6 +465,7 @@ private SystemSearchClearHistoryAction clearHistoryAction; private SystemSearchRemoveSelectedMatchesAction removeSelectedAction; private SystemSearchRemoveAllMatchesAction removeAllAction; + private SelectColumnsAction _selectColumnsAction; private SystemSearchCopyToClipboardAction copyAction; private SystemPasteFromClipboardAction pasteAction; @@ -336,6 +692,14 @@ } } + if (_selectColumnsAction == null){ + _selectColumnsAction = new SelectColumnsAction(); + if (currentViewer == null){ + _selectColumnsAction.setEnabled(false); + } + } + + // add cancel action tbMgr.add(cancelAction); @@ -344,13 +708,16 @@ // add remove all action tbMgr.add(removeAllAction); + + + tbMgr.add(new Separator("View")); //$NON-NLS-1$ + tbMgr.add(_selectColumnsAction); // clipboard - Clipboard clipboard = RSEUIPlugin.getTheSystemRegistryUI().getSystemClipboard(); Shell shell = RSEUIPlugin.getTheSystemRegistryUI().getShell(); - copyAction = new SystemSearchCopyToClipboardAction(shell, clipboard); - pasteAction = new SystemPasteFromClipboardAction(shell, clipboard); + copyAction = new SystemSearchCopyToClipboardAction(shell, null); + pasteAction = new SystemPasteFromClipboardAction(shell, null); CellEditorActionHandler editorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars()); @@ -541,6 +908,10 @@ if (removeAllAction != null) { removeAllAction.setEnabled(isRemoveAllEnabled(resultSet)); } + + if (_selectColumnsAction != null){ + _selectColumnsAction.checkEnabledState(); + } } private StructuredViewer createSearchResultsTree(IAdaptable resultSet, ISystemViewElementAdapter adapter) @@ -724,6 +1095,10 @@ if (removeAllAction != null) { removeAllAction.setEnabled(isRemoveAllEnabled(resultSet)); } + + if (_selectColumnsAction != null){ + _selectColumnsAction.checkEnabledState(); + } } /** @@ -788,6 +1163,10 @@ removeAllAction.setEnabled(isRemoveAllEnabled((IAdaptable)input)); } + if (_selectColumnsAction != null){ + _selectColumnsAction.checkEnabledState(); + } + return true; } @@ -822,6 +1201,9 @@ // disable remove all action removeAllAction.setEnabled(false); + // disable column selection + _selectColumnsAction.setEnabled(false); + // clear the history action list historyActions.clear(); @@ -919,7 +1301,10 @@ removeSelectedAction.setEnabled(false); // disable remove all action - removeAllAction.setEnabled(false); + removeAllAction.setEnabled(false); + + // disable the column selection + _selectColumnsAction.setEnabled(false); return true; } @@ -992,6 +1377,10 @@ if (removeAllAction != null) { removeAllAction.setEnabled(isRemoveAllEnabled((IAdaptable)source)); } + + if (_selectColumnsAction != null){ + _selectColumnsAction.checkEnabledState(); + } // find out where the current viewer is in the viewer list index = viewers.indexOf(currentViewer); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSEUIPlugin.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSEUIPlugin.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSEUIPlugin.java 2009-05-26 11:44:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/RSEUIPlugin.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -34,6 +34,7 @@ * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * David McKnight (IBM) - [236505] Remote systems dialog not working * David McKnight (IBM) - [238288] use ImageRegistry to store/retrieve images for RSE label providers + * David Dykstal (IBM) - [397995] RSEInitJob runs too early ********************************************************************************/ package org.eclipse.rse.ui; @@ -53,6 +54,7 @@ import org.eclipse.rse.core.model.ISystemRegistry; import org.eclipse.rse.core.subsystems.ISubSystemConfiguration; import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy; +import org.eclipse.rse.internal.core.RSEInitJob; import org.eclipse.rse.internal.core.model.SystemProfileManager; import org.eclipse.rse.internal.core.model.SystemRegistry; import org.eclipse.rse.internal.ui.RSESystemTypeAdapterFactory; @@ -385,8 +387,8 @@ public void start(BundleContext context) throws Exception { super.start(context); - - messageFile = getMessageFile("systemmessages.xml"); //$NON-NLS-1$ + + messageFile = getMessageFile("systemmessages.xml"); //$NON-NLS-1$ defaultMessageFile = getDefaultMessageFile("systemmessages.xml"); //$NON-NLS-1$ //Force load the SystemRegistry - TODO Is this really necessary? diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemBasePlugin.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemBasePlugin.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemBasePlugin.java 2009-07-30 00:02:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemBasePlugin.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -17,6 +17,7 @@ * David McKnight (IBM) - [244454] SystemBasePlugin.getWorkBench() incorrectly returns null when called during Eclipse startup * David McKnight (IBM) [246406] [performance] Timeout waiting when loading SystemPreferencesManager$ModelChangeListener during startup * Martin Oberhuber (Wind River) - [246406] Timeout waiting when loading RSE + * David McKnight (IBM) - [314943] Write to the message to log instead of console ********************************************************************************/ package org.eclipse.rse.ui; @@ -217,7 +218,7 @@ wb.addWorkbenchListener(workbenchListener); } catch (IllegalStateException e) { /* will try again later when workbench becomes available */ - System.out.println("Workbench not yet available"); //$NON-NLS-1$ + logWarning("Workbench not yet available"); //$NON-NLS-1$ } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemConnectionForm.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemConnectionForm.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemConnectionForm.java 2008-07-08 18:41:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/SystemConnectionForm.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,6 +24,8 @@ * Martin Oberhuber (Wind River) - [175680] Deprecate obsolete ISystemRegistry methods * David McKnight (IBM) - [229610] [api] File transfers should use workspace text file encoding * David McKnight (IBM) - [238314] Default user ID on host properties page not disabled + * David McKnight (IBM) - [353377] Connection name with ":" causes problems + * Anna Dushistova (MontaVista) - [352072] RSE attempts to use proxy where it should not *******************************************************************************/ package org.eclipse.rse.ui; @@ -40,6 +42,7 @@ import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.operation.IRunnableContext; import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.IWizardPage; @@ -59,6 +62,7 @@ import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.validators.ISystemValidator; import org.eclipse.rse.ui.validators.ValidatorConnectionName; +import org.eclipse.rse.ui.validators.ValidatorFileName; import org.eclipse.rse.ui.validators.ValidatorUserId; import org.eclipse.rse.ui.widgets.InheritableEntryField; import org.eclipse.rse.ui.wizards.AbstractSystemWizardPage; @@ -80,9 +84,12 @@ import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbenchPropertyPage; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.dialogs.PreferencesUtil; import org.eclipse.ui.dialogs.PropertyPage; import org.eclipse.ui.ide.IDEEncoding; @@ -126,6 +133,7 @@ protected ISystemValidator[] nameValidators; protected ISystemValidator hostValidator; protected ISystemValidator userIdValidator; + private ISystemValidator fileNameValidator; // other inputs protected ISystemMessageLine msgLine; @@ -178,6 +186,8 @@ userIdValidator = new ValidatorUserId(true); // false => allow empty? Yes. defaultUserId = ""; //$NON-NLS-1$ + + fileNameValidator = new ValidatorFileName(); } // ------------------------------------------------------------- @@ -773,6 +783,18 @@ SystemWidgetHelpers.setHelp(workOfflineCB, RSEUIPlugin.HELPPREFIX + "wofp0000"); //$NON-NLS-1$ } + //AD: link to a network preference page + Link proxyLink = new Link(composite_prompts,SWT.NONE); + proxyLink.setText(""+SystemResources.SystemConnectionForm_0+""); //$NON-NLS-1$ //$NON-NLS-2$ + proxyLink.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent evt) { + PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn( + PlatformUI.getWorkbench().getDisplay().getActiveShell(), "org.eclipse.ui.net.NetPreferences", //$NON-NLS-1$ + null, null); + dialog.open(); + } + }); + // connectionNameEmpty = (textConnectionName.getText().trim().length() == 0); // d43191 textConnectionName.setFocus(); @@ -964,7 +986,7 @@ } else { String workspaceDefault = SystemEncodingUtil.getInstance().getLocalDefaultEncoding(); - otherEncodingCombo.setText(workspaceDefault); //$NON-NLS-1$ + otherEncodingCombo.setText(workspaceDefault); } } @@ -1329,10 +1351,18 @@ if (nameValidator != null) { errorMessage = nameValidator.validate(connName); } + + if (errorMessage == null){ + // bug 353377 + // also validate file name - deals with ':' problem + errorMessage = fileNameValidator.validate(connName); + } + showErrorMessage(errorMessage); setPageComplete(); if (userTyped) connectionNameEmpty = (connName.length() == 0); // d43191 + return errorMessage; } @@ -1358,7 +1388,11 @@ final String hostName = textHostName.getText().trim(); // d43191 - if (connectionNameEmpty && contentsCreated) internalSetConnectionName(hostName); + if (connectionNameEmpty && contentsCreated) { + // make sure connection name doesn't use ':' - bug 353377 + String newConnectionName = hostName.replace(':', '_'); + internalSetConnectionName(newConnectionName); + } errorMessage = null; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemCopyToClipboardAction.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemCopyToClipboardAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemCopyToClipboardAction.java 2008-09-29 22:10:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemCopyToClipboardAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,8 @@ * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * David McKnight (IBM) - [223103] [cleanup] fix broken externalized strings * David McKnight (IBM) - [248339] [dnd][encodings] Cannot drag&drop / copy&paste files or folders with turkish or arabic names + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [368304] Copy paste from Remote System Explorer view has CR/LF *******************************************************************************/ package org.eclipse.rse.ui.actions; @@ -40,6 +42,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.ui.ISystemContextMenuConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.internal.model.SystemRegistryUI; import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; import org.eclipse.rse.ui.view.ISystemEditableRemoteObject; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; @@ -62,19 +65,24 @@ public class SystemCopyToClipboardAction extends SystemBaseAction implements IValidatorRemoteSelection { private IStructuredSelection _selection; - private Clipboard _clipboard; private boolean _doResourceTransfer = false; // determines whether or not to download on copy /** * Constructor + * -will deprecate this later since we don't use this clipboard now */ - public SystemCopyToClipboardAction(Shell shell, Clipboard clipboard) + public SystemCopyToClipboardAction(Shell shell, Clipboard clipboard){ + this(shell); + } + + /** + * Constructor + */ + private SystemCopyToClipboardAction(Shell shell) { super(SystemResources.ACTION_COPY_LABEL, PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY), shell); - - _clipboard = clipboard; setToolTipText(SystemResources.ACTION_COPY_TOOLTIP); allowOnMultipleSelection(true); setContextMenuGroup(ISystemContextMenuConstants.GROUP_REORGANIZE); @@ -171,9 +179,13 @@ if (adapter != null) { String text = adapter.getAlternateText(dragObject); + if (textStream.length() > 0){ + // append new line only if we've already got previous lines + textStream.append(getTextTransferAppend(dragObject, adapter)); + } + textStream.append(getTextTransferPrepend(dragObject, adapter)); - textStream.append(text); - textStream.append(getTextTransferAppend(dragObject, adapter)); + textStream.append(text); if (adapter.canDrag(dragObject)) { @@ -247,9 +259,10 @@ { fn[j] = (String)fileNames.get(j); } - - _clipboard.setContents(new Object[] { data, ft, fn, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), ResourceTransfer.getInstance(), FileTransfer.getInstance(), TextTransfer.getInstance()}); - + + Clipboard clipboard = SystemRegistryUI.getInstance().getSystemClipboard(); + clipboard.setContents(new Object[] { data, ft, fn, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), ResourceTransfer.getInstance(), FileTransfer.getInstance(), TextTransfer.getInstance()}); + clipboard.dispose(); } else { @@ -259,14 +272,17 @@ ft[i] = (String) fileNames.get(i); } + Clipboard clipboard = SystemRegistryUI.getInstance().getSystemClipboard(); + if (ft.length > 0) { - _clipboard.setContents(new Object[] { data, ft, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), FileTransfer.getInstance(), TextTransfer.getInstance()}); + clipboard.setContents(new Object[] { data, ft, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), FileTransfer.getInstance(), TextTransfer.getInstance()}); } else { - _clipboard.setContents(new Object[] { data, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance()}); + clipboard.setContents(new Object[] { data, textStream.toString() }, new Transfer[] { PluginTransfer.getInstance(), TextTransfer.getInstance()}); } + clipboard.dispose(); } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemPasteFromClipboardAction.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemPasteFromClipboardAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemPasteFromClipboardAction.java 2009-07-03 15:01:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemPasteFromClipboardAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -15,6 +15,8 @@ * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Kenya Ishimoto (IBM) - [241197] Paste action causes IllegalArgumentException at Resource.copy * Zhou Renjian (Kortide) - [282241] "Paste" is enabled on file system when text is in clipboard + * David McKnight (IBM) - [330398] RSE leaks SWT resources + * David McKnight (IBM) - [398324] cross systems folder transfer breaks due to scoping rule ********************************************************************************/ package org.eclipse.rse.ui.actions; @@ -36,6 +38,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.ui.ISystemContextMenuConstants; import org.eclipse.rse.ui.RSEUIPlugin; +import org.eclipse.rse.ui.internal.model.SystemRegistryUI; import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; import org.eclipse.swt.dnd.Clipboard; @@ -54,21 +57,27 @@ */ public class SystemPasteFromClipboardAction extends SystemBaseAction implements IValidatorRemoteSelection { - - private int _srcType; private Object _selection; - private Clipboard _clipboard; + /** * Constructor + * -will deprecate this later since we don't use this clipboard now */ public SystemPasteFromClipboardAction(Shell shell, Clipboard clipboard) { + this(shell); + } + + /** + * Constructor + */ + private SystemPasteFromClipboardAction(Shell shell) + { super(SystemResources.ACTION_PASTE_LABEL, PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), //RSEUIPlugin.getDefault().getImageDescriptor(ISystemConstants.ICON_SYSTEM_PASTE_ID), shell); - _clipboard = clipboard; _srcType = SystemDNDTransferRunnable.SRC_TYPE_RSE_RESOURCE; setEnabled(false); @@ -93,66 +102,9 @@ { // do the transfer SystemDNDTransferRunnable runnable = new SystemDNDTransferRunnable(target, (ArrayList)srcObjects, getViewer(), _srcType); - if (target instanceof IAdaptable) - { - ISystemDragDropAdapter targetAdapter = (ISystemDragDropAdapter) ((IAdaptable) target).getAdapter(ISystemDragDropAdapter.class); - - if (targetAdapter != null) - { - List rulesList = new ArrayList(); - - if (target instanceof ISchedulingRule) { - rulesList.add(target); - } - - int j = 0; - for (int i = 0; i < srcObjects.size(); i++) - { - if (srcObjects.get(i) instanceof ISchedulingRule) - { - rulesList.add(srcObjects.get(i)); - j++; - } - /** FIXME - IREmoteFile is systems.core independent now - else if (srcObjects.get(i) instanceof IRemoteFile) - { - rulesList.add(new RemoteFileSchedulingRule((IRemoteFile)srcObjects.get(i))); - j++; - } - **/ - } - /* - if (target instanceof ISchedulingRule) - { - rulesList.add(target); - } - */ - /** FIXME - IREmoteFile is systems.core independent now - else if (target instanceof IRemoteFile) - { - rulesList.add(new RemoteFileSchedulingRule((IRemoteFile)target)); - } - */ - /* - else - { - rulesList.add(targetSubSystem); - } - */ - if (rulesList.size() > 0) - { - ISchedulingRule[] rules = (ISchedulingRule[])rulesList.toArray(new ISchedulingRule[rulesList.size()]); - MultiRule rule = new MultiRule(rules); - runnable.setRule(rule); - } - } - } runnable.schedule(); RSEUIPlugin.getTheSystemRegistryUI().clearRunnableContext(); } - // clear clipboard - // _clipboard.setContents(new Object[] { null }, new Transfer[] { PluginTransfer.getInstance()}); - // setEnabled(false); } @@ -168,12 +120,13 @@ } public boolean hasSource() - { - synchronized (_clipboard) + { + Clipboard clipboard = SystemRegistryUI.getInstance().getSystemClipboard(); + try { - try + synchronized (clipboard) { - Object object = _clipboard.getContents(PluginTransfer.getInstance()); + Object object = clipboard.getContents(PluginTransfer.getInstance()); if (object != null) { if (object instanceof PluginTransferData) @@ -191,7 +144,7 @@ { // clipboard must have resources or files ResourceTransfer resTransfer = ResourceTransfer.getInstance(); - object = _clipboard.getContents(resTransfer); + object = clipboard.getContents(resTransfer); if (object != null) { IResource[] resourceData = (IResource[]) object; @@ -204,7 +157,7 @@ else { FileTransfer fileTransfer = FileTransfer.getInstance(); - object = _clipboard.getContents(fileTransfer); + object = clipboard.getContents(fileTransfer); if (object != null) { @@ -218,7 +171,7 @@ else { TextTransfer textTransfer = TextTransfer.getInstance(); - object = _clipboard.getContents(textTransfer); + object = clipboard.getContents(textTransfer); if (object != null) { @@ -230,9 +183,12 @@ } } } - catch (Exception e) - { - } + } + catch (Exception e) + { + } + finally { + clipboard.dispose(); } return false; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemRefreshAction.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemRefreshAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemRefreshAction.java 2009-07-29 20:13:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/actions/SystemRefreshAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemPasswordPromptDialog.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemPasswordPromptDialog.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemPasswordPromptDialog.java 2008-08-25 02:35:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemPasswordPromptDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2012 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -17,6 +17,8 @@ * David Dykstal (IBM) - [210474] Deny save password function missing * David Dykstal (IBM) - [210242] Credentials dialog should look different if password is not supported or optional * Richie Yu (IBM) - [241716] Handle change expired password + * David McKnight (IBM) - [342615] when user checks "Save password" box, "Save User ID" box should automatically get checked + * David McKnight (IBM) - [309371] Include connection name in the password prompt dialog ********************************************************************************/ package org.eclipse.rse.ui.dialogs; @@ -40,6 +42,7 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; @@ -73,6 +76,7 @@ private ISystemValidator passwordValidator; private ICredentialsValidator signonValidator; private IConnectorService connectorService = null; + private boolean wasPasswordSaved = false; /** * Constructor for SystemPasswordPromptDialog @@ -195,6 +199,16 @@ label = SystemWidgetHelpers.createLabel(composite_prompts, connectorService.getHostName()); gd = new GridData(); label.setLayoutData(gd); + + // Connection name + text = SystemWidgetHelpers.appendColon(SystemResources.RESID_CONNECTION_CONNECTIONNAME_LABEL); + label = SystemWidgetHelpers.createLabel(composite_prompts, text); + gd = new GridData(); + label.setLayoutData(gd); + label = SystemWidgetHelpers.createLabel(composite_prompts, connectorService.getHost().getAliasName()); + gd = new GridData(); + label.setLayoutData(gd); + // UserId if (connectorService.supportsUserId()) { @@ -286,6 +300,14 @@ textPassword.setText(password); textPassword.setSelection(0, password.length()); } + + String defaultUserId = connectorService.getHost().getDefaultUserId(); + wasPasswordSaved = defaultUserId.equals(userId); + + if (wasPasswordSaved && userIdPermanentCB != null){ + userIdPermanentCB.setSelection(true); + } + } /** @@ -345,8 +367,8 @@ } else { userIdChanged = !userId.equals(originalUserId); } - if (userIdPermanentCB != null) { - userIdPermanentCB.setEnabled(userIdChanged); + if (userIdPermanentCB != null) { + userIdPermanentCB.setEnabled(userIdChanged || !wasPasswordSaved); } } @@ -512,4 +534,15 @@ boolean closeDialog = (getErrorMessage() == null); return closeDialog; } + + // override of super method + public void handleEvent(Event e){ + if (e.widget == savePasswordCB){ + if (savePasswordCB.getSelection() && userIdPermanentCB != null){ + // make sure the user is saved too - otherwise uid/password might not be retrieved on restart + userIdPermanentCB.setSelection(true); + } + } + super.handleEvent(e); + } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java 2009-05-26 11:44:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. + * Copyright (c) 2006, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,7 @@ * Xuan Chen (IBM) - [220999] [api] Need to change class SystemSelectRemoteFileAction to use SystemRemoteFileDialog * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * David McKnight (IBM) - [267061] resource dialog/form to allow custom host combo label + * David McKnight (IBM) - [370007] potential NPEs in table-tree provider and remote resource dialog *******************************************************************************/ package org.eclipse.rse.ui.dialogs; @@ -64,7 +65,9 @@ { _form = new SystemResourceSelectionForm(getShell(), parent, this, _inputProvider, getVerbiage(), _multipleSelectionMode, getMessageLine()); initForm(); - _form.setPreSelection(_preSelection); + if (_preSelection != null){ + _form.setPreSelection(_preSelection); + } createMessageLine(parent); return _form.getInitialFocusControl(); } @@ -91,7 +94,9 @@ _form.applyViewerFilter(getViewerFilter()); } _form.setSelectionValidator(_selectionValidator); - _form.setPreSelection(_preSelection); + if (_preSelection != null){ + _form.setPreSelection(_preSelection); + } _form.setShowPropertySheet(_showPropertySheet); _form.setSelectionTreeToolTipText(getTreeTip()); if (_message != null) diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRenameSingleDialog.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRenameSingleDialog.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRenameSingleDialog.java 2008-10-16 23:41:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRenameSingleDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -15,6 +15,7 @@ * Rupen Mardirossian (IBM) - [208435] When validating name, check for previously used names for multiple renaming instances * David Dykstal (IBM) - [231828] make rename dialog a bit wider * David McKnight (IBM) - [251148] {0} appears in Collision Dialog + * David McKnight (IBM) - [399083] Rename of workstation file name not possibleby lowering the case of one character of the initial name ********************************************************************************/ package org.eclipse.rse.ui.dialogs; @@ -626,6 +627,7 @@ */ protected SystemMessage validateNameInput(String theNewName) { + boolean windowsDiffersByCase = false; errorMessage= null; if (theNewName == null) @@ -640,13 +642,28 @@ errorMessage = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_VALIDATE_NAME_EMPTY); if (errorMessage == null) { - if (adapter != null && adapter.namesAreEqual(inputElement, theNewName)) - errorMessage = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_VALIDATE_RENAME_OLDEQUALSNEW).makeSubstitution(inputName); - } + if (adapter != null && adapter.namesAreEqual(inputElement, theNewName)){ + errorMessage = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_VALIDATE_RENAME_OLDEQUALSNEW).makeSubstitution(inputName); + // need to allow changes in case though on Windows + IHost host = adapter.getSubSystem(inputElement).getHost(); + if (host.getSystemType().isWindows()){ + String originalName = adapter.getName(inputElement); + if (!originalName.equals(theNewName)){ // doesn't match case + // therefore this is legal + windowsDiffersByCase = true; + errorMessage = null; + } + } + } + } } - if ((errorMessage == null) && (uniqueNameValidator != null)) + if ((errorMessage == null) && (uniqueNameValidator != null)){ errorMessage = uniqueNameValidator.validate(theNewName); + if (errorMessage != null && windowsDiffersByCase){ + errorMessage = null; + } + } if(_namesInUse != null && _namesInUse.size()>0) { for(int i=0;i<_namesInUse.size();i++) @@ -689,6 +706,16 @@ pageComplete = !adapter.namesAreEqual(inputElement, theNewName); //System.out.println("back from namesAreEqual: " + pageComplete); + if (!pageComplete){ + IHost host = adapter.getSubSystem(inputElement).getHost(); + boolean isWindows = host.getSystemType().isWindows(); + if (isWindows){ + String originalName = adapter.getName(inputElement); + if (!originalName.equals(theNewName)){ // doesn't match case + pageComplete = true; + } + } + } } } return pageComplete; diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemSelectFileTypesDialog.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemSelectFileTypesDialog.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemSelectFileTypesDialog.java 2008-05-29 21:50:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemSelectFileTypesDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * * Contributors: * {Name} (company) - description of contribution. + * Xuan Chen (IBM) - [312171] TVT36:TCT186: TVT_KOR: Truncation on button *******************************************************************************/ package org.eclipse.rse.ui.dialogs; @@ -228,6 +229,9 @@ Button deselectButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, SystemResources.RESID_SELECTFILES_DESELECTALL_BUTTON_ROOT_LABEL, false); + GridData buttonData = (GridData)deselectButton.getLayoutData(); + buttonData.widthHint = buttonData.widthHint * 130 / 100; + listener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { listViewer.setAllChecked(false); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/SystemChangeFilterPane.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/SystemChangeFilterPane.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/SystemChangeFilterPane.java 2008-11-07 13:28:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/SystemChangeFilterPane.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * David McKnight(IBM) - [239257] Tooltip for Filter Pool label is incorrect * Kevin Doyle (IBM) - [235223] Duplicate Filter Strings * David McKnight (IBM) - [252708] Saving Profile Job happens when not changing Property Values on Connections + * David McKnight (IBM) - [330398] RSE leaks SWT resources *******************************************************************************/ package org.eclipse.rse.ui.filters; @@ -48,6 +49,7 @@ import org.eclipse.rse.ui.SystemBaseForm; import org.eclipse.rse.ui.SystemWidgetHelpers; import org.eclipse.rse.ui.actions.ISystemAction; +import org.eclipse.rse.ui.internal.model.SystemRegistryUI; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.messages.SystemMessageDialog; import org.eclipse.rse.ui.validators.ISystemValidator; @@ -98,7 +100,6 @@ private SystemChangeFilterActionMoveStringUp moveUpAction; private SystemChangeFilterActionMoveStringDown moveDownAction; private MenuManager menuMgr; - private Clipboard clipboard; private boolean menuListenerAdded; // inputs @@ -1364,12 +1365,12 @@ */ public void doCopy() { - if (clipboard == null) - clipboard = new Clipboard(getShell().getDisplay()); + Clipboard clipboard = new Clipboard(getShell().getDisplay()); String selection = getCurrentSelection(); TextTransfer transfer = TextTransfer.getInstance(); clipboard.setContents(new Object[] {selection}, new Transfer[] {transfer}); + clipboard.dispose(); } /** * Decide if we can do the paste or not. @@ -1377,11 +1378,11 @@ */ public boolean canPaste() { - if (clipboard == null) - return false; - TextTransfer textTransfer = TextTransfer.getInstance(); - String textData = (String)clipboard.getContents(textTransfer); - return ((textData != null) && (textData.length() > 0)); + Clipboard clipboard = new Clipboard(getShell().getDisplay()); + TextTransfer textTransfer = TextTransfer.getInstance(); + String textData = (String)clipboard.getContents(textTransfer); + clipboard.dispose(); + return ((textData != null) && (textData.length() > 0)); } /** * Actually do the copy of the current filter string to the clipboard. @@ -1389,8 +1390,7 @@ */ public void doPaste() { - if (clipboard == null) - return; + Clipboard clipboard = SystemRegistryUI.getInstance().getSystemClipboard(); TextTransfer textTransfer = TextTransfer.getInstance(); String textData = (String)clipboard.getContents(textTransfer); @@ -1409,6 +1409,7 @@ } processListSelect(); // defect 45790... setPageComplete(verify(false)); + clipboard.dispose(); } // -------------- diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/dialogs/SystemNewFilterWizardNamePage.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/dialogs/SystemNewFilterWizardNamePage.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/dialogs/SystemNewFilterWizardNamePage.java 2008-11-25 19:02:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/filters/dialogs/SystemNewFilterWizardNamePage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types * David McKnight (IBM) - [226948] [api][regression] SystemNewFilterWizard.createNamePage() is no longer available * David McKnight (IBM) - [249482] Duplicate Filters can be created if changing the filter pool + * David Dykstal (IBM) - [148977] New Filter dialog should propose a default filter name on the 2nd page *******************************************************************************/ package org.eclipse.rse.ui.filters.dialogs; @@ -160,8 +161,8 @@ SystemWidgetHelpers.createVerbiage(composite_prompts, configurator.getPage2NameVerbiage(), nbrColumns, false, 200); nameText = SystemWidgetHelpers.createLabeledTextField(composite_prompts, null, configurator.getPage2NamePromptLabel(), configurator.getPage2NamePromptTooltip()); - - addSeparatorLine(composite_prompts, nbrColumns); + + addSeparatorLine(composite_prompts, nbrColumns); addFillerLine(composite_prompts, nbrColumns); // allow the user to create this filter uniquely for this connection, which means putting it in a @@ -537,10 +538,26 @@ if (!userEditedName && (nameText!=null)) { String defaultName = ((SystemNewFilterWizard)getWizard()).getDefaultFilterName(); - if (defaultName != null) - { + if (defaultName != null) { + if (defaultName.length() > 0) { + if (nameValidator != null) { + String nameProposal = defaultName; + boolean invalid = true; + int times = 0; + while (invalid && times < 20) { // try only 20 times + if (nameValidator.validate(nameProposal) != null) { + times++; + nameProposal = defaultName + " " + times; //$NON-NLS-1$ + } else { + invalid = false; + defaultName = nameProposal; + } + } + } + } ignoreChanges = true; nameText.setText(defaultName); + nameText.selectAll(); ignoreChanges = false; } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/operations/SystemFetchOperation.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/operations/SystemFetchOperation.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/operations/SystemFetchOperation.java 2009-08-10 13:55:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/operations/SystemFetchOperation.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2009 IBM Corporation and others. + * Copyright (c) 2004, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -25,6 +25,8 @@ * David McKnight (IBM) - [243263] NPE on expanding a filter * David McKnight (IBM) - [260777] [ssh] Deadlock when changing selection after multiple hibernate/resume cycles * David McKnight (IBM) - [283793] [dstore] Expansion indicator(+) does not reset after no connect + * David McKnight (IBM) - [316565] Failed to resolve the filter for a non-connected subsystem + * David McKnight (IBM) - [325923] SystemFetchOperation Cancel message not suitable *******************************************************************************/ package org.eclipse.rse.ui.operations; @@ -270,6 +272,10 @@ private boolean ensureConnected(SubSystem ss, IProgressMonitor monitor) throws InterruptedException { + if (!ss.getSubSystemConfiguration().supportsSubSystemConnect()){ + return true; + } + if (!ss.isConnected() && !ss.isOffline()) // skip the connect if offline, but still follow through because we need to follow through in the subsystem { @@ -312,8 +318,11 @@ return false; } catch (Exception e) - { - showOperationErrorMessage(null, e, ss); + { + // bug 325923 - it's inappropriate to display such messages on cancel + if (!(e instanceof InterruptedException) && !(e instanceof OperationCanceledException)){ + showOperationErrorMessage(null, e, ss); + } return false; } finally { @@ -467,7 +476,7 @@ { String excMsg = exc.getMessage(); if ((excMsg == null) || (excMsg.length()==0)) - exc.getClass().getName(); + excMsg = exc.getClass().getName(); else excMsg = exc.getClass().getName() + ": " + excMsg; //$NON-NLS-1$ sysMsg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_OPERATION_FAILED); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/validators/ValidatorUniqueString.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/validators/ValidatorUniqueString.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/validators/ValidatorUniqueString.java 2007-06-05 11:36:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/validators/ValidatorUniqueString.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2007 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,8 @@ * David Dykstal (IBM) - generalized Vector argumnents to Collections * Kevin Doyle (IBM) - 174776: perform required sorting of Collection arguments * David Dykstal (IBM) - 174776: disallowed sorting of input arguments, used copies + * David McKnight (IBM) [373326] When one of Duplicate Filter Names is deleted, both filters are deleted. + * David McKnight (IBM) [388592] Renaming a file is case insensitive for Linux on remote systems *******************************************************************************/ package org.eclipse.rse.ui.validators; @@ -297,8 +299,27 @@ else if (caseSensitive && (existingList!=null) && (Arrays.binarySearch(existingList,newText) >= 0)) return msg_NonUnique.getLevelOneText(); */ - if ((existingList!=null) && (Arrays.binarySearch(existingList,newText) >= 0)) - currentMessage = msg_NonUnique; + if (existingList != null){ + if (!caseSensitive){ + if (Arrays.binarySearch(existingList,newText) >= 0){ + currentMessage = msg_NonUnique; + } + } + else { // caseSensitive + boolean match = false; + for (int i = 0; i < existingList.length && !match; i++){ + String existing = existingList[i]; + if (existing != null){ + match = newText.equals(existing); + } + } + if (match){ + currentMessage = msg_NonUnique; + } + } + } + + else if (syntaxValidator!=null) { String msg = syntaxValidator.isValid(newText); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java 2009-09-15 21:44:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemTableView.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2013 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -24,6 +24,15 @@ * David McKnight (IBM) - [187058] Incorrect Right Click Menu in Remote System Details View with no selection * David McKnight (IBM) - [260346] RSE view for jobs does not remember resized columns * Martin Oberhuber (Wind River) - [289533] NPE on "Show in Table" + * Noriaki Takatsu (IBM) - [288894] CANCEL has to be pressed 3 times in Userid/Password prompt window in Remote System Details view + * David McKnight (IBM) - [329170] Show in table does not work after showing empty folder in table + * David McKnight (IBM) - [308783] Value in Properties view remains "Pending..." + * David McKnight (IBM) - [215814] [performance] Duplicate Queries between Table and Remote Systems View + * David McKnight (IBM) - [340912] inconsistencies with columns in RSE table viewers + * David McKnight (IBM) - [357587] Custom sorter is changed to SystemTableViewSorter + * David McKnight (IBM) - [363392] system table views shows open view actions when they shouldn't + * David McKnight (IBM) - [388947] column sort icon issue with Remote Systems Details view + * David McKnight (IBM) - [398306] table sorting of RSE table views inconsistent with Eclipse ********************************************************************************/ package org.eclipse.rse.ui.view; @@ -198,6 +207,7 @@ { _upI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_MOVEUP_ID); _downI = RSEUIPlugin.getDefault().getImage(ISystemIconConstants.ICON_SYSTEM_MOVEDOWN_ID); + } @@ -219,18 +229,24 @@ TableColumn tcolumn = (TableColumn)e.widget; int column = table.indexOf(tcolumn); SystemTableViewSorter oldSorter = (SystemTableViewSorter) getSorter(); - if (oldSorter != null && column == oldSorter.getColumnNumber()) + if (oldSorter != null) { - oldSorter.setReversed(!oldSorter.isReversed()); - if (tcolumn.getImage() == _upI) - { - tcolumn.setImage(_downI); + if (column == oldSorter.getColumnNumber()){ + boolean isReversed = !oldSorter.isReversed(); + oldSorter.setReversed(isReversed); + if (isReversed) { + tcolumn.setImage(_downI); + } + else { + tcolumn.setImage(_upI); + } } - else - { - tcolumn.setImage(_upI); + else { + oldSorter.setColumnNumber(column); + oldSorter.setReversed(false); + tcolumn.setImage(_upI); } - } + } else { setSorter(new SystemTableViewSorter(column, SystemTableView.this, _columnManager)); @@ -379,7 +395,7 @@ /** * @since 3.0 Moved SystemTableViewProvider from internal to API - * @return + * @return returns the table view provider */ protected SystemTableViewProvider getProvider() { @@ -438,6 +454,8 @@ { if (newObject instanceof IAdaptable) { + boolean wasShowColumns = _showColumns; + _showColumns = true; // bug 329170 - always reset to ensure columns are available getTable().setVisible(true); // columns may change so we want to keep track of the current ones @@ -459,7 +477,9 @@ // reset the filter //setViewFilters(null); - super.inputChanged(newObject, oldObject); + if (_showColumns || wasShowColumns) { + super.inputChanged(newObject, oldObject); + } } else if (newObject == null) @@ -654,6 +674,17 @@ } } + private Object[] internalGetSampleChildren(){ + SystemTableViewProvider provider = (SystemTableViewProvider) getContentProvider(); + Object lastObj = provider._lastObject; + if (lastObj != getInput() || provider._lastResults == null){ + Object[] children = provider.getChildren(_objectInput); + return children; + } + else { + return provider._lastResults; + } + } /** * Determines what columns should be shown in this view. The columns may change * anytime the view input changes. The columns in the control are modified and @@ -668,11 +699,12 @@ return; SystemTableViewProvider provider = (SystemTableViewProvider) getContentProvider(); - Object[] children = provider.getChildren(_objectInput); + Object[] children = internalGetSampleChildren(); // if no children, don't update if (children == null || children.length == 0) { + _showColumns = false; return; } @@ -868,10 +900,20 @@ Table table = getTable(); if (table != null && !table.isDisposed()) { + int[] colOrder = table.getColumnOrder(); TableColumn[] columns = table.getColumns(); - for (int i = 0; i < columns.length && i < widths.length; i++) + for (int i = 0; i < columns.length; i++) { - columns[i].setWidth(widths[i]); + TableColumn column = columns[i]; + int position = colOrder[i]; + if (position < widths.length){ + column.setWidth(widths[position]); + } + else { + if (column.getWidth() == 0){ // don't hide this column + column.setWidth(100); + } + } } } } @@ -965,6 +1007,14 @@ { updateItem(w, child); } + + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection){ + Object first = ((IStructuredSelection)selection).getFirstElement(); + if (first.equals(child)){ + updatePropertySheet(true); + } + } } catch (Exception e) { @@ -1073,6 +1123,36 @@ } } + private void updatePropertySheet(boolean force) { + ISelection selection = getSelection(); + if (selection == null) return; + + // only fire this event if the view actually has focus + if (force || getControl().isFocusControl()) + { + IStructuredSelection parentSelection = null; + // create events in order to update the property sheet + if (selection instanceof IStructuredSelection){ + Object first = ((IStructuredSelection)selection).getFirstElement(); + ISystemViewElementAdapter adapter = getViewAdapter(first); + + Object parent = adapter.getParent(first); + if (parent != null){ + parentSelection = new StructuredSelection(parent); + } + } + + SelectionChangedEvent dummyEvent = new SelectionChangedEvent(this, parentSelection); + SelectionChangedEvent event = new SelectionChangedEvent(this, selection); + + // first change the selection, then change it back (otherwise the property sheet ignores the event) + fireSelectionChanged(dummyEvent); + + // fire the event + fireSelectionChanged(event); + } + } + /** * This is the method in your class that will be called when a remote resource * changes. You will be called after the resource is changed. @@ -1972,10 +2052,12 @@ SystemShowInTableAction showInTableAction = getShowInTableAction(); openToPerspectiveAction.setSelection(selection); showInTableAction.setSelection(selection); - //menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, openToAction.getSubMenu()); - menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, openToPerspectiveAction); - menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, showInTableAction); - + + if (_selectionShowOpenViewActions){ + //menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, openToAction.getSubMenu()); + menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, openToPerspectiveAction); + menu.appendToGroup(ISystemContextMenuConstants.GROUP_OPEN, showInTableAction); + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/EnvironmentVariablesForm.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/EnvironmentVariablesForm.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/EnvironmentVariablesForm.java 2008-12-04 18:30:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/EnvironmentVariablesForm.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2012 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - [175262] IHost.getSystemType() should return IRSESystemType * Martin Oberhuber (Wind River) - [186640] Add IRSESystemType.testProperty() * Justin Lin (IBM) - [244051] JJ: Environment Variables property page allows duplicates... + * David McKnight (IBM) - [370883] [api] Environment variables form should allow setting the message text *******************************************************************************/ package org.eclipse.rse.ui.widgets; @@ -54,6 +55,7 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; @@ -82,7 +84,8 @@ private String invalidNameChars; private Button addButton, changeButton, removeButton, moveUpButton, moveDownButton; - + private Label formLabel; + // Temporary class for storing environment variable information // until we pass it to the commands subsystem. public class EnvironmentVariable { @@ -253,14 +256,22 @@ systemType = ((ISubSystem) selectedObject).getHost().getSystemType(); } - } + } /** + * Use this method to customize the label for this form. + * @since 3.3 + */ + public void setLabel(String label){ + formLabel.setText(label); + } + + /** * @see org.eclipse.rse.ui.SystemBaseForm#createContents(Composite) */ public Control createContents(Composite parent) { - SystemWidgetHelpers.createLabel(parent, SystemResources.RESID_SUBSYSTEM_ENVVAR_DESCRIPTION); + formLabel = SystemWidgetHelpers.createLabel(parent, SystemResources.RESID_SUBSYSTEM_ENVVAR_DESCRIPTION); // Environment Variables List envVarTable = new Table(parent, SWT.FULL_SELECTION |SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemCollapsableSection.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemCollapsableSection.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemCollapsableSection.java 2006-12-06 19:03:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/SystemCollapsableSection.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006 IBM Corporation. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -12,6 +12,7 @@ * * Contributors: * {Name} (company) - description of contribution. + * David McKnight (IBM) - [330398] RSE leaks SWT resources ********************************************************************************/ package org.eclipse.rse.ui.widgets; @@ -139,11 +140,6 @@ super(compositeParent, SWT.NULL); - if (_colorCollapsable == null) - { - Display display = Display.getCurrent(); - _colorCollapsable = new Color(display, 0, 140, 140); - } setLayout(new RTwisteeLayout()); @@ -157,6 +153,14 @@ addPaintListener(this); addMouseListener(this); } + + private static Color getCollapsableColour(){ + if (_colorCollapsable == null || _colorCollapsable.isDisposed()){ + Display display = Display.getCurrent(); + _colorCollapsable = new Color(display, 0, 140, 140); + } + return _colorCollapsable; + } /** * Get the actual composite inside the collapsible section to @@ -298,13 +302,14 @@ int iY, boolean bCollapsed) { + Color ccolour = getCollapsableColour(); // Not collapsed: v //----------------- if (bCollapsed == false) { - gc.setForeground(_colorCollapsable); + gc.setForeground(ccolour); int iA = iX; int iB = iY + 3; @@ -333,7 +338,7 @@ //------------- else { - gc.setForeground(_colorCollapsable); + gc.setForeground(ccolour); int iA = iX + 2; int iB = iY; @@ -355,6 +360,7 @@ iB++; gc.drawLine(iA, iB, iA, iB); } + ccolour.dispose(); } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/RSEModelServiceElement.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/RSEModelServiceElement.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/RSEModelServiceElement.java 2006-08-31 17:37:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/RSEModelServiceElement.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006 IBM Corporation. All rights reserved. + * Copyright (c) 2006, 2010 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,7 +11,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [306187] cancel in properties of remote system view doesn't work ********************************************************************************/ package org.eclipse.rse.ui.widgets.services; @@ -124,13 +124,19 @@ public void revert() { PropertySetServiceElement[] sets = getPropertySets(); + IPropertySet[] origSets = new IPropertySet[sets.length]; for (int i = 0; i < sets.length; i++) { IPropertySet newSet = sets[i].getPropertySet(); IPropertySet originalSet = sets[i].getOriginalProperySet(); + origSets[i] = originalSet; + _modelObject.removePropertySet(newSet.getName()); _modelObject.addPropertySet(originalSet); } + _propertySetElements = null; + _propertySets = origSets; + getPropertySets(); } public void refreshProperties() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/ServerLauncherPropertiesServiceElement.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/ServerLauncherPropertiesServiceElement.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/ServerLauncherPropertiesServiceElement.java 2007-06-05 11:36:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/widgets/services/ServerLauncherPropertiesServiceElement.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2010 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,7 +12,7 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) - [306187] cancel in properties of remote system view doesn't work *******************************************************************************/ package org.eclipse.rse.ui.widgets.services; @@ -82,7 +82,11 @@ public void revert() { - super.revert(); + super.revert(); + + _launcherProperties = _launcherProperties.getConnectorService().getRemoteServerLauncherProperties(); + _launcherProperties.restoreFromProperties(); + _launcherProperties.commit(); } public IServerLauncherProperties getServerLauncherProperties() diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEDefaultNewConnectionWizardMainPage.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEDefaultNewConnectionWizardMainPage.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEDefaultNewConnectionWizardMainPage.java 2007-04-25 20:24:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEDefaultNewConnectionWizardMainPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2010 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -13,6 +13,7 @@ * Contributors: * Uwe Stieber (Wind River) - Reworked new connection wizard extension point. * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType + * Uwe Stieber (Wind River) - Fix stack overflow in canFlipToNextPage() and getNextPage() ********************************************************************************/ package org.eclipse.rse.ui.wizards.newconnection; @@ -49,6 +50,13 @@ private SystemConnectionForm form; private final RSEDialogPageMessageLine messageLine; + // Remember in getNextPage() if we called form.verify(...) already once. + // As the form is coming back to this page to invoke setPageComplete(boolean), + // form.verify(...) triggers an update of the wizard buttons, which in turn invoke + // canFlipToNextPage(...) which does call getNextPage(...). If the page is not used + // with a RSEDefaultNewConnectionWizard, this will end up in a StackOverflowError. + private boolean formVerificationGateKeeper = false; + /** * Constructor. Use this when you want to supply your own title and * description strings. @@ -138,7 +146,11 @@ // verify contents of page before going to main page // this is done because the main page may have input that is not valid, but can // only be verified when next is pressed since it requires a long running operation - if (!getSystemConnectionForm().verify(true)) return null; + if (!formVerificationGateKeeper) { + formVerificationGateKeeper = true; + if (!getSystemConnectionForm().verify(true)) return null; + formVerificationGateKeeper = false; + } RSEDefaultNewConnectionWizard newConnWizard = getWizard() instanceof RSEDefaultNewConnectionWizard ? (RSEDefaultNewConnectionWizard)getWizard() : null; if (newConnWizard != null) { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEMainNewConnectionWizard.java eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEMainNewConnectionWizard.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEMainNewConnectionWizard.java 2009-08-06 15:30:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/wizards/newconnection/RSEMainNewConnectionWizard.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2009 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistryUI.java eclipse-rse-3.4.2/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistryUI.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistryUI.java 2008-09-29 22:10:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/model/org/eclipse/rse/ui/internal/model/SystemRegistryUI.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2006, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [] Move SystemRegistry impl into Core * Martin Oberhuber (Wind River) - [215820] Move SystemRegistry implementation to Core * David McKnight (IBM) - [248339] [dnd][encodings] Cannot drag&drop / copy&paste files or folders with turkish or arabic names + * David McKnight (IBM) - [330398] RSE leaks SWT resources ********************************************************************************/ package org.eclipse.rse.ui.internal.model; @@ -80,7 +81,6 @@ private Vector previousRunnableContexts = new Vector(); private Vector previousRunnableContextShells = new Vector(); - private Clipboard clipboard = null; private SystemScratchpad scratchpad = null; /** @@ -277,22 +277,17 @@ */ public Clipboard getSystemClipboard() { - if (clipboard == null) + Display display = null; + Shell shell = getShell(); + if (shell == null) { - Display display = null; - Shell shell = getShell(); - if (shell == null) - { - display = Display.getDefault(); - } - else - { - display = shell.getDisplay(); - } - clipboard = new Clipboard(display); + display = Display.getDefault(); } - - return clipboard; + else + { + display = shell.getDisplay(); + } + return new Clipboard(display); } /** @@ -442,6 +437,7 @@ srcObjects.add(textData); } } + clipboard.dispose(); return srcObjects; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.ui/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ui/plugin.properties 2009-05-26 11:44:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved. +# Copyright (c) 2000, 2011 IBM Corporation and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -23,7 +23,7 @@ # NLS_ENCODING=UTF-8 pluginName = RSE UI -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project extPoint.newConnectionWizards = New Connection Wizards #extPoint.compile = Remote Compile Commands diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.ui/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ui/plugin.xml 2009-02-01 17:01:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -21,6 +21,7 @@ David McKnight (IBM) - [160105] [usability] Universal action needed to locate a resource in the Remote Systems View David McKnight (IBM) - [260792] Default prompt text color/background color for Remote Shell view is difficult to see Uwe Stieber (Wind River) - [245039] [contributions][api] Provide property tester implementations in parallel to the older action filters +David Dykstal (IBM) - [397995] RSEInitJob runs too early --> @@ -52,6 +53,10 @@ + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.ui/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ui/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.ui + 3.3.3.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 2009-07-30 17:14:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystem.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -48,6 +48,8 @@ * David McKnight (IBM) - [262930] Remote System Details view not restoring filter memento input * David McKnight (IBM) - [272882] [api] Handle exceptions in IService.initService() * David McKnight (IBM) - [284018] concurrent SubSystem.connect() calls can result in double login-prompt + * David McKnight (IBM) - [318836] Period in filter name causes wrong message on drag and drop + * David McKnight (IBM) - [326555] Dead lock when debug session starts * ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -244,7 +246,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work * or that it will remain the same. Please do not use this API without - * consulting with the Target + * consulting with the Target * Management team. *

    * @@ -267,7 +269,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work * or that it will remain the same. Please do not use this API without - * consulting with the Target + * consulting with the Target * Management team. *

    * @@ -922,7 +924,7 @@ protected Object getFilterReferenceWithAbsoluteName(String key) { // figure out if there is a filter - String filterID = key; + String filterID = key; try { ISystemFilterPoolReferenceManager filterMgr = getFilterPoolReferenceManager(); @@ -939,40 +941,55 @@ ISystemFilterPoolManager mgr = parentSubSystemConfiguration.getSystemFilterPoolManager(mgrName); if (mgr != null && segments.length > 1){ - // name of the filter is the last segment - String filterName = segments[segments.length - 1]; - - // filter pool name is the 3rd and 2nd to last segment - //String filterPoolName = - // segments[segments.length - 3] + '.' + - // segments[segments.length - 2]; + int segNo = 0; ISystemFilterPool filterPool = null; ISystemFilterPool[] filterPools = mgr.getSystemFilterPools(); for (int p = 0; p < filterPools.length && filterPool == null; p++){ + segNo = 2; // initial segment number for filter pool is 2nd to last + ISystemFilterPool pool = filterPools[p]; String realPoolName = pool.getName(); - // check for match - String filterPoolName = segments[segments.length - 2]; - for (int s = 3; s < segments.length && filterPool == null; s++){ - if (filterPoolName.equals(realPoolName)){ - filterPool = pool; - } - else if (realPoolName.endsWith(filterPoolName)){ - filterPoolName = segments[segments.length - s] + '.' + filterPoolName; - } - else { - // no match - break; + // check for match + + while (filterPool == null && segNo < segments.length){ + String filterPoolName = segments[segments.length - segNo]; + + for (int s = segNo + 1; s < segments.length && filterPool == null; s++){ + if (filterPoolName.equals(realPoolName)){ + filterPool = pool; + } + else if (realPoolName.endsWith(filterPoolName)){ + filterPoolName = segments[segments.length - s] + '.' + filterPoolName; + } + else { + // no match + break; + } + } + if (filterPool == null){ + segNo++; // move further up the string } - } + } } if (filterPool != null) { + // name of the filter is the last segment + //String filterName = segments[segments.length - 1]; + StringBuffer filterBuf = new StringBuffer(); + for (int i = segNo - 1; i > 0; i--){ // dealing with filtername that potentially had a dot in it + String filterPartName = segments[segments.length - i]; + filterBuf.append(filterPartName); + if (i > 1){ + filterBuf.append('.'); + } + } + String filterName = filterBuf.toString(); + ISystemFilter filter = filterPool.getSystemFilter(filterName); ISystemFilterReference ref = filterMgr.getSystemFilterReference(this, filter); if (ref != null) @@ -2462,7 +2479,8 @@ } public synchronized void waitUntilNotContained(IConnectorService cs) { - while (contains(cs)){ // wait until the connector service is no longer in the list + while (contains(cs) && // wait until the connector service is no longer in the list + Display.getCurrent() == null){ // for bug 326555, don't wait when on the main thread - otherwise there will be a hang try { wait(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java 2008-10-30 19:09:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/core/subsystems/SubSystemConfiguration.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved. + * Copyright (c) 2002, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -37,6 +37,7 @@ * Martin Oberhuber (Wind River) - [226574][api] Add ISubSystemConfiguration#supportsEncoding() * David Dykstal (IBM) - [236516] Bug in user code causes failure in RSE initialization * Martin Oberhuber (Wind River) - [218309] ConcurrentModificationException during workbench startup + * David McKnight (IBM) - [338510] "Copy Connection" operation deletes the registered property set in the original connection ********************************************************************************/ package org.eclipse.rse.core.subsystems; @@ -66,6 +67,9 @@ import org.eclipse.rse.core.filters.ISystemFilterString; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.ILabeledObject; +import org.eclipse.rse.core.model.IProperty; +import org.eclipse.rse.core.model.IPropertySet; +import org.eclipse.rse.core.model.IPropertySetContainer; import org.eclipse.rse.core.model.IRSEPersistableContainer; import org.eclipse.rse.core.model.ISubSystemConfigurator; import org.eclipse.rse.core.model.ISystemProfile; @@ -1057,6 +1061,7 @@ } return subsys; } + /** * Clone a given subsystem into the given connection. * Called when user does a copy-connection action. @@ -1076,7 +1081,9 @@ internalInitializeNewSubSystem(subsys, newConnection); // copy common data subsys.setName(oldSubsystem.getName()); // just in case it was changed - subsys.addPropertySets(oldSubsystem.getPropertySets()); + + oldSubsystem.clonePropertySets(subsys); + subsys.setHidden(oldSubsystem.isHidden()); diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java --- eclipse-rse-3.1.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java 2009-01-14 17:15:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui/subsystems/org/eclipse/rse/ui/subsystems/StandardCredentialsProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. + * Copyright (c) 2007, 2011 IBM Corporation and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -15,6 +15,8 @@ * Richie Yu (IBM) - [241716] Handle change expired password * Don Yantzi (IBM) - [233970] Handle messages provided by ICredentialsValidator * David Dykstal (IBM) - [261047] StandardCredentialsProvider does not cause a reacquire of a password when validation fails in a background thread + * David McKnight (IBM) - [334839] File Content Conflict is not handled properly + * David McKnight (IBM) - [351883] StandardCredentialsProvider.getCredentials() ignores password cache ********************************************************************************/ package org.eclipse.rse.ui.subsystems; @@ -79,6 +81,9 @@ */ public void run() { Shell shell = getShell(); + if (shell == null){ + shell = new Shell(); // need this for the case of being prompted during workbench shutdown + } if (shell != null) { ISystemPasswordPromptDialog dialog = getPasswordPromptDialog(shell); dialog.setSystemInput(getConnectorService()); @@ -266,7 +271,17 @@ IHost host = getConnectorService().getHost(); String hostName = host.getHostName(); IRSESystemType systemType = host.getSystemType(); - SystemSignonInformation result = new SystemSignonInformation(hostName, userId, password, systemType); + SystemSignonInformation result = null; + if (password == null && savePassword) { // no password, then read it if we can + PasswordPersistenceManager ppm = PasswordPersistenceManager.getInstance(); + result = ppm.find(systemType, hostName, userId); + if (result != null) { + password = result.getPassword(); + } + } + if (result == null) { + result = new SystemSignonInformation(hostName, userId, password, systemType); + } return result; } diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/.project eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/.project --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + org.eclipse.rse.ui.capabilities + + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,7 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %bundleName +Bundle-SymbolicName: org.eclipse.rse.ui.capabilities;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/about.html eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/about.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/about.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + + +About + + +

    About This Content

    + +

    June 8, 2009

    +

    License

    + +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/build.properties eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,14 @@ +################################################################################ +# Copyright (c) 2009 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = META-INF/,\ + about.html,\ + plugin.properties,\ + plugin.xml diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/plugin.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ +################################################################################ +# Copyright (c) 2009, 2010 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +providerName=Eclipse TM Project +bundleName=RSE Capabilities Plug-in + +activity.rse=Remote System Explorer +activity.rse.desc=Enable features of the Remote System Explorer (RSE). +activity.tm.terminal=Terminal +activity.tm.terminal.desc=Enables the TM Terminal View. \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/plugin.xml eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/plugin.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.ui.capabilities/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.ui.capabilities/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.ui.capabilities + 1.0.0-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/.cvsignore eclipse-rse-3.4.2/org.eclipse.rse.useractions/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/.cvsignore 2007-03-22 14:52:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.useractions/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/META-INF/MANIFEST.MF 2008-11-25 15:36:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.rse.useractions;singleton:=true -Bundle-Version: 1.1.100.qualifier +Bundle-Version: 1.1.400.qualifier Bundle-Activator: org.eclipse.rse.internal.useractions.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.core.resources, diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/about.ini eclipse-rse-3.4.2/org.eclipse.rse.useractions/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/about.ini 2009-05-13 22:21:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/about.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/about.properties 2009-02-10 22:34:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,5 +25,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/build.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/build.properties 2009-05-14 07:56:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2002, 2009 IBM Corporation and others. +# Copyright (c) 2002, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -20,5 +20,5 @@ icons/,\ about.ini,\ about.mappings,\ - dsdp32.png + tm32.png src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/plugin.properties 2009-05-13 22:21:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2002, 2009 IBM Corporation and others. +# Copyright (c) 2002, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,7 +16,7 @@ # NLS_ENCODING=UTF-8 pluginName = Remote System Explorer User Actions -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project PropertyPage.TeamViewUserActionNode = User Action Information PropertyPage.TeamViewCompileTypeNode = Compile Type Information diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.useractions + 1.1.400-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/ISystemCompileManagerAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/ISystemCompileManagerAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/ISystemCompileManagerAdapter.java 2008-05-06 07:38:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/ISystemCompileManagerAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -18,7 +18,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public interface ISystemCompileManagerAdapter { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/UniversalCompileManagerAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/UniversalCompileManagerAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/UniversalCompileManagerAdapter.java 2008-05-06 07:38:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/compile/UniversalCompileManagerAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -21,7 +21,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class UniversalCompileManagerAdapter implements diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/ISystemUDActionSubsystemAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/ISystemUDActionSubsystemAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/ISystemUDActionSubsystemAdapter.java 2008-05-06 07:38:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/ISystemUDActionSubsystemAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -19,7 +19,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public interface ISystemUDActionSubsystemAdapter { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/UniversalSystemUDActionSubsystemAdapter.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/UniversalSystemUDActionSubsystemAdapter.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/UniversalSystemUDActionSubsystemAdapter.java 2008-05-06 07:38:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/files/uda/UniversalSystemUDActionSubsystemAdapter.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -21,7 +21,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class UniversalSystemUDActionSubsystemAdapter implements ISystemUDActionSubsystemAdapter { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCascadingCompileAction.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCascadingCompileAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCascadingCompileAction.java 2008-05-06 07:38:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCascadingCompileAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,7 +32,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemCascadingCompileAction extends SystemBaseSubMenuAction implements IMenuListener { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCompileAction.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCompileAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCompileAction.java 2008-11-10 15:55:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemCompileAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -46,7 +46,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemCompileAction extends SystemBaseAction { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompileMenu.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompileMenu.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompileMenu.java 2008-12-03 01:44:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompileMenu.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -44,7 +44,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemDynamicCompileMenu extends CompoundContributionItem diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompilePromptMenu.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompilePromptMenu.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompilePromptMenu.java 2008-12-03 01:44:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemDynamicCompilePromptMenu.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -43,7 +43,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemDynamicCompilePromptMenu extends CompoundContributionItem diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemWorkWithCompileCommandsAction.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemWorkWithCompileCommandsAction.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemWorkWithCompileCommandsAction.java 2008-07-08 00:42:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/compile/SystemWorkWithCompileCommandsAction.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2008 IBM Corporation and others. + * Copyright (c) 2002, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -43,7 +43,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemWorkWithCompileCommandsAction extends SystemBaseDialogAction { diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/uda/SystemDynamicUserActionMenu.java eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/uda/SystemDynamicUserActionMenu.java --- eclipse-rse-3.1.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/uda/SystemDynamicUserActionMenu.java 2008-11-10 16:46:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions/src/org/eclipse/rse/internal/useractions/api/ui/uda/SystemDynamicUserActionMenu.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /********************************************************************************* - * Copyright (c) 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2008, 2011 IBM Corporation. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -43,7 +43,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class SystemDynamicUserActionMenu extends CompoundContributionItem Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/build.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/build.properties 2008-09-23 16:15:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -14,4 +14,5 @@ feature.properties,\ epl-v10.html,\ eclipse_update_120.jpg -generate.plugin@org.eclipse.rse.useractions.source=org.eclipse.rse.useractions +generate.feature@org.eclipse.rse.useractions.source=org.eclipse.rse.useractions + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/feature.properties 2009-05-13 22:21:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,17 +17,17 @@ featureName=Remote System Explorer User Actions # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A framework for contributing user-defined actions and compile commands to RSE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -41,8 +41,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -50,42 +50,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -94,47 +90,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/feature.xml 2009-05-14 07:56:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -30,8 +30,8 @@ - - + + @@ -57,11 +57,4 @@ version="0.0.0" unpack="false"/> - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/license.html 2008-02-29 11:21:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.useractions + 1.1.400-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:21:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 IBM Corporation and others. +# Copyright (c) 2006, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,17 +19,17 @@ featureName=Remote System Explorer User Actions Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A framework for contributing user-defined actions and compile commands to RSE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.\n\ +Copyright (c) 2000, 2012 IBM Corporation and others. All rights reserved.\n\ \n\ This program and the accompanying materials are made available under the terms\n\ of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ @@ -43,8 +43,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -52,42 +52,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -96,47 +92,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/license.html 2008-02-29 11:21:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:21:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.properties 2009-02-10 22:34:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2012 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,5 +22,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright IBM Corporation and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/build.properties 2009-05-14 07:56:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Adapted from rse.dstore-feature ############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:21:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2009 IBM Corporation and others. +# Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -10,4 +10,4 @@ # Martin Oberhuber (Wind River) - Adapted from rse.dstore-feature ############################################################################### pluginName=Remote System Explorer User Actions Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.classpath eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.classpath --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.classpath 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.classpath 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,6 @@ + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.project eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.project --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,22 @@ + + + org.eclipse.rse.useractions.sdk + + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/.settings/org.eclipse.jdt.core.prefs 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,71 @@ +#Fri Mar 28 14:14:24 CET 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.rse.useractions.sdk +Bundle-Version: 3.4.2.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.html eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + + +About + + +

    About This Content

    + +

    June 5, 2007

    +

    License

    + +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.ini eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.ini 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=tm32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.mappings eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.mappings --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.mappings 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.mappings 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/about.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,32 @@ +################################################################################ +# Copyright (c) 2006, 2012 Wind River Systems, Inc and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +# David Dykstal (IBM) - [232198] remove NLS MESSAGEFORMAT NONE +################################################################################ + +# NLS_ENCODING=UTF-8 + +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=Remote System Explorer User Actions SDK\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright IBM Corporation and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm\n\ +\n\ +This product includes software developed by the\n\ +Apache Software Foundation http://www.apache.org/ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/build.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,22 @@ +############################################################################### +# Copyright (c) 2005, 2011 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Martin Oberhuber (Wind River) - Use eclipse32.png feature image +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + tm32.png,\ + plugin.properties +src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/plugin.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2000, 2011 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +pluginName = Remote System Explorer User Actions SDK +providerName = Eclipse TM Project \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.rse.useractions.sdk + 3.4.2-SNAPSHOT + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/src/readme.txt eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/src/readme.txt --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/src/readme.txt 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/src/readme.txt 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1 @@ +This file is present only for build purposes. \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/.project eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/.project --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + org.eclipse.rse.useractions.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/build.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ +################################################################################ +# Copyright (c) 2013 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# David Dykstal - initial API and implementation +################################################################################ +bin.includes = feature.xml,\ + license.html,\ + feature.properties,\ + epl-v10.html,\ + eclipse_update_120.jpg Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### + +# NLS_MESSAGEFORMAT_NONE +# NLS_ENCODING=UTF-8 + +# "featureName" property - name of the feature +featureName=RSE User Actions SDK + +# "description" property - description of the feature +description=Install this if you plan to develop applications or tools \ +based user actions. This SDK contains runtimes, documentation and sources \ +for the user actions framework. + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2000, 2013 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,51 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.rse.useractions.sdk-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.useractions.sdk-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.rse.useractions.sdk + 3.4.2-SNAPSHOT + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/.project eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/.project --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/.project 2008-03-27 20:52:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - org.eclipse.rse.wince-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/build.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/build.properties 2009-02-08 23:07:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = feature.xml,\ - feature.properties,\ - license.html,\ - epl-v10.html,\ - eclipse_update_120.jpg -generate.plugin@org.eclipse.rse.subsystems.wince.source=org.eclipse.rse.subsystems.wince -generate.plugin@org.eclipse.tm.rapi.source=org.eclipse.tm.rapi - \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/epl-v10.html 2008-03-27 20:52:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

    Eclipse Public License - v 1.0

    - -

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

    - -

    1. DEFINITIONS

    - -

    "Contribution" means:

    - -

    a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

    -

    b) in the case of each subsequent Contributor:

    -

    i) changes to the Program, and

    -

    ii) additions to the Program;

    -

    where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

    - -

    "Contributor" means any person or entity that distributes -the Program.

    - -

    "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

    - -

    "Program" means the Contributions distributed in accordance -with this Agreement.

    - -

    "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

    - -

    2. GRANT OF RIGHTS

    - -

    a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

    - -

    b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

    - -

    c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

    - -

    d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

    - -

    3. REQUIREMENTS

    - -

    A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

    - -

    a) it complies with the terms and conditions of this -Agreement; and

    - -

    b) its license agreement:

    - -

    i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

    - -

    ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

    - -

    iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

    - -

    iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

    - -

    When the Program is made available in source code form:

    - -

    a) it must be made available under this Agreement; and

    - -

    b) a copy of this Agreement must be included with each -copy of the Program.

    - -

    Contributors may not remove or alter any copyright notices contained -within the Program.

    - -

    Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

    - -

    4. COMMERCIAL DISTRIBUTION

    - -

    Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

    - -

    For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

    - -

    5. NO WARRANTY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

    - -

    6. DISCLAIMER OF LIABILITY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    - -

    7. GENERAL

    - -

    If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

    - -

    If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

    - -

    All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

    - -

    Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

    - -

    This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/feature.properties 2009-05-13 22:20:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,140 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -# "featureName" property - name of the feature -featureName=RSE WinCE Services (Incubation) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates - -# "description" property - description of the feature -description=Windows CE connectivity services for the Remote System Explorer (RSE). \ -Requires Microsoft RAPI libraries installed. Includes Source. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2008, 2009 Radoslav Gerganov and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n -########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/feature.xml 2009-05-14 07:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/license.html eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/license.html 2008-03-27 20:52:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/license.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - -Eclipse.org Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

    - -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/epl-v10.html 2008-03-27 20:52:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

    Eclipse Public License - v 1.0

    - -

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

    - -

    1. DEFINITIONS

    - -

    "Contribution" means:

    - -

    a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

    -

    b) in the case of each subsequent Contributor:

    -

    i) changes to the Program, and

    -

    ii) additions to the Program;

    -

    where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

    - -

    "Contributor" means any person or entity that distributes -the Program.

    - -

    "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

    - -

    "Program" means the Contributions distributed in accordance -with this Agreement.

    - -

    "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

    - -

    2. GRANT OF RIGHTS

    - -

    a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

    - -

    b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

    - -

    c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

    - -

    d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

    - -

    3. REQUIREMENTS

    - -

    A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

    - -

    a) it complies with the terms and conditions of this -Agreement; and

    - -

    b) its license agreement:

    - -

    i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

    - -

    ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

    - -

    iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

    - -

    iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

    - -

    When the Program is made available in source code form:

    - -

    a) it must be made available under this Agreement; and

    - -

    b) a copy of this Agreement must be included with each -copy of the Program.

    - -

    Contributors may not remove or alter any copyright notices contained -within the Program.

    - -

    Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

    - -

    4. COMMERCIAL DISTRIBUTION

    - -

    Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

    - -

    For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

    - -

    5. NO WARRANTY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

    - -

    6. DISCLAIMER OF LIABILITY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    - -

    7. GENERAL

    - -

    If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

    - -

    If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

    - -

    All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

    - -

    Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

    - -

    This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:20:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/feature.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,146 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=RSE WinCE Services Source (Incubation) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates - -# "description" property - description of the feature -description=Windows CE connectivity services for the Remote System Explorer (RSE). \ -Requires Microsoft RAPI libraries installed. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2008, 2009 Radoslav Gerganov and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n -########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/license.html 2008-03-27 20:52:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplateFeature/license.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - -Eclipse.org Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

    - -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. - - diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.html eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.html --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.html 2008-03-27 20:52:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    March 27, 2008

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - -

    Source Code

    -

    This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:20:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.mappings eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.mappings --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.mappings 2008-03-27 20:52:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.mappings 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.properties 2009-02-10 22:15:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/about.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=RSE WinCE Services Source (Incubation)\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Radoslav Gerganov and others 2008, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/build.properties 2009-05-14 07:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 07:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.rse.wince-feature/sourceTemplatePlugin/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -pluginName=RSE WinCE Services Source (Incubation) -providerName=Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.test/.classpath eclipse-rse-3.4.2/org.eclipse.test/.classpath --- eclipse-rse-3.1.2/org.eclipse.test/.classpath 2007-11-06 21:03:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.test/.cvsignore eclipse-rse-3.4.2/org.eclipse.test/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.test/.cvsignore 2002-10-15 17:47:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.test/.project eclipse-rse-3.4.2/org.eclipse.test/.project --- eclipse-rse-3.1.2/org.eclipse.test/.project 2003-10-27 19:06:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - org.eclipse.test - - - org.apache.ant - org.eclipse.ant.core - org.eclipse.core.boot - org.eclipse.core.resources - org.eclipse.core.runtime - org.eclipse.help - org.eclipse.jface - org.eclipse.jface.text - org.eclipse.swt - org.eclipse.ui.workbench - org.eclipse.update.core - org.junit - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.test/JUNIT.XSL eclipse-rse-3.4.2/org.eclipse.test/JUNIT.XSL --- eclipse-rse-3.1.2/org.eclipse.test/JUNIT.XSL 2004-09-28 18:31:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/JUNIT.XSL 1970-01-01 00:00:00.000000000 +0000 @@ -1,455 +0,0 @@ - - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    - - - - - - -
    - - - - - - - - -

    Packages

    - Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers. - - - - - - - - - - - - - - - - - Failure - Error - - - - - - - - - -
    - - - -
    -
    - - - - - - - - - - - - -

    Package

    - - - - - - -
    - Back to top -

    -

    - - - - - - - - -

    TestCase

    - - - - - - - - - - -
    - -

    - - Back to top - - - - -

    Summary

    - - - - - - - - - - - - - - - - - Failure - Error - - - - - - - - - -
    TestsFailuresErrorsSuccess rateTime
    - - - - - - - -
    - - - - -
    - Note: failures are anticipated and checked for with assertions while errors are unanticipated. -
    -
    - - - - cur = TestCases['.'] = new Array(); - - - cur[''] = ''; - - - - - -

    Unit Test Results

    - - - - - -
    Designed for use with JUnit and Ant.
    -
    -
    - - - - Name - Tests - Errors - Failures - Time(s) - - - - - - - Name - Tests - Errors - Failures - Time(s) - - - - - - - Name - Status - Type - Time(s) - - - - - - - - - - - Failure - Error - - - - - - - - - - - - - - - - - - - - - Error - - - - - - Failure - - - - Error - - - - Success - - - - - - - - - - - - - - - - - - - - - - - - N/A - - - - - - -

    - - - - - - - - - - - - - \\ - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    -
    - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.test/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.test/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.test/META-INF/MANIFEST.MF 2007-04-25 18:02:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.test; singleton:=true -Bundle-Version: 3.2.0 -Bundle-ClassPath: automated.jar -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.apache.ant, - org.junit, - org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.ui.ide.application, - org.eclipse.equinox.app -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.test/about.html eclipse-rse-3.4.2/org.eclipse.test/about.html --- eclipse-rse-3.1.2/org.eclipse.test/about.html 2006-06-05 15:05:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 2, 2006

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.test/build.properties eclipse-rse-3.4.2/org.eclipse.test/build.properties --- eclipse-rse-3.1.2/org.eclipse.test/build.properties 2007-06-06 18:13:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -############################################################################### - -source.automated.jar =src/ -bin.includes = plugin.properties,\ - *.jar,\ - *.XSL,\ - library.xml,\ - plugin.xml,\ - doc/,\ - runtests*,\ - test.xml,\ - *.html,\ - META-INF/ diff -Nru eclipse-rse-3.1.2/org.eclipse.test/easymock.psf eclipse-rse-3.4.2/org.eclipse.test/easymock.psf --- eclipse-rse-3.1.2/org.eclipse.test/easymock.psf 2008-10-02 18:20:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/easymock.psf 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.test/library.xml eclipse-rse-3.4.2/org.eclipse.test/library.xml --- eclipse-rse-3.1.2/org.eclipse.test/library.xml 2008-03-13 14:00:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.test/library.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Eclipse Public License - v 1.0

    - -

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

    - -

    1. DEFINITIONS

    - -

    "Contribution" means:

    - -

    a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

    -

    b) in the case of each subsequent Contributor:

    -

    i) changes to the Program, and

    -

    ii) additions to the Program;

    -

    where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

    - -

    "Contributor" means any person or entity that distributes -the Program.

    - -

    "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

    - -

    "Program" means the Contributions distributed in accordance -with this Agreement.

    - -

    "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

    - -

    2. GRANT OF RIGHTS

    - -

    a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

    - -

    b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

    - -

    c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

    - -

    d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

    - -

    3. REQUIREMENTS

    - -

    A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

    - -

    a) it complies with the terms and conditions of this -Agreement; and

    - -

    b) its license agreement:

    - -

    i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

    - -

    ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

    - -

    iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

    - -

    iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

    - -

    When the Program is made available in source code form:

    - -

    a) it must be made available under this Agreement; and

    - -

    b) a copy of this Agreement must be included with each -copy of the Program.

    - -

    Contributors may not remove or alter any copyright notices contained -within the Program.

    - -

    Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

    - -

    4. COMMERCIAL DISTRIBUTION

    - -

    Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

    - -

    For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

    - -

    5. NO WARRANTY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

    - -

    6. DISCLAIMER OF LIABILITY

    - -

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    - -

    7. GENERAL

    - -

    If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

    - -

    If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

    - -

    All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

    - -

    Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

    - -

    This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/feature.properties 2009-05-13 22:22:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,145 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Service Discovery - -# "description" property - description of the feature -description=A framework and Zeroconf / DNS-SD based implementation for \ -detecting remote network services. Includes Source. - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2006, 2009 Symbian Software Ltd. and others. All rights reserved.\n\ -This program and the accompanying materials are made available under the terms\n\ -of the Eclipse Public License v1.0 which accompanies this distribution, and is\n\ -available at http://www.eclipse.org/legal/epl-v10.html\n\ -\n\ -Contributors:\n\ -Javier Montalvo Orús (Symbian) - initial API and implementation\n\ -Martin Oberhuber (Wind River) - externalized strings, fixed build.properties, feature.xml\n -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n -########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/feature.xml 2009-05-14 07:54:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,178 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/license.html 2007-06-04 16:09:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/license.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ - - - - -Eclipse.org Software User Agreement - - - -

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    - -

    Usage Of Content

    - -

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - -

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

    - -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - -
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - -

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

    - -
      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • -
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

    - -

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - - - -

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    - -

    Cryptography

    - -

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.html 2007-05-29 20:26:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - -

    Source Code

    -

    This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:22:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.mappings eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.mappings --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.mappings 2006-09-21 22:10:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.mappings 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.properties 2009-02-10 22:10:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/about.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Service Discovery Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Symbian Software Ltd. and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/build.properties 2009-05-14 07:54:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/plugin.properties 2009-05-14 07:54:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery-feature/sourceTemplatePlugin/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Service Discovery Source -providerName=Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/.cvsignore 2007-06-11 11:01:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -bin -index -build.xml -javadoc.link.location -temp.bin.log -temp.convert.txt -temp.options.txt diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/.project 2007-06-11 11:01:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ - - - org.eclipse.tm.discovery.doc.isv - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/META-INF/MANIFEST.MF 2009-05-20 19:32:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.doc.isv;singleton:=true -Bundle-Version: 3.0.100.qualifier -Bundle-Localization: plugin -Eclipse-LazyStart: false -Bundle-Vendor: %providerName diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/about.html 2007-06-11 11:03:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/book.css eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/book.css --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/book.css 2007-06-11 11:01:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/book.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,112 +0,0 @@ -P.Code { - display: block; - text-align: left; - text-indent: 0.00pt; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 15pt; - font-size: 10.000000pt; - font-weight: normal; - font-style: normal; - color: #4444CC; - text-decoration: none; - vertical-align: baseline; - text-transform: none; - font-family: "Courier New", Courier, monospace; -} -H6.CaptionFigColumn { - display: block; - text-align: left; - text-indent: 0.000000pt; - margin-top: 3.000000pt; - margin-bottom: 11.000000pt; - margin-right: 0.000000pt; - margin-left: 0.000000pt; - font-size: 9.000000pt; - font-weight: bold; - font-style: Italic; - color: #000000; - text-decoration: none; - vertical-align: baseline; - text-transform: none; -} -P.Note { - display: block; - text-align: left; - text-indent: 0pt; - margin-top: 19.500000pt; - margin-bottom: 19.500000pt; - margin-right: 0.000000pt; - margin-left: 30pt; - font-size: 11.000000pt; - font-weight: normal; - font-style: Italic; - color: #000000; - text-decoration: none; - vertical-align: baseline; - text-transform: none; -} -EM.UILabel { - font-weight: Bold; - font-style: normal; - text-decoration: none; - vertical-align: baseline; - text-transform: none; -} -EM.CodeName { - font-weight: Bold; - font-style: normal; - text-decoration: none; - vertical-align: baseline; - text-transform: none; - font-family: "Courier New", Courier, monospace; -} - -body, html { border: 0px } - - -/* following font face declarations need to be removed for DBCS */ - -body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000} -pre { font-family: "Courier New", Courier, monospace;} - -/* end font face declarations */ - -/* following font size declarations should be OK for DBCS */ -body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; } -pre { font-size: 10pt} - -/* end font size declarations */ - -body { background: #FFFFFF; margin-bottom: 1em } -h1 { font-size: 18pt; margin-top: 5; margin-bottom: 1 } -h2 { font-size: 14pt; margin-top: 25; margin-bottom: 3 } -h3 { font-size: 11pt; margin-top: 20; margin-bottom: 3 } -h4 { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic } -p { margin-top: 10px; margin-bottom: 10px } -pre { margin-left: 6; font-size: 9pt; color: #4444CC } -a:link { color: #0000FF } -a:hover { color: #000080 } -a:visited { text-decoration: underline } -ul { margin-top: 10px; margin-bottom: 10px; } -li { margin-top: 5px; margin-bottom: 5px; } -li p { margin-top: 5px; margin-bottom: 5px; } -ol { margin-top: 10px; margin-bottom: 10px; } -dl { margin-top: 10px; margin-bottom: 10px; } -dt { margin-top: 5px; margin-bottom: 5px; font-weight: bold; } -dd { margin-top: 5px; margin-bottom: 5px; } -strong { font-weight: bold} -em { font-style: italic} -var { font-style: italic} -div.revision { border-left-style: solid; border-left-width: thin; - border-left-color: #7B68EE; padding-left:5 } -th { font-weight: bold } - -a.command-link { -} -a.command-link img { - border-width: 0px; - border-style: none; - vertical-align: middle; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/build.properties 2008-02-12 22:38:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2007 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -# Martin Oberhuber (Wind River) - Declare API provisional -############################################################################### -bin.includes = META-INF/,\ - about.html,\ - book.css,\ - notices.html,\ - plugin.properties,\ - plugin.xml,\ - schema.css,\ - toc.xml,\ - guide/,\ - icons/,\ - index/,\ - reference/,\ - provisional_api.html -customBuildCallbacks = customBuildCallbacks.xml diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/buildDoc.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/buildDoc.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/buildDoc.xml 2009-05-14 07:52:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/buildDoc.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/customBuildCallbacks.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/customBuildCallbacks.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/customBuildCallbacks.xml 2009-05-14 07:52:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/customBuildCallbacks.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/device.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/device.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/device.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/device.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ - - - - - - - -Device - - -

    Device

    -

    -Device represents a machine with a unique address in the network.
    -It can contain as well a name for easier identification. -A device contains a list of service types. -

    -

    -

    Attributes

    -
      -
    • Address
    • -
    • Name (optional)
    • -
    -

    - - \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/images/discovery.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/images/discovery.png differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/images/discovery_model.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/images/discovery_model.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/images/list.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/images/list.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/model.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/model.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/model.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/model.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - -Model - - -

    Model

    -

    -Service discovery stores the information in a EMF model as following: -

    - -

    -

    - -
    -

    -

    -The service discovery engine will fill this model using the provided protocol and transport implementations, and can be accessed after using the standard EMF methods. -

    - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/network.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/network.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/network.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/network.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - - - -Network - - -

    Network

    -

    -The Network is the top level or root of the discovered services model.
    -It contains a list of devices -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/overview.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/overview.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/overview.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/overview.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - -Overview - - -

    Overview

    -

    -

    - -
    -

    -

    -

    - -
    -

    - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/pair.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/pair.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/pair.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/pair.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ - - - - - - - -Pair - - -

    Pair

    -

    -Each service can contain multiple pairs of keys and values to provide extra information about the service.
    -

    -

    -Using service discovery with the Remote System Explorer requires a "tranport" key matching the transport specified in org.eclipse.rse.core.subsystemConfigurations. -

    - -

    -

    Attributes

    -
      -
    • Key
    • -
    • Value
    • -
    -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/protocol.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/protocol.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/protocol.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/protocol.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - - - -Protocol - - -

    Protocol

    -

    -It specifies the protocol that will be used to interact with the remote devices.
    -Protocols have to be specified as extensions of org.eclipse.tm.discovery.engine.discoveryProtocol.
    -

    -

    -Examples of discovery protocols are: -

      -
    • DNS Service Discovery (DNS-SD)
    • -
    • Service Location Protocol (SLP, srvloc)
    • -
    • Simple Service Discovery Protocol (SSDP)
    • -
    • ...
    • -
    -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/service.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/service.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/service.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/service.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ - - - - - - - -Service - - -

    Service

    -

    -Service represents a discovered service available in the remote device grouped under a common service type.
    -

    -

    -

    Attributes

    -
      -
    • Name
    • -
    - -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/servicetype.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/servicetype.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/servicetype.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/servicetype.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - - - -Service Type - - -

    Service Type

    -

    -A service type represents a group of services of the same kind discovered in the parent device.
    -Service type names should follow standard service names whenever possible. -

    - - -

    -

    Attributes

    -
      -
    • Name
    • -
    -

    - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/transport.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/transport.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/transport.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/transport.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ - - - - - - - -Transport - - -

    Transport

    -

    -Transport defines how the remote devices are accessed to be queried for available services.
    -Transports have to be specified as extensions of org.eclipse.tm.discovery.engine.discoveryTransport.
    -

    -

    -Examples of transport are: -

      -
    • UDP
    • -
    • TCP
    • -
    • serial
    • -
    • ...
    • -
    -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/usage.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/usage.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/usage.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/usage.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ - - - - - - - -Programmatic usage - - -

    Programmatic usage

    -

    -Perform service discovery session: -

    -
    -
    -int timeout = 500; // milliseconds
    -String query = "_services._dns-sd._udp.local.";	//DNS-SD query
    -		
    -//instantiate protocol by name attribute		
    -IProtocol protocol = ProtocolFactory.getProtocol("DNS-SD");  
    -
    -//instantiate transport by name attribute
    -ITransport transport = TransportFactory.getTransport("UDP", "224.0.0.251", timeout); 
    -
    -//get engine instance and kick off discovery		
    -ServiceDiscoveryEngine serviceDiscoveryEngine = ServiceDiscoveryEngine.getInstance();	
    -serviceDiscoveryEngine.doServiceDiscovery(query, protocol,transport);
    -
    -
    -

    -Access EMF model: -

    -
    -
    -//get engine instance
    -ServiceDiscoveryEngine serviceDiscoveryEngine = ServiceDiscoveryEngine.getInstance();	
    -
    -//access org.eclipse.emf.ecore.resource.Resource
    -Resource model = serviceDiscoveryEngine.getResource();
    -		
    -
    - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/view.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/view.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/guide/view.html 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/guide/view.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ - - - - - - - -Discovery View - - -

    Discovery View

    -

    -The Discovery view can be used to test new extensions and discover available services using the existing protocol and transport implementations.
    -It can be accessed through the view "Service Discovery" -> "Service Discovery Properties".
    -
    -In the view, it's possible launching a wizard to select the protocol and transport to be used: -

    -

    -

    - -
    -

    -

    -And inspect the discovered services and their attributes:
    -

    -

    -

    - -
    -

    -

    -Since the same model is used, launching multiple times the wizard adds new discovered services to the same model, even using different protocols and transports. -

    - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/notices.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/notices.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/notices.html 2007-06-11 11:03:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/notices.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ - - - - - - - - - Legal Notices - - - -

    -Notices

    -

    -The material in this guide is Copyright (c) 2007 Symbian Software Ltd. and others. -

    -

    -Terms and conditions regarding the use of this guide. -

    - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/options.txt eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/options.txt --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/options.txt 2007-06-11 11:03:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/options.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ --quiet --encoding "iso-8859-1" --charset "iso-8859-1" --source 1.4 --sourcepath "../org.eclipse.tm.discovery.engine/src -;../org.eclipse.tm.discovery.model/src -;../org.eclipse.tm.discovery.model.edit/src -;../org.eclipse.tm.discovery.protocol.dnssd/src -;../org.eclipse.tm.discovery.transport.udp/src -;../org.eclipse.tm.discovery.view/src -;../org.eclipse.tm.discovery.wizard/src -;../org.eclipse.rse.discovery/src" --d reference/api --bootclasspath @rt@ --classpath @cp@ -;../org.eclipse.rse.core/@dot -;../org.eclipse.rse.core/bin -;../org.eclipse.rse.ui/@dot -;../org.eclipse.rse.ui/bin --breakiterator --tag generated:X --tag lastgen:X --tag model:X --tag ordered:X --use --splitIndex --windowtitle "TM Service Discovery API Specification" --doctitle "TM Service Discovery API Specification" --header "TM Service Discovery
    Release 2.0" --bottom "Copyright (c) 2007 Symbian Software Ltd. and others. All Rights Reserved." --group "TM Service Discovery Core Plug-in Packages" "org.eclipse.tm.discovery.*" --group "TM Service Discovery RSE Integration Plug-in Packages" "org.eclipse.rse.discovery" --link http://java.sun.com/j2se/1.4.2/docs/api --linkoffline ./../../../org.eclipse.platform.doc.isv/reference/api @javadoc.link.location@/platform/reference/api/ --linkoffline ./../../../org.eclipse.emf.doc/references/javadoc @javadoc.link.location@/emf/references/javadoc/ --linkoffline ./../../../org.eclipse.rse.doc.isv/reference/api ../org.eclipse.rse.doc.isv/reference/api --link http://bundles.osgi.org/javadoc/r4 - -org.eclipse.tm.discovery.protocol -org.eclipse.tm.discovery.transport -org.eclipse.tm.discovery.model diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/plugin.properties 2009-05-25 21:21:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -############################################################################### -# Copyright (c) 2007, 2009 Symbian Software Ltd. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orus (Symbian) - initial API and implementation -############################################################################### - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -pluginName=Target Management Service Discovery Developer Guide -providerName=Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/plugin.xml 2009-05-14 07:52:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/provisional_api.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/provisional_api.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/provisional_api.html 2007-06-11 14:30:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/provisional_api.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ - - - - - -TM Service Discovery API Status - - - - - -

    TM Service Discovery API Status

    -

    Provisional API

    -
    -

    Although Service Discovery API has been reviewed, we want to give the -Open Source Communitiy a chance to provide public -feedback and help further improving the APIs. Therefore,

    - -

    As of Service Discovery 2.0, all API is considered provisional.

    - -

    This means, that we reserve the right to change any API after -Service Discovery 2.0 in a not backward compatible way. -We will make every sensible effort to keep at least Source API -Compatibility intact, but in cases where this would lead to unnecessary -code bloat we will go with API breakage. -All such API changes will be voted on by committers on the -dsdp-tm-dev developer mailing list, and documented in a migration guide -for future releases. We expect that with Community Feedback, we'll reach a -stable, hardened API for Service Discovery 3.0. Please give your feedback on -Eclipse Bugzilla -under category DSDP, Product Target Management.

    -
    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/.cvsignore 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -api \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/.cvsignore 2007-06-11 11:01:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -org_eclipse_*.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/index.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/index.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/index.html 2007-06-11 11:03:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/reference/extension-points/index.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ - - - - - -Service Discovery Extension Points - - - -

    Service Discovery Extension Points

    -

    The following extension points can be used to extend the capabilities of the - Service Discovery infrastructure:

    - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/schema.css eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/schema.css --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/schema.css 2007-06-11 11:01:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/schema.css 1970-01-01 00:00:00.000000000 +0000 @@ -1,66 +0,0 @@ -H6.CaptionFigColumn#header { - font-size:16px; - display:inline -} - -P.Note#copyright { - font-size: smaller; - font-style: normal; - color: #336699; - display:inline; - margin-top: 3.000000pt; - margin-bottom: 11.000000pt; - margin-right: 0.000000pt; - margin-left: 0.000000pt; -} - -P.Code#dtd { - color: #800000; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 10.000000pt; -} - -P.Code#dtdAttlist { - color: #800000; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 20.000000pt; -} - -P.Code#tag { - color: #000080; - display:inline; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 0.000000pt; -} - -P.Code#cstring { - color: #008000; - display:inline; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 0.000000pt; -} - -.ConfigMarkup#elementDesc { - color: black; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 10.000000pt; -} - -.ConfigMarkup#attlistDesc { - color: black; - margin-top: 0.000000pt; - margin-bottom: 0.000000pt; - margin-right: 0.000000pt; - margin-left: 32.000000pt; -} - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/toc.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/toc.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.doc.isv/toc.xml 2009-05-14 07:52:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.doc.isv/toc.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.classpath 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.cvsignore 2006-09-07 11:52:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.options eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.options --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.options 2006-09-07 10:07:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.options 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.project 2008-03-16 20:19:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.engine - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:32:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:22:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.ui.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.ui.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.ui.prefs 2006-09-07 10:07:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/.settings/org.eclipse.jdt.ui.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -#Thu Jul 27 13:27:17 BST 2006 -eclipse.preferences.version=1 -internal.default.compliance=default -org.eclipse.jdt.ui.text.custom_code_templates= diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/META-INF/MANIFEST.MF 2009-03-05 13:22:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.engine;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.discovery.engine.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Export-Package: org.eclipse.tm.discovery.protocol, - org.eclipse.tm.discovery.transport, - org.eclipse.tm.internal.discovery.engine;x-friends:="org.eclipse.tm.discovery.view,org.eclipse.tm.discovery.wizard" -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.html 2007-05-29 20:30:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.ini eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.ini 2009-05-13 22:22:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.ini 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.mappings eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.mappings --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.mappings 2006-09-28 15:11:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.mappings 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/about.properties 2009-02-10 22:10:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/about.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Service Discovery\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Symbian Software Ltd. and others 2006, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/build.properties 2009-05-25 21:22:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2009 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - plugin.xml,\ - .,\ - about.ini,\ - about.mappings,\ - about.properties,\ - dsdp32.png -src.includes = schema/,\ - about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/plugin.properties 2009-05-14 07:53:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery Engine -providerName = Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/plugin.xml 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ - - - - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd 2008-03-16 20:18:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/schema/discoveryProtocol.exsd 1970-01-01 00:00:00.000000000 +0000 @@ -1,118 +0,0 @@ - - - - - - - - - Extension point providing implementations of protocols for service discovery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allows specifying semicolon separated multicast addresses to be used with specific transports in the format <transport>:<address> -An example would be: -<code>"transportName1:address1;transportName2:address2;UDP:224.0.0.251"</code> - - - - - - - - - - - - [Enter extension point usage example here.] - - - - - - - - - [Enter API information here.] - - - - - - - - - [Enter information about supplied implementation of this extension point.] - - - - - - - - - Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v1.0 which accompanies this distribution, and is -available at http://www.eclipse.org/legal/epl-v10.html - -Contributors: - Javier Montalvo Orús (Symbian) - initial API and implementation - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/schema/discoveryTransport.exsd eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/schema/discoveryTransport.exsd --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/schema/discoveryTransport.exsd 2006-11-10 20:17:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/schema/discoveryTransport.exsd 1970-01-01 00:00:00.000000000 +0000 @@ -1,109 +0,0 @@ - - - - - - - - - Extension point providing implementations of transports for service discovery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Enter extension point usage example here.] - - - - - - - - - [Enter API information here.] - - - - - - - - - [Enter information about supplied implementation of this extension point.] - - - - - - - - - Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v1.0 which accompanies this distribution, and is -available at http://www.eclipse.org/legal/epl-v10.html - -Contributors: - Javier Montalvo Orús (Symbian) - initial API and implementation - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/IProtocol.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/IProtocol.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/IProtocol.java 2009-05-25 21:22:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/IProtocol.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2008 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.protocol; - -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.tm.discovery.transport.ITransport; - -/** - * Interface for service discovery protocol implementations.
    - * Standard protocols that can be implementated from this interface are: - *
      - *
    • DNS-SD (Zeroconf) - *
    • Simple Service Discovery Protocol (SSDP) - *
    • Service Location Protocol (SPL) - *
    - * As well as propietary/customised protocols - * - */ -public interface IProtocol { - - - /** - * Instantiates a Job to populate a model given an initial query, a resource - * containing the model to be populated and an ITranport implementation. - * - * @param query Initial query to be sent to the target. This initial query - * can be obtained from the getQueries() method. - * - * @param resource Resource containing the model to be populated with the - * results of the service discovery action. - * - * @param transport ITransport implementation of the transport to be used - * for the discovery action. - * - * @return Job containing the service discovery action. - * - * @see Job - * @see Resource - * @see ITransport - * - */ - public abstract Job getDiscoveryJob(String query, Resource resource, ITransport transport); - - - /** - * Gets the list of recommended queries to start the service discovery process. This queries can be used in getDiscoveryJob(). - * - * @return - * An array containing the recommended queries. - */ - public abstract String[] getQueries(); - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java 2007-05-11 10:48:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/protocol/ProtocolFactory.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.protocol; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.Vector; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.Platform; - -/** - * Static factory to handle the protocol implementations.
    - */ - -public class ProtocolFactory { - - - /* - * Extension point containing the protocol implementations available in the workbench - */ - private static IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tm.discovery.engine","discoveryProtocol"); //$NON-NLS-1$ //$NON-NLS-2$ - - - /** - * Returns the available protocol names. This protocol names are registered in the field name of the extension point discoveryProtocol - * - * @return - * Array of available protocol names - */ - public static String[] getProtocolList() - { - Vector protocols = new Vector(); - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - protocols.add(name); - } - - String[] protocolsList = new String[protocols.size()]; - protocols.copyInto(protocolsList); - return protocolsList; - } - - /** - * Returns the recommended queries for the specified protocol - * - * @param protocolName - * Name of the protocol - * @return - * Array of recommended queries to be send using this protocol. - * @throws CoreException - */ - public static String[] getQueryList(String protocolName) throws CoreException - { - IProtocol protocol = null; - String[] queries = null; - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - if(name.equalsIgnoreCase(protocolName)) - { - protocol = (IProtocol)ce[i].createExecutableExtension("class"); //$NON-NLS-1$ - } - } - - if(protocol != null) - { - queries = protocol.getQueries(); - if(queries==null) - queries = new String[]{}; - } - return queries; - - } - - /** - * Gets the IProtocol implementation of a protocol given its name - * - * @param protocolName - * Name of the protocol - * @return - * IProtocol implementation of the protocol matching the given name. Null if the protocol cannot be found. - * @throws CoreException - * - * @see IProtocol - */ - public static IProtocol getProtocol(String protocolName) throws CoreException { - - IProtocol protocol = null; - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - if(name.equalsIgnoreCase(protocolName)) - { - protocol = (IProtocol)ce[i].createExecutableExtension("class"); //$NON-NLS-1$ - } - } - return protocol; - } - - /** - * Gets the multicast address given a protocol name and a transport name or returns null if this information is not available - * - * @param protocolName - * Name of the protocol - * @param transportName - * Name of the transport - * @return - * String representing the multicast address of the given protocol and transport or null if not available - * @throws CoreException - * - * @see IProtocol - */ - public static String getMulticastAddress(String protocolName, String transportName) throws CoreException { - - String multiCastAddress = null; - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - if(name.equalsIgnoreCase(protocolName)) - { - String multicastAddresses = ce[i].getAttribute("multicast"); //$NON-NLS-1$ - if(multicastAddresses==null) - break; - - String[] pairs = multicastAddresses.split(";"); //$NON-NLS-1$ - for (int j = 0; j < pairs.length; j++) { - - URI uri=null; - try { - uri = new URI(pairs[j]); - } catch (URISyntaxException e) {} - - if(uri!=null) - { - if(uri.getScheme().equals(transportName)) - { - multiCastAddress = uri.getSchemeSpecificPart(); - break; - } - } - } - } - } - return multiCastAddress; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/ITransport.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/ITransport.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/ITransport.java 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/ITransport.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Martin Oberhuber (Wind River) - fix javadoc errors - ********************************************************************************/ - -package org.eclipse.tm.discovery.transport; - -import java.io.IOException; - - -/** - * Interface for service discovery transports - * - */ -public interface ITransport { - - /** - * Handles sending data - * - * @param packet Data packet to be sent. - * @throws IOException - */ - public abstract void send(byte[] packet) throws IOException; - - /** - * Handles receiving data - * - * @param packet - * Packet to be filled with the reply data. - * @return - * Address of the replying device. - * @throws IOException - */ - public abstract String receive(byte[] packet) throws IOException; - - - /** - * Sets the address of the target, depending on the implementation (IP, port...) - * @param address - * Address or identifier of the target. - * @throws Exception - * - */ - public abstract void setTargetAddress(String address) throws Exception; - - /** - * Sets the timeout for the transport implementation. - * @param timeOut - * The timeout in milliseconds - * @throws Exception - */ - public abstract void setTimeOut(int timeOut) throws Exception; - - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/TransportFactory.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/TransportFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/TransportFactory.java 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/discovery/transport/TransportFactory.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,85 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.transport; - -import java.util.Vector; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.Platform; - -/** - * Factory for the remoste system connection. - */ - -public class TransportFactory { - - /* - * Extension point containing the transport implementations available in the workbench - */ - private static IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tm.discovery.engine","discoveryTransport"); //$NON-NLS-1$ //$NON-NLS-2$ - - - /** - * Returns the available transport names. The transport names are registered in the field name of the extension point discoveryTransport - * - * @return - * Array of available transport names - */ - public static String[] getTransportList() - { - Vector transports = new Vector(); - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - transports.add(name); - } - - String[] transportsList = new String[transports.size()]; - transports.copyInto(transportsList); - return transportsList; - } - - /** - * Gets the ITransport implementation of a transport given its name - * - * @param transportName - * Name of the transport - * @param address - * Address of the target device - * @param timeOut - * Timeout in milliseconds - * @return - * ITranport implementation of the transport matching the given name. Null if the transport cannot be found. - * @throws Exception - */ - public static ITransport getTransport(String transportName, String address, int timeOut) throws Exception { - - ITransport transport = null; - - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String name = ce[i].getAttribute("name"); //$NON-NLS-1$ - if(name!=null) - if(name.equalsIgnoreCase(transportName)) - { - transport = (ITransport)ce[i].createExecutableExtension("class"); //$NON-NLS-1$ - transport.setTargetAddress(address); - transport.setTimeOut(timeOut); - - } - } - return transport; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Activator.java 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.engine; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.rse.discovery.engine"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Messages.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Messages.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Messages.java 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.engine; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class Messages { - private static final String BUNDLE_NAME = "org.eclipse.tm.internal.discovery.engine.messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle - .getBundle(BUNDLE_NAME); - - private Messages() { - } - - public static String getString(String key) { - try { - return RESOURCE_BUNDLE.getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/ServiceDiscoveryEngine.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/ServiceDiscoveryEngine.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/ServiceDiscoveryEngine.java 2007-05-10 12:38:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/ServiceDiscoveryEngine.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,100 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.engine; - -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.common.util.WrappedException; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.protocol.IProtocol; -import org.eclipse.tm.discovery.transport.ITransport; -import org.eclipse.tm.internal.discovery.model.util.ModelResourceFactoryImpl; - -/** - * Engine for service discovery. - * Instantiates the model that contains the discovered services information. - * Provides methods to launch a discovery job given an implementation of ITransport and IProtocol to populate the model. - * - * @see ITransport - * @see IProtocol - * - */ - -public class ServiceDiscoveryEngine { - - private static ServiceDiscoveryEngine SERVICE_DISCOVERY_ENGINE = null; - - private final URI SERVICE_DISCOVERY_URI = URI.createFileURI(Messages.getString("ServiceDiscoveryEngine.DiscoveryModelFileURI")); //$NON-NLS-1$ - - private Resource resource; - - /** - * Gets an instance of the service discovery engine - */ - public static ServiceDiscoveryEngine getInstance() { - if (SERVICE_DISCOVERY_ENGINE == null) - SERVICE_DISCOVERY_ENGINE = new ServiceDiscoveryEngine(); - - return SERVICE_DISCOVERY_ENGINE; - } - - /* - * Private constructor of the ServiceDiscoveryEngine - */ - private ServiceDiscoveryEngine() { - - // get model - ResourceSet resourceSet = new ResourceSetImpl(); - - // Register the appropriate resource factory to handle all file - // extentions. - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, new ModelResourceFactoryImpl()); - - // Register the package to ensure it is available during loading. - resourceSet.getPackageRegistry().put(ModelPackage.eNS_URI,ModelPackage.eINSTANCE); - - try { - resource = resourceSet.getResource(SERVICE_DISCOVERY_URI, true); - } catch (WrappedException e) { - resource = resourceSet.createResource(SERVICE_DISCOVERY_URI); - } - } - - /** - * Gets the resource - * - * @return the static reference to the resource model - */ - - public Resource getResource() { - return resource; - } - - /** - * Starts a service discovery job given an implementation of IProtocol and ITransport - * - * @param transport - * the selected transport - * @see ITransport - * @see IProtocol - */ - - public void doServiceDiscovery(String query, IProtocol protocol, ITransport transport) - { - protocol.getDiscoveryJob(query, resource,transport).schedule(); - } - - - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/messages.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/messages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/messages.properties 2007-02-21 18:52:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.engine/src/org/eclipse/tm/internal/discovery/engine/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orus (Symbian) - initial API and implementation -################################################################################## - -ServiceDiscoveryEngine.DiscoveryModelFileURI=discoveryModel.xml diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.classpath 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.cvsignore 2006-09-20 18:56:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.project 2008-03-16 20:19:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.model - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:33:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:21:30.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/META-INF/MANIFEST.MF 2009-05-20 19:31:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.model;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.discovery.model.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)", - org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Export-Package: org.eclipse.tm.discovery.model, - org.eclipse.tm.internal.discovery.model.impl;x-internal:=true, - org.eclipse.tm.internal.discovery.model.util;x-friends:="org.eclipse.tm.discovery.engine,org.eclipse.tm.discovery.model.edit" -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/about.html 2007-05-29 20:30:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/build.properties 2009-05-25 21:21:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - src/,\ - .,\ - plugin.xml -src.includes = ecore/,\ - about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.genmodel eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.genmodel --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.genmodel 2006-09-07 10:55:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.genmodel 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - discoveryModel.xsd - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.xsd eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.xsd --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.xsd 2006-09-07 10:55:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/discoveryModel.xsd 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/model.ecore eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/model.ecore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/ecore/model.ecore 2006-09-07 10:55:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/ecore/model.ecore 1970-01-01 00:00:00.000000000 +0000 @@ -1,101 +0,0 @@ - - - - -
    -
    - - - -
    -
    - - - - -
    -
    - - - - -
    -
    - - - - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - - -
    -
    - - - - -
    -
    - - - - - -
    -
    - - - -
    -
    - - - - -
    -
    - - - - - -
    -
    - - - -
    -
    - - - - -
    -
    - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/plugin.properties 2009-05-25 21:21:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2009 Symbian Software Ltd. and others. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - - -# ==================================================================== -# To code developer: -# Do NOT change the properties between this line and the -# "%%% END OF TRANSLATED PROPERTIES %%%" line. -# Make a new property name, append to the end of the file and change -# the code to use the new property. -# ==================================================================== - -# ==================================================================== -# %%% END OF TRANSLATED PROPERTIES %%% -# ==================================================================== - -pluginName = Target Management Service Discovery Model -providerName = Eclipse.org - DSDP - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/plugin.xml 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Activator.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.discovery"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Device.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Device.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Device.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Device.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Device'. - * - *

    - * The following features are supported: - *

      - *
    • {@link org.eclipse.tm.discovery.model.Device#getServiceType Service Type}
    • - *
    • {@link org.eclipse.tm.discovery.model.Device#getAddress Address}
    • - *
    • {@link org.eclipse.tm.discovery.model.Device#getName Name}
    • - *
    - *

    - * - * @see org.eclipse.tm.discovery.model.ModelPackage#getDevice() - * @model extendedMetaData="name='Device' kind='elementOnly'" - * @generated - */ -public interface Device extends EObject { - /** - * Returns the value of the 'Service Type' containment reference list. - * The list contents are of type {@link org.eclipse.tm.discovery.model.ServiceType}. - * - * @return the value of the 'Service Type' containment reference list. - * @see org.eclipse.tm.discovery.model.ModelPackage#getDevice_ServiceType() - * @model type="org.eclipse.tm.discovery.model.ServiceType" containment="true" required="true" - * extendedMetaData="kind='element' name='ServiceType'" - * @generated - */ - EList getServiceType(); - - /** - * Returns the value of the 'Address' attribute. - * - * @return the value of the 'Address' attribute. - * @see #setAddress(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getDevice_Address() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='address'" - * @generated - */ - String getAddress(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.Device#getAddress Address}' attribute. - * - * @param value the new value of the 'Address' attribute. - * @see #getAddress() - * @generated - */ - void setAddress(String value); - - /** - * Returns the value of the 'Name' attribute. - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getDevice_Name() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='name'" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.Device#getName Name}' attribute. - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // Device \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelFactory.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelFactory.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelFactory.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.ecore.EFactory; - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @see org.eclipse.tm.discovery.model.ModelPackage - * @generated - */ -public interface ModelFactory extends EFactory { - /** - * The singleton instance of the factory. - * - * @generated - */ - ModelFactory eINSTANCE = org.eclipse.tm.internal.discovery.model.impl.ModelFactoryImpl.init(); - - /** - * Returns a new object of class 'Device'. - * - * @return a new object of class 'Device'. - * @generated - */ - Device createDevice(); - - /** - * Returns a new object of class 'Network'. - * - * @return a new object of class 'Network'. - * @generated - */ - Network createNetwork(); - - /** - * Returns a new object of class 'Pair'. - * - * @return a new object of class 'Pair'. - * @generated - */ - Pair createPair(); - - /** - * Returns a new object of class 'Service'. - * - * @return a new object of class 'Service'. - * @generated - */ - Service createService(); - - /** - * Returns a new object of class 'Service Type'. - * - * @return a new object of class 'Service Type'. - * @generated - */ - ServiceType createServiceType(); - - /** - * Returns the package supported by this factory. - * - * @return the package supported by this factory. - * @generated - */ - ModelPackage getModelPackage(); - -} //ModelFactory diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelPackage.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelPackage.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelPackage.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ModelPackage.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,515 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -/** - * The Package for the model. - * It contains accessors for the meta objects to represent - *
      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @see org.eclipse.tm.discovery.model.ModelFactory - * @model kind="package" - * @generated - */ -public interface ModelPackage extends EPackage { - /** - * The package name. - * - * @generated - */ - String eNAME = "model"; //$NON-NLS-1$ - - /** - * The package namespace URI. - * - * @generated - */ - String eNS_URI = "http://www.eclipse.org/tm/discovery/model"; //$NON-NLS-1$ - - /** - * The package namespace name. - * - * @generated - */ - String eNS_PREFIX = "model"; //$NON-NLS-1$ - - /** - * The singleton instance of the package. - * - * @generated - */ - ModelPackage eINSTANCE = org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl.init(); - - /** - * The meta object id for the '{@link org.eclipse.tm.internal.discovery.model.impl.DeviceImpl Device}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.DeviceImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getDevice() - * @generated - */ - int DEVICE = 0; - - /** - * The feature id for the 'Service Type' containment reference list. - * - * @generated - * @ordered - */ - int DEVICE__SERVICE_TYPE = 0; - - /** - * The feature id for the 'Address' attribute. - * - * @generated - * @ordered - */ - int DEVICE__ADDRESS = 1; - - /** - * The feature id for the 'Name' attribute. - * - * @generated - * @ordered - */ - int DEVICE__NAME = 2; - - /** - * The number of structural features of the 'Device' class. - * - * @generated - * @ordered - */ - int DEVICE_FEATURE_COUNT = 3; - - /** - * The meta object id for the '{@link org.eclipse.tm.internal.discovery.model.impl.NetworkImpl Network}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.NetworkImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getNetwork() - * @generated - */ - int NETWORK = 1; - - /** - * The feature id for the 'Device' containment reference list. - * - * @generated - * @ordered - */ - int NETWORK__DEVICE = 0; - - /** - * The number of structural features of the 'Network' class. - * - * @generated - * @ordered - */ - int NETWORK_FEATURE_COUNT = 1; - - /** - * The meta object id for the '{@link org.eclipse.tm.internal.discovery.model.impl.PairImpl Pair}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.PairImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getPair() - * @generated - */ - int PAIR = 2; - - /** - * The feature id for the 'Key' attribute. - * - * @generated - * @ordered - */ - int PAIR__KEY = 0; - - /** - * The feature id for the 'Value' attribute. - * - * @generated - * @ordered - */ - int PAIR__VALUE = 1; - - /** - * The number of structural features of the 'Pair' class. - * - * @generated - * @ordered - */ - int PAIR_FEATURE_COUNT = 2; - - /** - * The meta object id for the '{@link org.eclipse.tm.internal.discovery.model.impl.ServiceImpl Service}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.ServiceImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getService() - * @generated - */ - int SERVICE = 3; - - /** - * The feature id for the 'Pair' containment reference list. - * - * @generated - * @ordered - */ - int SERVICE__PAIR = 0; - - /** - * The feature id for the 'Name' attribute. - * - * @generated - * @ordered - */ - int SERVICE__NAME = 1; - - /** - * The number of structural features of the 'Service' class. - * - * @generated - * @ordered - */ - int SERVICE_FEATURE_COUNT = 2; - - /** - * The meta object id for the '{@link org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl Service Type}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getServiceType() - * @generated - */ - int SERVICE_TYPE = 4; - - /** - * The feature id for the 'Service' containment reference list. - * - * @generated - * @ordered - */ - int SERVICE_TYPE__SERVICE = 0; - - /** - * The feature id for the 'Name' attribute. - * - * @generated - * @ordered - */ - int SERVICE_TYPE__NAME = 1; - - /** - * The number of structural features of the 'Service Type' class. - * - * @generated - * @ordered - */ - int SERVICE_TYPE_FEATURE_COUNT = 2; - - - /** - * Returns the meta object for class '{@link org.eclipse.tm.discovery.model.Device Device}'. - * - * @return the meta object for class 'Device'. - * @see org.eclipse.tm.discovery.model.Device - * @generated - */ - EClass getDevice(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.tm.discovery.model.Device#getServiceType Service Type}'. - * - * @return the meta object for the containment reference list 'Service Type'. - * @see org.eclipse.tm.discovery.model.Device#getServiceType() - * @see #getDevice() - * @generated - */ - EReference getDevice_ServiceType(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.Device#getAddress Address}'. - * - * @return the meta object for the attribute 'Address'. - * @see org.eclipse.tm.discovery.model.Device#getAddress() - * @see #getDevice() - * @generated - */ - EAttribute getDevice_Address(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.Device#getName Name}'. - * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.tm.discovery.model.Device#getName() - * @see #getDevice() - * @generated - */ - EAttribute getDevice_Name(); - - /** - * Returns the meta object for class '{@link org.eclipse.tm.discovery.model.Network Network}'. - * - * @return the meta object for class 'Network'. - * @see org.eclipse.tm.discovery.model.Network - * @generated - */ - EClass getNetwork(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.tm.discovery.model.Network#getDevice Device}'. - * - * @return the meta object for the containment reference list 'Device'. - * @see org.eclipse.tm.discovery.model.Network#getDevice() - * @see #getNetwork() - * @generated - */ - EReference getNetwork_Device(); - - /** - * Returns the meta object for class '{@link org.eclipse.tm.discovery.model.Pair Pair}'. - * - * @return the meta object for class 'Pair'. - * @see org.eclipse.tm.discovery.model.Pair - * @generated - */ - EClass getPair(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.Pair#getKey Key}'. - * - * @return the meta object for the attribute 'Key'. - * @see org.eclipse.tm.discovery.model.Pair#getKey() - * @see #getPair() - * @generated - */ - EAttribute getPair_Key(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.Pair#getValue Value}'. - * - * @return the meta object for the attribute 'Value'. - * @see org.eclipse.tm.discovery.model.Pair#getValue() - * @see #getPair() - * @generated - */ - EAttribute getPair_Value(); - - /** - * Returns the meta object for class '{@link org.eclipse.tm.discovery.model.Service Service}'. - * - * @return the meta object for class 'Service'. - * @see org.eclipse.tm.discovery.model.Service - * @generated - */ - EClass getService(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.tm.discovery.model.Service#getPair Pair}'. - * - * @return the meta object for the containment reference list 'Pair'. - * @see org.eclipse.tm.discovery.model.Service#getPair() - * @see #getService() - * @generated - */ - EReference getService_Pair(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.Service#getName Name}'. - * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.tm.discovery.model.Service#getName() - * @see #getService() - * @generated - */ - EAttribute getService_Name(); - - /** - * Returns the meta object for class '{@link org.eclipse.tm.discovery.model.ServiceType Service Type}'. - * - * @return the meta object for class 'Service Type'. - * @see org.eclipse.tm.discovery.model.ServiceType - * @generated - */ - EClass getServiceType(); - - /** - * Returns the meta object for the containment reference list '{@link org.eclipse.tm.discovery.model.ServiceType#getService Service}'. - * - * @return the meta object for the containment reference list 'Service'. - * @see org.eclipse.tm.discovery.model.ServiceType#getService() - * @see #getServiceType() - * @generated - */ - EReference getServiceType_Service(); - - /** - * Returns the meta object for the attribute '{@link org.eclipse.tm.discovery.model.ServiceType#getName Name}'. - * - * @return the meta object for the attribute 'Name'. - * @see org.eclipse.tm.discovery.model.ServiceType#getName() - * @see #getServiceType() - * @generated - */ - EAttribute getServiceType_Name(); - - /** - * Returns the factory that creates the instances of the model. - * - * @return the factory that creates the instances of the model. - * @generated - */ - ModelFactory getModelFactory(); - - /** - * - * Defines literals for the meta objects that represent - *
      - *
    • each class,
    • - *
    • each feature of each class,
    • - *
    • each enum,
    • - *
    • and each data type
    • - *
    - * - * @generated - */ - - - - - interface Literals { - /** - * The meta object literal for the '{@link org.eclipse.tm.internal.discovery.model.impl.DeviceImpl Device}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.DeviceImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getDevice() - * @generated - */ - - EClass DEVICE = eINSTANCE.getDevice(); - - /** - * The meta object literal for the 'Service Type' containment reference list feature. - * - * @generated - */ - EReference DEVICE__SERVICE_TYPE = eINSTANCE.getDevice_ServiceType(); - - /** - * The meta object literal for the 'Address' attribute feature. - * - * @generated - */ - EAttribute DEVICE__ADDRESS = eINSTANCE.getDevice_Address(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * @generated - */ - EAttribute DEVICE__NAME = eINSTANCE.getDevice_Name(); - - /** - * The meta object literal for the '{@link org.eclipse.tm.internal.discovery.model.impl.NetworkImpl Network}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.NetworkImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getNetwork() - * @generated - */ - EClass NETWORK = eINSTANCE.getNetwork(); - - /** - * The meta object literal for the 'Device' containment reference list feature. - * - * @generated - */ - EReference NETWORK__DEVICE = eINSTANCE.getNetwork_Device(); - - /** - * The meta object literal for the '{@link org.eclipse.tm.internal.discovery.model.impl.PairImpl Pair}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.PairImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getPair() - * @generated - */ - EClass PAIR = eINSTANCE.getPair(); - - /** - * The meta object literal for the 'Key' attribute feature. - * - * @generated - */ - EAttribute PAIR__KEY = eINSTANCE.getPair_Key(); - - /** - * The meta object literal for the 'Value' attribute feature. - * - * @generated - */ - EAttribute PAIR__VALUE = eINSTANCE.getPair_Value(); - - /** - * The meta object literal for the '{@link org.eclipse.tm.internal.discovery.model.impl.ServiceImpl Service}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.ServiceImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getService() - * @generated - */ - EClass SERVICE = eINSTANCE.getService(); - - /** - * The meta object literal for the 'Pair' containment reference list feature. - * - * @generated - */ - EReference SERVICE__PAIR = eINSTANCE.getService_Pair(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * @generated - */ - EAttribute SERVICE__NAME = eINSTANCE.getService_Name(); - - /** - * The meta object literal for the '{@link org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl Service Type}' class. - * - * @see org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl - * @see org.eclipse.tm.internal.discovery.model.impl.ModelPackageImpl#getServiceType() - * @generated - */ - EClass SERVICE_TYPE = eINSTANCE.getServiceType(); - - /** - * The meta object literal for the 'Service' containment reference list feature. - * - * @generated - */ - EReference SERVICE_TYPE__SERVICE = eINSTANCE.getServiceType_Service(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * @generated - */ - EAttribute SERVICE_TYPE__NAME = eINSTANCE.getServiceType_Name(); - - } - -} //ModelPackage diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Network.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Network.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Network.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Network.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,46 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Network'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.eclipse.tm.discovery.model.Network#getDevice Device}
    • - *
    - *

    - * - * @see org.eclipse.tm.discovery.model.ModelPackage#getNetwork() - * @model extendedMetaData="name='Network' kind='elementOnly'" - * @generated - */ -public interface Network extends EObject { - /** - * Returns the value of the 'Device' containment reference list. - * The list contents are of type {@link org.eclipse.tm.discovery.model.Device}. - * - * @return the value of the 'Device' containment reference list. - * @see org.eclipse.tm.discovery.model.ModelPackage#getNetwork_Device() - * @model type="org.eclipse.tm.discovery.model.Device" containment="true" required="true" - * extendedMetaData="kind='element' name='Device'" - * @generated - */ - EList getDevice(); - -} // Network \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Pair.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Pair.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Pair.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Pair.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Pair'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.eclipse.tm.discovery.model.Pair#getKey Key}
    • - *
    • {@link org.eclipse.tm.discovery.model.Pair#getValue Value}
    • - *
    - *

    - * - * @see org.eclipse.tm.discovery.model.ModelPackage#getPair() - * @model extendedMetaData="name='Pair' kind='empty'" - * @generated - */ -public interface Pair extends EObject { - /** - * Returns the value of the 'Key' attribute. - * - * @return the value of the 'Key' attribute. - * @see #setKey(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getPair_Key() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='key'" - * @generated - */ - String getKey(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.Pair#getKey Key}' attribute. - * - * @param value the new value of the 'Key' attribute. - * @see #getKey() - * @generated - */ - void setKey(String value); - - /** - * Returns the value of the 'Value' attribute. - * - * @return the value of the 'Value' attribute. - * @see #setValue(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getPair_Value() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='value'" - * @generated - */ - String getValue(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.Pair#getValue Value}' attribute. - * - * @param value the new value of the 'Value' attribute. - * @see #getValue() - * @generated - */ - void setValue(String value); - -} // Pair \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Service.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Service.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Service.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/Service.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Service'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.eclipse.tm.discovery.model.Service#getPair Pair}
    • - *
    • {@link org.eclipse.tm.discovery.model.Service#getName Name}
    • - *
    - *

    - * - * @see org.eclipse.tm.discovery.model.ModelPackage#getService() - * @model extendedMetaData="name='Service' kind='elementOnly'" - * @generated - */ -public interface Service extends EObject { - /** - * Returns the value of the 'Pair' containment reference list. - * The list contents are of type {@link org.eclipse.tm.discovery.model.Pair}. - * - * @return the value of the 'Pair' containment reference list. - * @see org.eclipse.tm.discovery.model.ModelPackage#getService_Pair() - * @model type="org.eclipse.tm.discovery.model.Pair" containment="true" - * extendedMetaData="kind='element' name='Pair'" - * @generated - */ - EList getPair(); - - /** - * Returns the value of the 'Name' attribute. - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getService_Name() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='name'" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.Service#getName Name}' attribute. - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // Service \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ServiceType.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ServiceType.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ServiceType.java 2007-02-21 18:52:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/discovery/model/ServiceType.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,68 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.discovery.model; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Service Type'. - * - * - *

    - * The following features are supported: - *

      - *
    • {@link org.eclipse.tm.discovery.model.ServiceType#getService Service}
    • - *
    • {@link org.eclipse.tm.discovery.model.ServiceType#getName Name}
    • - *
    - *

    - * - * @see org.eclipse.tm.discovery.model.ModelPackage#getServiceType() - * @model extendedMetaData="name='ServiceType' kind='elementOnly'" - * @generated - */ -public interface ServiceType extends EObject { - /** - * Returns the value of the 'Service' containment reference list. - * The list contents are of type {@link org.eclipse.tm.discovery.model.Service}. - * - * @return the value of the 'Service' containment reference list. - * @see org.eclipse.tm.discovery.model.ModelPackage#getServiceType_Service() - * @model type="org.eclipse.tm.discovery.model.Service" containment="true" required="true" - * extendedMetaData="kind='element' name='Service'" - * @generated - */ - EList getService(); - - /** - * Returns the value of the 'Name' attribute. - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see org.eclipse.tm.discovery.model.ModelPackage#getServiceType_Name() - * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" - * extendedMetaData="kind='attribute' name='name'" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link org.eclipse.tm.discovery.model.ServiceType#getName Name}' attribute. - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // ServiceType \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/DeviceImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/DeviceImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/DeviceImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/DeviceImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,258 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.tm.discovery.model.Device; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.ServiceType; - -/** - * - * An implementation of the model object 'Device'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.DeviceImpl#getServiceType Service Type}
    • - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.DeviceImpl#getAddress Address}
    • - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.DeviceImpl#getName Name}
    • - *
    - *

    - * - * @generated - */ -public class DeviceImpl extends EObjectImpl implements Device { - /** - * The cached value of the '{@link #getServiceType() Service Type}' containment reference list. - * - * @see #getServiceType() - * @generated - * @ordered - */ - protected EList serviceType = null; - - /** - * The default value of the '{@link #getAddress() Address}' attribute. - * - * @see #getAddress() - * @generated - * @ordered - */ - protected static final String ADDRESS_EDEFAULT = null; - - /** - * The cached value of the '{@link #getAddress() Address}' attribute. - * - * @see #getAddress() - * @generated - * @ordered - */ - protected String address = ADDRESS_EDEFAULT; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * @generated - */ - protected DeviceImpl() { - super(); - } - - /** - * - * @generated - */ - protected EClass eStaticClass() { - return ModelPackage.Literals.DEVICE; - } - - /** - * - * @generated - */ - public EList getServiceType() { - if (serviceType == null) { - serviceType = new EObjectContainmentEList(ServiceType.class, this, ModelPackage.DEVICE__SERVICE_TYPE); - } - return serviceType; - } - - /** - * - * @generated - */ - public String getAddress() { - return address; - } - - /** - * - * @generated - */ - public void setAddress(String newAddress) { - String oldAddress = address; - address = newAddress; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.DEVICE__ADDRESS, oldAddress, address)); - } - - /** - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.DEVICE__NAME, oldName, name)); - } - - /** - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case ModelPackage.DEVICE__SERVICE_TYPE: - return ((InternalEList)getServiceType()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case ModelPackage.DEVICE__SERVICE_TYPE: - return getServiceType(); - case ModelPackage.DEVICE__ADDRESS: - return getAddress(); - case ModelPackage.DEVICE__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case ModelPackage.DEVICE__SERVICE_TYPE: - getServiceType().clear(); - getServiceType().addAll((Collection)newValue); - return; - case ModelPackage.DEVICE__ADDRESS: - setAddress((String)newValue); - return; - case ModelPackage.DEVICE__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case ModelPackage.DEVICE__SERVICE_TYPE: - getServiceType().clear(); - return; - case ModelPackage.DEVICE__ADDRESS: - setAddress(ADDRESS_EDEFAULT); - return; - case ModelPackage.DEVICE__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case ModelPackage.DEVICE__SERVICE_TYPE: - return serviceType != null && !serviceType.isEmpty(); - case ModelPackage.DEVICE__ADDRESS: - return ADDRESS_EDEFAULT == null ? address != null : !ADDRESS_EDEFAULT.equals(address); - case ModelPackage.DEVICE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (address: "); //$NON-NLS-1$ - result.append(address); - result.append(", name: "); //$NON-NLS-1$ - result.append(name); - result.append(')'); - return result.toString(); - } - -} //DeviceImpl \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelFactoryImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelFactoryImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelFactoryImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelFactoryImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,137 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -import org.eclipse.tm.discovery.model.*; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class ModelFactoryImpl extends EFactoryImpl implements ModelFactory { - /** - * Creates the default factory implementation. - * @return model factory - * - * @generated - */ - public static ModelFactory init() { - try { - ModelFactory theModelFactory = (ModelFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/tm/discovery/model"); //$NON-NLS-1$ - if (theModelFactory != null) { - return theModelFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new ModelFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * @generated - */ - public ModelFactoryImpl() { - super(); - } - - /** - * - * @generated - */ - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - case ModelPackage.DEVICE: return createDevice(); - case ModelPackage.NETWORK: return createNetwork(); - case ModelPackage.PAIR: return createPair(); - case ModelPackage.SERVICE: return createService(); - case ModelPackage.SERVICE_TYPE: return createServiceType(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$//$NON-NLS-2$ - } - } - - /** - * - * @generated - */ - public Device createDevice() { - DeviceImpl device = new DeviceImpl(); - return device; - } - - /** - * - * @generated - */ - public Network createNetwork() { - NetworkImpl network = new NetworkImpl(); - return network; - } - - /** - * - * @generated - */ - public Pair createPair() { - PairImpl pair = new PairImpl(); - return pair; - } - - /** - * - * @generated - */ - public Service createService() { - ServiceImpl service = new ServiceImpl(); - return service; - } - - /** - * - * @generated - */ - public ServiceType createServiceType() { - ServiceTypeImpl serviceType = new ServiceTypeImpl(); - return serviceType; - } - - /** - * - * @generated - */ - public ModelPackage getModelPackage() { - return (ModelPackage)getEPackage(); - } - - /** - * - * @return model package - * @deprecated - * @generated - */ - public static ModelPackage getPackage() { - return ModelPackage.eINSTANCE; - } - -} //ModelFactoryImpl diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelPackageImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelPackageImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelPackageImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ModelPackageImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,471 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import org.eclipse.emf.ecore.xml.type.XMLTypePackage; - -import org.eclipse.tm.discovery.model.Device; -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Network; -import org.eclipse.tm.discovery.model.Pair; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.model.ServiceType; - -/** - * - * An implementation of the model Package. - * - * @generated - */ -public class ModelPackageImpl extends EPackageImpl implements ModelPackage { - /** - * - * @generated - */ - private EClass deviceEClass = null; - - /** - * - * @generated - */ - private EClass networkEClass = null; - - /** - * - * @generated - */ - private EClass pairEClass = null; - - /** - * - * @generated - */ - private EClass serviceEClass = null; - - /** - * - * @generated - */ - private EClass serviceTypeEClass = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

    Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see org.eclipse.tm.discovery.model.ModelPackage#eNS_URI - * @see #init() - * @generated - */ - private ModelPackageImpl() { - super(eNS_URI, ModelFactory.eINSTANCE); - } - - /** - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this - * model, and for any others upon which it depends. Simple - * dependencies are satisfied by calling this method on all - * dependent packages before doing anything else. This method drives - * initialization for interdependent packages directly, in parallel - * with this package, itself. - *

    Of this package and its interdependencies, all packages which - * have not yet been registered by their URI values are first created - * and registered. The packages are then initialized in two steps: - * meta-model objects for all of the packages are created before any - * are initialized, since one package's meta-model objects may refer to - * those of another. - *

    Invocation of this method will not affect any packages that have - * already been initialized. - * @return the model package - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static ModelPackage init() { - if (isInited) return (ModelPackage)EPackage.Registry.INSTANCE.getEPackage(ModelPackage.eNS_URI); - - // Obtain or create and register package - ModelPackageImpl theModelPackage = (ModelPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof ModelPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new ModelPackageImpl()); - - isInited = true; - - // Initialize simple dependencies - XMLTypePackage.eINSTANCE.eClass(); - - // Create package meta-data objects - theModelPackage.createPackageContents(); - - // Initialize created meta-data - theModelPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theModelPackage.freeze(); - - return theModelPackage; - } - - /** - * - * @generated - */ - public EClass getDevice() { - return deviceEClass; - } - - /** - * - * @generated - */ - public EReference getDevice_ServiceType() { - return (EReference)deviceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * @generated - */ - public EAttribute getDevice_Address() { - return (EAttribute)deviceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * @generated - */ - public EAttribute getDevice_Name() { - return (EAttribute)deviceEClass.getEStructuralFeatures().get(2); - } - - /** - * - * @generated - */ - public EClass getNetwork() { - return networkEClass; - } - - /** - * - * @generated - */ - public EReference getNetwork_Device() { - return (EReference)networkEClass.getEStructuralFeatures().get(0); - } - - /** - * - * @generated - */ - public EClass getPair() { - return pairEClass; - } - - /** - * - * @generated - */ - public EAttribute getPair_Key() { - return (EAttribute)pairEClass.getEStructuralFeatures().get(0); - } - - /** - * - * @generated - */ - public EAttribute getPair_Value() { - return (EAttribute)pairEClass.getEStructuralFeatures().get(1); - } - - /** - * - * @generated - */ - public EClass getService() { - return serviceEClass; - } - - /** - * - * @generated - */ - public EReference getService_Pair() { - return (EReference)serviceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * @generated - */ - public EAttribute getService_Name() { - return (EAttribute)serviceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * @generated - */ - public EClass getServiceType() { - return serviceTypeEClass; - } - - /** - * - * @generated - */ - public EReference getServiceType_Service() { - return (EReference)serviceTypeEClass.getEStructuralFeatures().get(0); - } - - /** - * - * @generated - */ - public EAttribute getServiceType_Name() { - return (EAttribute)serviceTypeEClass.getEStructuralFeatures().get(1); - } - - /** - * - * @generated - */ - public ModelFactory getModelFactory() { - return (ModelFactory)getEFactoryInstance(); - } - - /** - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - deviceEClass = createEClass(DEVICE); - createEReference(deviceEClass, DEVICE__SERVICE_TYPE); - createEAttribute(deviceEClass, DEVICE__ADDRESS); - createEAttribute(deviceEClass, DEVICE__NAME); - - networkEClass = createEClass(NETWORK); - createEReference(networkEClass, NETWORK__DEVICE); - - pairEClass = createEClass(PAIR); - createEAttribute(pairEClass, PAIR__KEY); - createEAttribute(pairEClass, PAIR__VALUE); - - serviceEClass = createEClass(SERVICE); - createEReference(serviceEClass, SERVICE__PAIR); - createEAttribute(serviceEClass, SERVICE__NAME); - - serviceTypeEClass = createEClass(SERVICE_TYPE); - createEReference(serviceTypeEClass, SERVICE_TYPE__SERVICE); - createEAttribute(serviceTypeEClass, SERVICE_TYPE__NAME); - } - - /** - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Obtain other dependent packages - XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI); - - // Add supertypes to classes - - // Initialize classes and features; add operations and parameters - initEClass(deviceEClass, Device.class, "Device", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getDevice_ServiceType(), this.getServiceType(), null, "serviceType", null, 1, -1, Device.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - initEAttribute(getDevice_Address(), theXMLTypePackage.getString(), "address", null, 0, 1, Device.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - initEAttribute(getDevice_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Device.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - - initEClass(networkEClass, Network.class, "Network", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getNetwork_Device(), this.getDevice(), null, "device", null, 1, -1, Network.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - - initEClass(pairEClass, Pair.class, "Pair", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEAttribute(getPair_Key(), theXMLTypePackage.getString(), "key", null, 0, 1, Pair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - initEAttribute(getPair_Value(), theXMLTypePackage.getString(), "value", null, 0, 1, Pair.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - - initEClass(serviceEClass, Service.class, "Service", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getService_Pair(), this.getPair(), null, "pair", null, 0, -1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - initEAttribute(getService_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, Service.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - - initEClass(serviceTypeEClass, ServiceType.class, "ServiceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ - initEReference(getServiceType_Service(), this.getService(), null, "service", null, 1, -1, ServiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - initEAttribute(getServiceType_Name(), theXMLTypePackage.getString(), "name", null, 0, 1, ServiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ - - // Create resource - createResource(eNS_URI); - - // Create annotations - // http:///org/eclipse/emf/ecore/util/ExtendedMetaData - createExtendedMetaDataAnnotations(); - } - - /** - * Initializes the annotations for http:///org/eclipse/emf/ecore/util/ExtendedMetaData. - * - * @generated - */ - protected void createExtendedMetaDataAnnotations() { - String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData"; //$NON-NLS-1$ - addAnnotation - (deviceEClass, - source, - new String[] { - "name", "Device", //$NON-NLS-1$ //$NON-NLS-2$ - "kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getDevice_ServiceType(), - source, - new String[] { - "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "ServiceType" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getDevice_Address(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "address" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getDevice_Name(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "name" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (networkEClass, - source, - new String[] { - "name", "Network", //$NON-NLS-1$ //$NON-NLS-2$ - "kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getNetwork_Device(), - source, - new String[] { - "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "Device" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (pairEClass, - source, - new String[] { - "name", "Pair", //$NON-NLS-1$ //$NON-NLS-2$ - "kind", "empty" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getPair_Key(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "key" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getPair_Value(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "value" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (serviceEClass, - source, - new String[] { - "name", "Service", //$NON-NLS-1$ //$NON-NLS-2$ - "kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getService_Pair(), - source, - new String[] { - "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "Pair" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getService_Name(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "name" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (serviceTypeEClass, - source, - new String[] { - "name", "ServiceType", //$NON-NLS-1$ //$NON-NLS-2$ - "kind", "elementOnly" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getServiceType_Service(), - source, - new String[] { - "kind", "element", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "Service" //$NON-NLS-1$ //$NON-NLS-2$ - }); - addAnnotation - (getServiceType_Name(), - source, - new String[] { - "kind", "attribute", //$NON-NLS-1$ //$NON-NLS-2$ - "name", "name" //$NON-NLS-1$ //$NON-NLS-2$ - }); - } - -} //ModelPackageImpl diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/NetworkImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/NetworkImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/NetworkImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/NetworkImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,144 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.tm.discovery.model.Device; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Network; - -/** - * - * An implementation of the model object 'Network'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.NetworkImpl#getDevice Device}
    • - *
    - *

    - * - * @generated - */ -public class NetworkImpl extends EObjectImpl implements Network { - /** - * The cached value of the '{@link #getDevice() Device}' containment reference list. - * - * @see #getDevice() - * @generated - * @ordered - */ - protected EList device = null; - - /** - * - * @generated - */ - protected NetworkImpl() { - super(); - } - - /** - * - * @generated - */ - protected EClass eStaticClass() { - return ModelPackage.Literals.NETWORK; - } - - /** - * - * @generated - */ - public EList getDevice() { - if (device == null) { - device = new EObjectContainmentEList(Device.class, this, ModelPackage.NETWORK__DEVICE); - } - return device; - } - - /** - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case ModelPackage.NETWORK__DEVICE: - return ((InternalEList)getDevice()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case ModelPackage.NETWORK__DEVICE: - return getDevice(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case ModelPackage.NETWORK__DEVICE: - getDevice().clear(); - getDevice().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case ModelPackage.NETWORK__DEVICE: - getDevice().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case ModelPackage.NETWORK__DEVICE: - return device != null && !device.isEmpty(); - } - return super.eIsSet(featureID); - } - -} //NetworkImpl \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/PairImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/PairImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/PairImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/PairImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,204 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Pair; - -/** - * - * An implementation of the model object 'Pair'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.PairImpl#getKey Key}
    • - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.PairImpl#getValue Value}
    • - *
    - *

    - * - * @generated - */ -public class PairImpl extends EObjectImpl implements Pair { - /** - * The default value of the '{@link #getKey() Key}' attribute. - * - * @see #getKey() - * @generated - * @ordered - */ - protected static final String KEY_EDEFAULT = null; - - /** - * The cached value of the '{@link #getKey() Key}' attribute. - * - * @see #getKey() - * @generated - * @ordered - */ - protected String key = KEY_EDEFAULT; - - /** - * The default value of the '{@link #getValue() Value}' attribute. - * - * @see #getValue() - * @generated - * @ordered - */ - protected static final String VALUE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getValue() Value}' attribute. - * - * @see #getValue() - * @generated - * @ordered - */ - protected String value = VALUE_EDEFAULT; - - /** - * - * @generated - */ - protected PairImpl() { - super(); - } - - /** - * - * @generated - */ - protected EClass eStaticClass() { - return ModelPackage.Literals.PAIR; - } - - /** - * - * @generated - */ - public String getKey() { - return key; - } - - /** - * - * @generated - */ - public void setKey(String newKey) { - String oldKey = key; - key = newKey; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.PAIR__KEY, oldKey, key)); - } - - /** - * - * @generated - */ - public String getValue() { - return value; - } - - /** - * - * @generated - */ - public void setValue(String newValue) { - String oldValue = value; - value = newValue; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.PAIR__VALUE, oldValue, value)); - } - - /** - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case ModelPackage.PAIR__KEY: - return getKey(); - case ModelPackage.PAIR__VALUE: - return getValue(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case ModelPackage.PAIR__KEY: - setKey((String)newValue); - return; - case ModelPackage.PAIR__VALUE: - setValue((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case ModelPackage.PAIR__KEY: - setKey(KEY_EDEFAULT); - return; - case ModelPackage.PAIR__VALUE: - setValue(VALUE_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case ModelPackage.PAIR__KEY: - return KEY_EDEFAULT == null ? key != null : !KEY_EDEFAULT.equals(key); - case ModelPackage.PAIR__VALUE: - return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value); - } - return super.eIsSet(featureID); - } - - /** - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (key: "); //$NON-NLS-1$ - result.append(key); - result.append(", value: "); //$NON-NLS-1$ - result.append(value); - result.append(')'); - return result.toString(); - } - -} //PairImpl \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,208 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Pair; -import org.eclipse.tm.discovery.model.Service; - -/** - * - * An implementation of the model object 'Service'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.ServiceImpl#getPair Pair}
    • - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.ServiceImpl#getName Name}
    • - *
    - *

    - * - * @generated - */ -public class ServiceImpl extends EObjectImpl implements Service { - /** - * The cached value of the '{@link #getPair() Pair}' containment reference list. - * - * @see #getPair() - * @generated - * @ordered - */ - protected EList pair = null; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * @generated - */ - protected ServiceImpl() { - super(); - } - - /** - * - * @generated - */ - protected EClass eStaticClass() { - return ModelPackage.Literals.SERVICE; - } - - /** - * - * @generated - */ - public EList getPair() { - if (pair == null) { - pair = new EObjectContainmentEList(Pair.class, this, ModelPackage.SERVICE__PAIR); - } - return pair; - } - - /** - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.SERVICE__NAME, oldName, name)); - } - - /** - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case ModelPackage.SERVICE__PAIR: - return ((InternalEList)getPair()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case ModelPackage.SERVICE__PAIR: - return getPair(); - case ModelPackage.SERVICE__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case ModelPackage.SERVICE__PAIR: - getPair().clear(); - getPair().addAll((Collection)newValue); - return; - case ModelPackage.SERVICE__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case ModelPackage.SERVICE__PAIR: - getPair().clear(); - return; - case ModelPackage.SERVICE__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case ModelPackage.SERVICE__PAIR: - return pair != null && !pair.isEmpty(); - case ModelPackage.SERVICE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); //$NON-NLS-1$ - result.append(name); - result.append(')'); - return result.toString(); - } - -} //ServiceImpl \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceTypeImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceTypeImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceTypeImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/impl/ServiceTypeImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,208 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.EObjectImpl; - -import org.eclipse.emf.ecore.util.EObjectContainmentEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.model.ServiceType; - -/** - * - * An implementation of the model object 'Service Type'. - * - *

    - * The following features are implemented: - *

      - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl#getService Service}
    • - *
    • {@link org.eclipse.tm.internal.discovery.model.impl.ServiceTypeImpl#getName Name}
    • - *
    - *

    - * - * @generated - */ -public class ServiceTypeImpl extends EObjectImpl implements ServiceType { - /** - * The cached value of the '{@link #getService() Service}' containment reference list. - * - * @see #getService() - * @generated - * @ordered - */ - protected EList service = null; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * @generated - */ - protected ServiceTypeImpl() { - super(); - } - - /** - * - * @generated - */ - protected EClass eStaticClass() { - return ModelPackage.Literals.SERVICE_TYPE; - } - - /** - * - * @generated - */ - public EList getService() { - if (service == null) { - service = new EObjectContainmentEList(Service.class, this, ModelPackage.SERVICE_TYPE__SERVICE); - } - return service; - } - - /** - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ModelPackage.SERVICE_TYPE__NAME, oldName, name)); - } - - /** - * - * @generated - */ - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case ModelPackage.SERVICE_TYPE__SERVICE: - return ((InternalEList)getService()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * @generated - */ - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case ModelPackage.SERVICE_TYPE__SERVICE: - return getService(); - case ModelPackage.SERVICE_TYPE__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * @generated - */ - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case ModelPackage.SERVICE_TYPE__SERVICE: - getService().clear(); - getService().addAll((Collection)newValue); - return; - case ModelPackage.SERVICE_TYPE__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * @generated - */ - public void eUnset(int featureID) { - switch (featureID) { - case ModelPackage.SERVICE_TYPE__SERVICE: - getService().clear(); - return; - case ModelPackage.SERVICE_TYPE__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * @generated - */ - public boolean eIsSet(int featureID) { - switch (featureID) { - case ModelPackage.SERVICE_TYPE__SERVICE: - return service != null && !service.isEmpty(); - case ModelPackage.SERVICE_TYPE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * @generated - */ - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuffer result = new StringBuffer(super.toString()); - result.append(" (name: "); //$NON-NLS-1$ - result.append(name); - result.append(')'); - return result.toString(); - } - -} //ServiceTypeImpl \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelAdapterFactory.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelAdapterFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelAdapterFactory.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelAdapterFactory.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,188 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.util; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notifier; - -import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; - -import org.eclipse.emf.ecore.EObject; - -import org.eclipse.tm.discovery.model.*; - -/** - * - * The Adapter Factory for the model. - * It provides an adapter createXXX method for each class of the model. - * - * @see org.eclipse.tm.discovery.model.ModelPackage - * @generated - */ -public class ModelAdapterFactory extends AdapterFactoryImpl { - /** - * The cached model package. - * - * @generated - */ - protected static ModelPackage modelPackage; - - /** - * Creates an instance of the adapter factory. - * - * @generated - */ - public ModelAdapterFactory() { - if (modelPackage == null) { - modelPackage = ModelPackage.eINSTANCE; - } - } - - /** - * Returns whether this factory is applicable for the type of the object. - * - * This implementation returns true if the object is either the model's package or is an instance object of the model. - * - * @return whether this factory is applicable for the type of the object. - * @generated - */ - public boolean isFactoryForType(Object object) { - if (object == modelPackage) { - return true; - } - if (object instanceof EObject) { - return ((EObject)object).eClass().getEPackage() == modelPackage; - } - return false; - } - - /** - * The switch the delegates to the createXXX methods. - * - * @generated - */ - protected ModelSwitch modelSwitch = - new ModelSwitch() { - public Object caseDevice(Device object) { - return createDeviceAdapter(); - } - public Object caseNetwork(Network object) { - return createNetworkAdapter(); - } - public Object casePair(Pair object) { - return createPairAdapter(); - } - public Object caseService(Service object) { - return createServiceAdapter(); - } - public Object caseServiceType(ServiceType object) { - return createServiceTypeAdapter(); - } - public Object defaultCase(EObject object) { - return createEObjectAdapter(); - } - }; - - /** - * Creates an adapter for the target. - * - * @param target the object to adapt. - * @return the adapter for the target. - * @generated - */ - public Adapter createAdapter(Notifier target) { - return (Adapter)modelSwitch.doSwitch((EObject)target); - } - - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.tm.discovery.model.Device Device}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.tm.discovery.model.Device - * @generated - */ - public Adapter createDeviceAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.tm.discovery.model.Network Network}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.tm.discovery.model.Network - * @generated - */ - public Adapter createNetworkAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.tm.discovery.model.Pair Pair}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.tm.discovery.model.Pair - * @generated - */ - public Adapter createPairAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.tm.discovery.model.Service Service}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.tm.discovery.model.Service - * @generated - */ - public Adapter createServiceAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link org.eclipse.tm.discovery.model.ServiceType Service Type}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see org.eclipse.tm.discovery.model.ServiceType - * @generated - */ - public Adapter createServiceTypeAdapter() { - return null; - } - - /** - * Creates a new adapter for the default case. - * - * This default implementation returns null. - * - * @return the new adapter. - * @generated - */ - public Adapter createEObjectAdapter() { - return null; - } - -} //ModelAdapterFactory diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceFactoryImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceFactoryImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceFactoryImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceFactoryImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.util; - -import org.eclipse.emf.common.util.URI; - -import org.eclipse.emf.ecore.resource.Resource; - -import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl; - -import org.eclipse.emf.ecore.xmi.XMLResource; - -/** - * - * The Resource Factory associated with the package. - * - * @see org.eclipse.tm.internal.discovery.model.util.ModelResourceImpl - * @generated - */ -public class ModelResourceFactoryImpl extends ResourceFactoryImpl { - /** - * Creates an instance of the resource factory. - * - * @generated - */ - public ModelResourceFactoryImpl() { - super(); - } - - /** - * Creates an instance of the resource. - * - * @generated - */ - public Resource createResource(URI uri) { - XMLResource result = new ModelResourceImpl(uri); - result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); - result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE); - - result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE); - - result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); - result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE); - - result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE); - return result; - } - -} //ModelResourceFactoryImpl diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceImpl.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceImpl.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceImpl.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelResourceImpl.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.util; - -import org.eclipse.emf.common.util.URI; - -import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl; - -/** - * - * The Resource associated with the package. - * - * @see org.eclipse.tm.internal.discovery.model.util.ModelResourceFactoryImpl - * @generated - */ -public class ModelResourceImpl extends XMLResourceImpl { - /** - * Creates an instance of the resource. - * - * @param uri the URI of the new resource. - * @generated - */ - public ModelResourceImpl(URI uri) { - super(uri); - } - -} //ModelResourceImpl diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelSwitch.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelSwitch.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelSwitch.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelSwitch.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,214 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.util; - -import java.util.List; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; - -import org.eclipse.tm.discovery.model.*; - -/** - * - * The Switch for the model's inheritance hierarchy. - * It supports the call {@link #doSwitch(EObject) doSwitch(object)} - * to invoke the caseXXX method for each class of the model, - * starting with the actual class of the object - * and proceeding up the inheritance hierarchy - * until a non-null result is returned, - * which is the result of the switch. - * - * @see org.eclipse.tm.discovery.model.ModelPackage - * @generated - */ -public class ModelSwitch { - /** - * The cached model package - * - * @generated - */ - protected static ModelPackage modelPackage; - - /** - * Creates an instance of the switch. - * - * @generated - */ - public ModelSwitch() { - if (modelPackage == null) { - modelPackage = ModelPackage.eINSTANCE; - } - } - - /** - * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. - * @param theEObject - * - * @return the first non-null result returned by a caseXXX call. - * @generated - */ - public Object doSwitch(EObject theEObject) { - return doSwitch(theEObject.eClass(), theEObject); - } - - /** - * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. - * - * @return the first non-null result returned by a caseXXX call. - * @generated - */ - protected Object doSwitch(EClass theEClass, EObject theEObject) { - if (theEClass.eContainer() == modelPackage) { - return doSwitch(theEClass.getClassifierID(), theEObject); - } - else { - List eSuperTypes = theEClass.getESuperTypes(); - return - eSuperTypes.isEmpty() ? - defaultCase(theEObject) : - doSwitch((EClass)eSuperTypes.get(0), theEObject); - } - } - - /** - * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. - * - * @return the first non-null result returned by a caseXXX call. - * @generated - */ - protected Object doSwitch(int classifierID, EObject theEObject) { - switch (classifierID) { - case ModelPackage.DEVICE: { - Device device = (Device)theEObject; - Object result = caseDevice(device); - if (result == null) result = defaultCase(theEObject); - return result; - } - case ModelPackage.NETWORK: { - Network network = (Network)theEObject; - Object result = caseNetwork(network); - if (result == null) result = defaultCase(theEObject); - return result; - } - case ModelPackage.PAIR: { - Pair pair = (Pair)theEObject; - Object result = casePair(pair); - if (result == null) result = defaultCase(theEObject); - return result; - } - case ModelPackage.SERVICE: { - Service service = (Service)theEObject; - Object result = caseService(service); - if (result == null) result = defaultCase(theEObject); - return result; - } - case ModelPackage.SERVICE_TYPE: { - ServiceType serviceType = (ServiceType)theEObject; - Object result = caseServiceType(serviceType); - if (result == null) result = defaultCase(theEObject); - return result; - } - default: return defaultCase(theEObject); - } - } - - /** - * Returns the result of interpretting the object as an instance of 'Device'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'Device'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public Object caseDevice(Device object) { - return null; - } - - /** - * Returns the result of interpretting the object as an instance of 'Network'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'Network'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public Object caseNetwork(Network object) { - return null; - } - - /** - * Returns the result of interpretting the object as an instance of 'Pair'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'Pair'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public Object casePair(Pair object) { - return null; - } - - /** - * Returns the result of interpretting the object as an instance of 'Service'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'Service'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public Object caseService(Service object) { - return null; - } - - /** - * Returns the result of interpretting the object as an instance of 'Service Type'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'Service Type'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public Object caseServiceType(ServiceType object) { - return null; - } - - /** - * Returns the result of interpretting the object as an instance of 'EObject'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch, but this is the last case anyway. - * - * @param object the target of the switch. - * @return the result of interpretting the object as an instance of 'EObject'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) - * @generated - */ - public Object defaultCase(EObject object) { - return null; - } - -} //ModelSwitch diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelXMLProcessor.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelXMLProcessor.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelXMLProcessor.java 2007-02-21 18:52:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model/src/org/eclipse/tm/internal/discovery/model/util/ModelXMLProcessor.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.util; - -import java.util.Map; - -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.xmi.util.XMLProcessor; - -import org.eclipse.tm.discovery.model.ModelPackage; - -/** - * This class contains helper methods to serialize and deserialize XML documents - * - * @generated - */ -public class ModelXMLProcessor extends XMLProcessor { - /** - * Public constructor to instantiate the helper. - * - * @generated - */ - public ModelXMLProcessor() { - super((EPackage.Registry.INSTANCE)); - ModelPackage.eINSTANCE.eClass(); - } - - /** - * Register for "*" and "xml" file extensions the ModelResourceFactoryImpl factory. - * - * @generated - */ - protected Map getRegistrations() { - if (registrations == null) { - super.getRegistrations(); - registrations.put(XML_EXTENSION, new ModelResourceFactoryImpl()); - registrations.put(STAR_EXTENSION, new ModelResourceFactoryImpl()); - } - return registrations; - } - -} //ModelXMLProcessor diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.classpath 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.cvsignore 2006-09-20 13:16:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.project 2008-03-16 20:19:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.model.edit - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:32:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:23:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/META-INF/MANIFEST.MF 2009-05-20 19:32:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.model.edit;singleton:=true -Bundle-Version: 3.0.100.qualifier -Bundle-ClassPath: . -Bundle-Activator: org.eclipse.tm.internal.discovery.model.provider.DiscoveryModelEditPlugin$Implementation -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.tm.internal.discovery.model.provider;x-friends:="org.eclipse.tm.discovery.view,org.eclipse.tm.discovery.wizard" -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.emf.edit;bundle-version="[2.2.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/about.html 2007-05-29 20:28:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/build.properties 2006-10-06 09:56:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -################################################################################## -# Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -bin.includes = META-INF/,\ - about.html,\ - plugin.xml,\ - plugin.properties,\ - icons/,\ - . -jars.compile.order = . -source.. = src/ -output.. = bin/ -src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/Pair.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/Pair.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/device.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/device.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/network.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/network.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/service.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/service.gif differ Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/serviceType.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/icons/full/obj16/serviceType.gif differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/plugin.properties 2009-05-25 21:22:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2009 Symbian Software Ltd. and others. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - - -# ==================================================================== -# To code developer: -# Do NOT change the properties between this line and the -# "%%% END OF TRANSLATED PROPERTIES %%%" line. -# Make a new property name, append to the end of the file and change -# the code to use the new property. -# ==================================================================== - -# ==================================================================== -# %%% END OF TRANSLATED PROPERTIES %%% -# ==================================================================== - -pluginName = Target Management Service Discovery Edit Support -providerName = Eclipse.org - DSDP - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/plugin.xml 2007-04-04 14:11:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DeviceItemProvider.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DeviceItemProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DeviceItemProvider.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DeviceItemProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,218 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.ResourceLocator; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Device; - -/** - * This is the item provider adapter for a {@link org.eclipse.tm.discovery.model.Device} object. - * - * @generated - */ -public class DeviceItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource { - /** - * This constructs an instance from a factory and a notifier. - * @param adapterFactory - * - * @generated - */ - public DeviceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * @generated - */ - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addAddressPropertyDescriptor(object); - addNamePropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Address feature. - * - * @generated - */ - protected void addAddressPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Device_address_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_Device_address_feature", "_UI_Device_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.DEVICE__ADDRESS, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Name feature. - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Device_name_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_Device_name_feature", "_UI_Device_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.DEVICE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * @generated - */ - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(ModelPackage.Literals.DEVICE__SERVICE_TYPE); - } - return childrenFeatures; - } - - /** - * This returns Device.gif. - * - * @generated NOT - */ - public Object getImage(Object object) { - return getResourceLocator().getImage("full/obj16/device"); //$NON-NLS-1$ - //return null; - } - - /** - * This returns the label text for the adapted class. - * - * @generated NOT - */ - public String getText(Object object) { - String name = ((Device)object).getName(); - String address = ((Device)object).getAddress(); - - StringBuffer result = new StringBuffer(); - - if(address != null) - result.append(address); - - if(name != null) - result.append(" ("+name+")"); //$NON-NLS-1$ //$NON-NLS-2$ - - return result.toString(); - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * @generated - */ - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(Device.class)) { - case ModelPackage.DEVICE__ADDRESS: - case ModelPackage.DEVICE__NAME: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - case ModelPackage.DEVICE__SERVICE_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s - * describing all of the children that can be created under this object. - * - * @generated - */ - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (ModelPackage.Literals.DEVICE__SERVICE_TYPE, - ModelFactory.eINSTANCE.createServiceType())); - } - - /** - * Return the resource locator for this item provider's resources. - * - * @generated - */ - public ResourceLocator getResourceLocator() { - return DiscoveryModelEditPlugin.INSTANCE; - } - - /** - * @generated not - * - */ - - public Collection getChildren(Object object) { - Collection collect = super.getChildren(object); - - return collect; - - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DiscoveryModelEditPlugin.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DiscoveryModelEditPlugin.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DiscoveryModelEditPlugin.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/DiscoveryModelEditPlugin.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,88 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - -import org.eclipse.emf.common.EMFPlugin; - -import org.eclipse.emf.common.util.ResourceLocator; - -/** - * This is the central singleton for the DiscoveryModel edit plugin. - * - * @generated - */ -public final class DiscoveryModelEditPlugin extends EMFPlugin { - /** - * Keep track of the singleton. - * - * @generated - */ - public static final DiscoveryModelEditPlugin INSTANCE = new DiscoveryModelEditPlugin(); - - /** - * Keep track of the singleton. - * - * @generated - */ - private static Implementation plugin; - - /** - * Create the instance. - * - * @generated - */ - public DiscoveryModelEditPlugin() { - super - (new ResourceLocator [] { - }); - } - - /** - * Returns the singleton instance of the Eclipse plugin. - * - * @return the singleton instance. - * @generated - */ - public ResourceLocator getPluginResourceLocator() { - return plugin; - } - - /** - * Returns the singleton instance of the Eclipse plugin. - * - * @return the singleton instance. - * @generated - */ - public static Implementation getPlugin() { - return plugin; - } - - /** - * The actual implementation of the Eclipse Plugin. - * - * @generated - */ - public static class Implementation extends EclipsePlugin { - /** - * Creates an instance. - * - * @generated - */ - public Implementation() { - super(); - - // Remember the static instance. - // - plugin = this; - } - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ModelItemProviderAdapterFactory.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ModelItemProviderAdapterFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ModelItemProviderAdapterFactory.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ModelItemProviderAdapterFactory.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,271 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - -import java.util.ArrayList; -import java.util.Collection; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.Notifier; -import org.eclipse.emf.edit.provider.ChangeNotifier; -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.ComposedAdapterFactory; -import org.eclipse.emf.edit.provider.IChangeNotifier; -import org.eclipse.emf.edit.provider.IDisposable; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.INotifyChangedListener; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITableItemLabelProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.tm.internal.discovery.model.util.ModelAdapterFactory; - -/** - * This is the factory that is used to provide the interfaces needed to support Viewers. - * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. - * The adapters also support Eclipse property sheets. - * Note that most of the adapters are shared among multiple instances. - * - * @generated - */ -public class ModelItemProviderAdapterFactory extends ModelAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { - /** - * This keeps track of the root adapter factory that delegates to this adapter factory. - * - * @generated - */ - protected ComposedAdapterFactory parentAdapterFactory; - - /** - * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. - * - * @generated - */ - protected IChangeNotifier changeNotifier = new ChangeNotifier(); - - /** - * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. - * - * @generated - */ - protected Collection supportedTypes = new ArrayList(); - - /** - * This constructs an instance. - * - * @generated not - */ - public ModelItemProviderAdapterFactory() { - supportedTypes.add(IEditingDomainItemProvider.class); - supportedTypes.add(IStructuredItemContentProvider.class); - supportedTypes.add(ITreeItemContentProvider.class); - supportedTypes.add(IItemLabelProvider.class); - supportedTypes.add(IItemPropertySource.class); - supportedTypes.add(ITableItemLabelProvider.class); - } - - /** - * This keeps track of the one adapter used for all {@link org.eclipse.tm.discovery.model.Device} instances. - * - * @generated - */ - protected DeviceItemProvider deviceItemProvider; - - /** - * This creates an adapter for a {@link org.eclipse.tm.discovery.model.Device}. - * - * @generated - */ - public Adapter createDeviceAdapter() { - if (deviceItemProvider == null) { - deviceItemProvider = new DeviceItemProvider(this); - } - - return deviceItemProvider; - } - - /** - * This keeps track of the one adapter used for all {@link org.eclipse.tm.discovery.model.Network} instances. - * - * @generated - */ - protected NetworkItemProvider networkItemProvider; - - /** - * This creates an adapter for a {@link org.eclipse.tm.discovery.model.Network}. - * - * @generated - */ - public Adapter createNetworkAdapter() { - if (networkItemProvider == null) { - networkItemProvider = new NetworkItemProvider(this); - } - - return networkItemProvider; - } - - /** - * This keeps track of the one adapter used for all {@link org.eclipse.tm.discovery.model.Pair} instances. - * - * @generated - */ - protected PairItemProvider pairItemProvider; - - /** - * This creates an adapter for a {@link org.eclipse.tm.discovery.model.Pair}. - * - * @generated - */ - public Adapter createPairAdapter() { - if (pairItemProvider == null) { - pairItemProvider = new PairItemProvider(this); - } - - return pairItemProvider; - } - - /** - * This keeps track of the one adapter used for all {@link org.eclipse.tm.discovery.model.Service} instances. - * - * @generated - */ - protected ServiceItemProvider serviceItemProvider; - - /** - * This creates an adapter for a {@link org.eclipse.tm.discovery.model.Service}. - * - * @generated - */ - public Adapter createServiceAdapter() { - if (serviceItemProvider == null) { - serviceItemProvider = new ServiceItemProvider(this); - } - - return serviceItemProvider; - } - - /** - * This keeps track of the one adapter used for all {@link org.eclipse.tm.discovery.model.ServiceType} instances. - * - * @generated - */ - protected ServiceTypeItemProvider serviceTypeItemProvider; - - /** - * This creates an adapter for a {@link org.eclipse.tm.discovery.model.ServiceType}. - * - * @generated - */ - public Adapter createServiceTypeAdapter() { - if (serviceTypeItemProvider == null) { - serviceTypeItemProvider = new ServiceTypeItemProvider(this); - } - - return serviceTypeItemProvider; - } - - /** - * This returns the root adapter factory that contains this factory. - * - * @generated - */ - public ComposeableAdapterFactory getRootAdapterFactory() { - return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); - } - - /** - * This sets the composed adapter factory that contains this factory. - * - * @generated - */ - public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { - this.parentAdapterFactory = parentAdapterFactory; - } - - /** - * - * @generated - */ - public boolean isFactoryForType(Object type) { - return supportedTypes.contains(type) || super.isFactoryForType(type); - } - - /** - * This implementation substitutes the factory itself as the key for the adapter. - * - * @generated - */ - public Adapter adapt(Notifier notifier, Object type) { - return super.adapt(notifier, this); - } - - /** - * - * @generated - */ - public Object adapt(Object object, Object type) { - if (isFactoryForType(type)) { - Object adapter = super.adapt(object, type); - if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) { - return adapter; - } - } - - return null; - } - - /** - * This adds a listener. - * - * @generated - */ - public void addListener(INotifyChangedListener notifyChangedListener) { - changeNotifier.addListener(notifyChangedListener); - } - - /** - * This removes a listener. - * - * @generated - */ - public void removeListener(INotifyChangedListener notifyChangedListener) { - changeNotifier.removeListener(notifyChangedListener); - } - - /** - * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. - * - * @generated - */ - public void fireNotifyChanged(Notification notification) { - changeNotifier.fireNotifyChanged(notification); - - if (parentAdapterFactory != null) { - parentAdapterFactory.fireNotifyChanged(notification); - } - } - - /** - * This disposes all of the item providers created by this factory. - * - * @generated - */ - public void dispose() { - if (deviceItemProvider != null) deviceItemProvider.dispose(); - if (networkItemProvider != null) networkItemProvider.dispose(); - if (pairItemProvider != null) pairItemProvider.dispose(); - if (serviceItemProvider != null) serviceItemProvider.dispose(); - if (serviceTypeItemProvider != null) serviceTypeItemProvider.dispose(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/NetworkItemProvider.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/NetworkItemProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/NetworkItemProvider.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/NetworkItemProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,144 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.ResourceLocator; - -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Network; - -/** - * This is the item provider adapter for a {@link org.eclipse.tm.discovery.model.Network} object. - * - * @generated - */ -public class NetworkItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource { - /** - * This constructs an instance from a factory and a notifier. - * @param adapterFactory - * - * @generated - */ - public NetworkItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * @generated - */ - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - } - return itemPropertyDescriptors; - } - - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * @generated - */ - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(ModelPackage.Literals.NETWORK__DEVICE); - } - return childrenFeatures; - } - - /** - * This returns Network.gif. - * - * @generated NOT - */ - public Object getImage(Object object) { - return getResourceLocator().getImage("full/obj16/network"); //$NON-NLS-1$ - } - - /** - * This returns the label text for the adapted class. - * - * @generated NOT - */ - public String getText(Object object) { - return "Network"; //$NON-NLS-1$ - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * @generated - */ - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(Network.class)) { - case ModelPackage.NETWORK__DEVICE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s - * describing all of the children that can be created under this object. - * - * @generated - */ - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (ModelPackage.Literals.NETWORK__DEVICE, - ModelFactory.eINSTANCE.createDevice())); - } - - /** - * Return the resource locator for this item provider's resources. - * - * @generated - */ - public ResourceLocator getResourceLocator() { - return DiscoveryModelEditPlugin.INSTANCE; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/PairItemProvider.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/PairItemProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/PairItemProvider.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/PairItemProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,198 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.util.ResourceLocator; -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITableItemLabelProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Pair; - -/** - * This is the item provider adapter for a {@link org.eclipse.tm.discovery.model.Pair} object. - * - * @generated not - */ -public class PairItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource, - ITableItemLabelProvider - { - /** - * This constructs an instance from a factory and a notifier. - * @param adapterFactory - * - * @generated - */ - public PairItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * @generated - */ - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addKeyPropertyDescriptor(object); - addValuePropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Key feature. - * - * @generated - */ - protected void addKeyPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Pair_key_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_Pair_key_feature", "_UI_Pair_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.PAIR__KEY, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Value feature. - * - * @generated - */ - protected void addValuePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Pair_value_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_Pair_value_feature", "_UI_Pair_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.PAIR__VALUE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This returns Pair.gif. - * - * @generated NOT - */ - public Object getImage(Object object) { - return null; - } - - /** - * This returns the label text for the adapted class. - * - * @generated NOT - */ - public String getText(Object object) { - return null; - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * @generated - */ - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(Pair.class)) { - case ModelPackage.PAIR__KEY: - case ModelPackage.PAIR__VALUE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s - * describing all of the children that can be created under this object. - * - * @generated - */ - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - - /** - * Return the resource locator for this item provider's resources. - * - * @generated - */ - public ResourceLocator getResourceLocator() { - return DiscoveryModelEditPlugin.INSTANCE; - } - - /** - * @generated NOT - */ - - public Object getColumnImage(Object object, int columnIndex) { - return null; - } - - /** - * @generated NOT - */ - - - public String getColumnText(Object object, int columnIndex) { - - String returnString = null; - - if(columnIndex == 0) - { - returnString = ((Pair)object).getKey(); - } - else if(columnIndex == 1) - { - returnString = ((Pair)object).getValue(); - } - return returnString; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceItemProvider.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceItemProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceItemProvider.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceItemProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,175 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.util.ResourceLocator; -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.Service; - -/** - * This is the item provider adapter for a {@link org.eclipse.tm.discovery.model.Service} object. - * - * @generated - */ -public class ServiceItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource{ - /** - * This constructs an instance from a factory and a notifier. - * @param adapterFactory - * - * @generated - */ - public ServiceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * @generated - */ - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addNamePropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Name feature. - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Service_name_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_Service_name_feature", "_UI_Service_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.SERVICE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * @generated - */ - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(ModelPackage.Literals.SERVICE__PAIR); - } - return childrenFeatures; - } - - /** - * This returns Service.gif. - * - * @generated not - */ - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/service")); //$NON-NLS-1$ - } - - /** - * This returns the label text for the adapted class. - * - * @generated NOT - */ - public String getText(Object object) { - - return ((Service)object).getName(); - - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * @generated - */ - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(Service.class)) { - case ModelPackage.SERVICE__NAME: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - case ModelPackage.SERVICE__PAIR: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s - * describing all of the children that can be created under this object. - * - * @generated - */ - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (ModelPackage.Literals.SERVICE__PAIR, - ModelFactory.eINSTANCE.createPair())); - } - - /** - * Return the resource locator for this item provider's resources. - * - * @generated - */ - public ResourceLocator getResourceLocator() { - return DiscoveryModelEditPlugin.INSTANCE; - } - - /* NO CHILDREN IN TREE */ - public boolean hasChildren(Object object) { - return false; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceTypeItemProvider.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceTypeItemProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceTypeItemProvider.java 2007-02-21 18:52:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.model.edit/src/org/eclipse/tm/internal/discovery/model/provider/ServiceTypeItemProvider.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,170 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.model.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.util.ResourceLocator; -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.ModelPackage; -import org.eclipse.tm.discovery.model.ServiceType; - -/** - * This is the item provider adapter for a {@link org.eclipse.tm.discovery.model.ServiceType} object. - * - * @generated - */ -public class ServiceTypeItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource - { - /** - * This constructs an instance from a factory and a notifier. - * @param adapterFactory - * - * @generated - */ - public ServiceTypeItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * @generated - */ - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addNamePropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Name feature. - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_ServiceType_name_feature"), //$NON-NLS-1$ - getString("_UI_PropertyDescriptor_description", "_UI_ServiceType_name_feature", "_UI_ServiceType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - ModelPackage.Literals.SERVICE_TYPE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an - * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or - * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. - * - * @generated - */ - public Collection getChildrenFeatures(Object object) { - if (childrenFeatures == null) { - super.getChildrenFeatures(object); - childrenFeatures.add(ModelPackage.Literals.SERVICE_TYPE__SERVICE); - } - return childrenFeatures; - } - - /** - * This returns ServiceType.gif. - * - * @generated - */ - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/serviceType")); //$NON-NLS-1$ - } - - /** - * This returns the label text for the adapted class. - * - * @generated NOT - */ - public String getText(Object object) { - String label = ((ServiceType)object).getName(); - return label == null || label.length() == 0 ? "": label; //$NON-NLS-1$ - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * @generated - */ - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(ServiceType.class)) { - case ModelPackage.SERVICE_TYPE__NAME: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - case ModelPackage.SERVICE_TYPE__SERVICE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s - * describing all of the children that can be created under this object. - * - * @generated - */ - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - - newChildDescriptors.add - (createChildParameter - (ModelPackage.Literals.SERVICE_TYPE__SERVICE, - ModelFactory.eINSTANCE.createService())); - } - - /** - * Return the resource locator for this item provider's resources. - * - * @generated - */ - public ResourceLocator getResourceLocator() { - return DiscoveryModelEditPlugin.INSTANCE; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.classpath 2007-02-21 18:52:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.cvsignore 2006-09-20 13:15:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.project 2008-03-16 20:19:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.protocol.dnssd - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:32:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:23:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/META-INF/MANIFEST.MF 2009-05-20 19:31:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.protocol.dnssd;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.discovery.protocol.dnssd.Activator -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.discovery.engine;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)", - org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.tm.internal.discovery.protocol.dnssd;x-internal:=true diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/about.html 2007-05-29 20:29:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/build.properties 2009-05-25 21:22:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - .,\ - plugin.xml -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.properties 2009-05-14 07:53:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery DNS-SD Protocol -providerName = Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml 2007-05-11 10:48:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Activator.java 2007-02-21 18:52:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.protocol.dnssd; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.discovery.protocol.dnssd"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/DNSSDProtocol.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/DNSSDProtocol.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/DNSSDProtocol.java 2007-06-12 10:34:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/DNSSDProtocol.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,752 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Javier Montalvo Orus (Symbian) - added transport key - * Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE - * Javier Montalvo Orus (Symbian) - [191207] DNS-SD adds duplicated transport attribute when discovery is refreshed - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.protocol.dnssd; - -import java.io.ByteArrayInputStream; -import java.util.Iterator; -import java.util.StringTokenizer; -import java.util.Vector; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.tm.discovery.model.Device; -import org.eclipse.tm.discovery.model.ModelFactory; -import org.eclipse.tm.discovery.model.Network; -import org.eclipse.tm.discovery.model.Pair; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.model.ServiceType; -import org.eclipse.tm.discovery.protocol.IProtocol; -import org.eclipse.tm.discovery.transport.ITransport; - - - -/** - * DNS-based Service Discovery implementation based on DNS-Based - * Service Discovery

    The DNS packets supported by the implementation are: - * - *
      - *
    • DNS Pointer resource record (PTR)
      - * - * - * - * - * - * - * - * - *
      NameTypeClassTTLData SizeDomain Name

      - *
    • DNS Service resource record (SRV)
      - * - * - * - * - * - * - * - * - * - * - * - *
      NameTypeClassTTLData SizePriorityWeightPortTarget

      - *
    • DNS Text resource record (TXT)
      - * - * - * - * - * - * - * - * - *
      NameTypeClassTTLData SizeData Pairs

      - *
    • DNS Address resource record (A)
      - * - * - * - * - * - * - * - * - *
      NameTypeClassTTLData SizeAddress
      - *
    - *
    - * - * - */ -public class DNSSDProtocol implements IProtocol { - - // DNS Pointer resource record identifier - private final static int PTR = 0x0C; - - // DNS Service resource record identifier - private final static int SRV = 0x21; - - // DNS Text resource record identifier - private final static int TXT = 0x10; - - // DNS Address resource record identifier - private final static int A = 0x01; - - // DNS packet reference. - private byte[] packet; - - // provide 64k for the received packet - private final int MAX_PACKET_SIZE = 65535; - private byte[] buffer = new byte[MAX_PACKET_SIZE]; - - //IP address identifying the target - private String address; - - // Queries for services and legacy services - private final String SERVICE_DISCOVERY_COMMAND = Messages.getString("DNSSDProtocol.ServiceDiscoveryCommand"); //$NON-NLS-1$ - private final String LEGACY_SERVICE_DISCOVERY_COMMAND = Messages.getString("DNSSDProtocol.legacyServiceDiscoveryCommand"); //$NON-NLS-1$ - - // Patterns to parse service name and service type - - private final Pattern srvPattern = Pattern.compile("^(.+)\\._(.+)._(.+)\\.local."); //$NON-NLS-1$ - private final Pattern ptrPattern = Pattern.compile("^_(.+)._.+\\.local."); //$NON-NLS-1$ - - private final String TRANSPORT_KEY = "transport"; //$NON-NLS-1$ - - private Resource resource = null; - private ITransport transport = null; - private String query = null; - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.protocol.IProtocol#getQueries() - */ - public String[] getQueries() - { - return new String[]{ - SERVICE_DISCOVERY_COMMAND, - LEGACY_SERVICE_DISCOVERY_COMMAND - }; - - } - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.protocol.IProtocol#getDiscoveryJob(java.lang.String, org.eclipse.emf.ecore.resource.Resource, org.eclipse.tm.discovery.transport.ITransport) - */ - public Job getDiscoveryJob(String aQuery, Resource aResource, ITransport aTransport){ - - resource = aResource; - transport = aTransport; - query = aQuery; - - return new Job(Messages.getString("DNSSDProtocol.JobName")) { //$NON-NLS-1$ - protected IStatus run(IProgressMonitor monitor) { - if (transport != null) { - sendQuery(transport, query, PTR); - - Vector discoveredServices = new Vector(); - - if (!resource.getContents().isEmpty()) { - - Iterator deviceIterator = ((Network) resource.getContents().get(0)).getDevice().iterator(); - while (deviceIterator.hasNext()) { - Device device = (Device) deviceIterator.next(); - Iterator serviceTypeIterator = device.getServiceType().iterator(); - while (serviceTypeIterator.hasNext()) { - ServiceType serviceType = (ServiceType) serviceTypeIterator.next(); - if (serviceType.getName().equals(SERVICE_DISCOVERY_COMMAND) || - serviceType.getName().equals(LEGACY_SERVICE_DISCOVERY_COMMAND)) { - Iterator serviceIterator = serviceType.getService().iterator(); - while (serviceIterator.hasNext()) { - Service service = (Service) serviceIterator.next(); - - if (!discoveredServices.contains(service.getName())) { - discoveredServices.add(service.getName()); - } - - } - serviceTypeIterator.remove(); - } - } - } - - for (int i = 0; i < discoveredServices.size(); i++) { - sendQuery(transport,(String) discoveredServices.elementAt(i), PTR); - } - } - } - return new Status(IStatus.OK, - "org.eclipse.rse.discovery.engine", IStatus.OK, //$NON-NLS-1$ - Messages.getString("DNSSDProtocol.FinishedJobName"), null); //$NON-NLS-1$ - } - }; - } - - /* - * Creates and sends the specified query in a DNS-SD packet and call the function to populate the model with the received data - */ - private void sendQuery(ITransport transport, String query, int type) { - try { - - //clean buffer - for (int i = 0; i < buffer.length; i++) { - buffer[i]=0; - } - - // number of queries (1) - buffer[4] = (byte) 0x00; - buffer[5] = (byte) 0x01; - - //jump to the data section of the packet letting the other fields as 0s - int index = 12; - - StringTokenizer tokenizer = new StringTokenizer(query, "."); //$NON-NLS-1$ - - while (tokenizer.hasMoreTokens()) { - String token = tokenizer.nextToken(); - - buffer[index] = (byte) token.length(); - index++; - - for (int subIndex = 0; subIndex < token.getBytes().length; subIndex++) { - buffer[index + subIndex] = token.getBytes()[subIndex]; - } - index += token.getBytes().length; - } - - //end of data section - buffer[index++] = 0x00; - - // type TXT-SRV-PTR - buffer[index++] = 0x00; - buffer[index++] = (byte) (type & 0xFF); - - //inet - buffer[index++] = 0x00; - buffer[index++] = 0x01; - - packet = new byte[index]; - for (int position = 0; position < index; position++) - packet[position] = buffer[position]; - - //send the packet using the provided ITransport implementation - transport.send(packet); - - // wait to receive data until timeout - while (true) { - address = transport.receive(buffer); - packet = buffer; - populateModel(resource); - } - - } catch (Exception e) { - // timeout, no more services to discover - } - } - - - /* - * Populates the provided model with the contents of the received packet - */ - private void populateModel(Resource resource) { - Network network = null; - Device device = null; - boolean found = false; - - Iterator deviceIterator = null; - - if (resource.getContents().isEmpty()) { - network = ModelFactory.eINSTANCE.createNetwork(); - resource.getContents().add(network); - } else { - network = (Network) resource.getContents().get(0); - } - - deviceIterator = network.getDevice().iterator(); - while (deviceIterator.hasNext()) { - Device aDevice = (Device) deviceIterator.next(); - if (aDevice.getAddress().equals(address)) { - device = aDevice; - found = true; - break; - } - } - if (!found) { - device = ModelFactory.eINSTANCE.createDevice(); - device.setAddress(address); - - network.getDevice().add(device); - } - - ByteArrayInputStream packetInputStream = new ByteArrayInputStream(packet); - - //skip transactionID+flags - packetInputStream.skip(4); - - int queriesNumber = packetInputStream.read() << 8 | packetInputStream.read(); - int answersNumber = packetInputStream.read() << 8 | packetInputStream.read(); - - //skip authority RRs - packetInputStream.skip(2); - - int additionalRecordsNumber = packetInputStream.read() << 8 | packetInputStream.read(); - - // read queries - for (int i = 0; i < queriesNumber; i++) { - getName(packetInputStream, packet); - //skip type - packetInputStream.skip(2); - //skip class - packetInputStream.skip(2); - } - - //read answers - for (int i = 0; i < answersNumber + additionalRecordsNumber; i++) { - found = false; - - String name = getName(packetInputStream, packet); - - //packet type - int type = packetInputStream.read() << 8 | packetInputStream.read(); - - //skip class - packetInputStream.skip(2); - - //skip TTL - packetInputStream.skip(4); - - switch (type) { - - /* - * A PACKET (DNS Address resource record identifier) - */ - case DNSSDProtocol.A: - handleARecord(packetInputStream, device, name); - break; - - /* - * PTR PACKET (DNS Pointer resource record identifier) - */ - case DNSSDProtocol.PTR: - handlePTRRecord(packetInputStream, device, name); - break; - - /* - * SRV PACKET (DNS Service resource record identifier) - */ - case DNSSDProtocol.SRV: - handleSRVRecord(packetInputStream, device, name); - break; - - /* - * TXT PACKET (DNS Text resource record identifier) - */ - case DNSSDProtocol.TXT: - handleTXTRecord(packetInputStream, device, name); - break; - } - } - } - - private void handleARecord(ByteArrayInputStream packetInputStream, Device device, String name) { - int dataLength = packetInputStream.read() << 8 | packetInputStream.read(); - - //skip address - packetInputStream.skip(dataLength); - - if (device != null) { - device.setName(name.substring(0, name.indexOf('.') )); - } - } - - - - private void handlePTRRecord(ByteArrayInputStream packetInputStream, Device device, String name) { - - Service service = ModelFactory.eINSTANCE.createService(); - ServiceType serviceType = ModelFactory.eINSTANCE.createServiceType(); - - //skip dataLength - packetInputStream.skip(2); - - String ptrDataName = getName(packetInputStream, packet); - - String serviceTypeName = name; - - //parse the service type name - if(!(serviceTypeName.equals(SERVICE_DISCOVERY_COMMAND) || serviceTypeName.equals(LEGACY_SERVICE_DISCOVERY_COMMAND))) - { - Matcher matcher = ptrPattern.matcher(name); - if (matcher.matches()) - serviceTypeName = matcher.group(1); - } - - //find if we have a serviceType with this name... - Iterator serviceTypeIterator = device.getServiceType().iterator(); - boolean found = false; - while (serviceTypeIterator.hasNext()) { - ServiceType aServiceType = (ServiceType) serviceTypeIterator.next(); - if (aServiceType.getName().equals(serviceTypeName)) { - serviceType = aServiceType; - found = true; - break; - } - } - if (!found) { - serviceType = ModelFactory.eINSTANCE.createServiceType(); - serviceType.setName(serviceTypeName); - device.getServiceType().add(serviceType); - } - - if (!ptrDataName.equals("")) { //$NON-NLS-1$ - //find if we have a service with this name... - - String serviceName = null; - - if(serviceTypeName.equals(SERVICE_DISCOVERY_COMMAND) || serviceTypeName.equals(LEGACY_SERVICE_DISCOVERY_COMMAND)) - { - serviceName = ptrDataName; - } - else - { - //parse the service type name - Matcher matcher = srvPattern.matcher(ptrDataName); - if (matcher.matches()) - serviceName = matcher.group(1); - } - - Iterator serviceIterator = serviceType.getService().iterator(); - found = false; - while (serviceIterator.hasNext()) { - Service aService = (Service) serviceIterator.next(); - if (aService.getName().equals(serviceName)) { - service = aService; - found = true; - break; - } - } - - if (!found) { - service = ModelFactory.eINSTANCE.createService(); - service.setName(serviceName); - serviceType.getService().add(service); - } - } - } - - private void handleSRVRecord(ByteArrayInputStream packetInputStream, Device device, String name) { - - Service service = ModelFactory.eINSTANCE.createService(); - ServiceType serviceType = ModelFactory.eINSTANCE.createServiceType(); - - //data of the packet, without bytes for priority-weight-port - int dataLength = (packetInputStream.read() << 8 | packetInputStream.read()) - 6; - - int priority = packetInputStream.read() << 8 | packetInputStream.read(); - int weight = packetInputStream.read() << 8 | packetInputStream.read(); - int port = packetInputStream.read() << 8 | packetInputStream.read(); - - byte[] data = new byte[dataLength]; - try { - packetInputStream.read(data); - } catch (Exception e) { - e.printStackTrace(); - } - - String serviceTypeName = null; - String serviceName = null; - - //parse the service type name and the service name - Matcher matcher = srvPattern.matcher(name); - if (matcher.matches()) - { - serviceTypeName = matcher.group(2); - serviceName = matcher.group(1); - } - - // find if we have a serviceType with this name... - - Iterator serviceTypeIterator = device.getServiceType().iterator(); - boolean found = false; - while (serviceTypeIterator.hasNext()) { - ServiceType aServiceType = (ServiceType) serviceTypeIterator.next(); - if (aServiceType.getName().equals(serviceTypeName)) { - serviceType = aServiceType; - found = true; - break; - } - } - - if (!found) { - serviceType = ModelFactory.eINSTANCE.createServiceType(); - serviceType.setName(serviceTypeName); - device.getServiceType().add(serviceType); - } - - //find if we have a service with this name... - Iterator serviceIterator = serviceType.getService().iterator(); - found = false; - while (serviceIterator.hasNext()) { - Service temp = (Service) serviceIterator.next(); - if (temp.getName().equals(serviceName)) { - service = temp; - found = true; - break; - } - } - - if (!found) { - service = ModelFactory.eINSTANCE.createService(); - service.setName(serviceName); - serviceType.getService().add(service); - } - - service.setName(serviceName); - - String[] keys = new String[]{"port","priority","weight"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - String[] values = new String[]{port+"",priority+"",weight+""}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - - for (int i = 0; i < keys.length; i++) { - - Pair text = null; - Iterator pairIterator = service.getPair().iterator(); - found = false; - while (pairIterator.hasNext()) { - Pair aPair = (Pair) pairIterator.next(); - if (aPair != null) - { - if (aPair.getKey().equals(keys[i])) { - String current = aPair.getValue(); - if (!current.equals(values[i])) - aPair.setValue(values[i]); - found = true; - break; - } - } - } - - if (!found) { - text = ModelFactory.eINSTANCE.createPair(); - text.setKey(keys[i]); - text.setValue(values[i]); - service.getPair().add(text); - } - } - } - - private void handleTXTRecord(ByteArrayInputStream packetInputStream, Device device, String recordName) { - ServiceType serviceType = ModelFactory.eINSTANCE.createServiceType(); - Service service = ModelFactory.eINSTANCE.createService(); - int dataLength = packetInputStream.read() << 8 | packetInputStream.read(); - - byte [] data = new byte[dataLength]; - try { - packetInputStream.read(data); - } catch (Exception e) { - e.printStackTrace(); - } - - String serviceName = null; - String serviceTypeName = null; - String serviceTransport = null; - - // Find if we have a serviceType with this name... - - Matcher matcher = srvPattern.matcher(recordName); - if (matcher.matches()) - { - serviceName = matcher.group(1); - serviceTypeName = matcher.group(2); - serviceTransport = matcher.group(3); - } - - - Iterator serviceTypeIterator = device.getServiceType().iterator(); - boolean found = false; - while (serviceTypeIterator.hasNext()) { - ServiceType aServiceType = (ServiceType) serviceTypeIterator.next(); - if (aServiceType != null) { - if (aServiceType.getName().equals(serviceTypeName)) { - serviceType = aServiceType; - found = true; - break; - } - } - } - - if (!found) { - serviceType = ModelFactory.eINSTANCE.createServiceType(); - serviceType.setName(serviceTypeName); - device.getServiceType().add(serviceType); - } - - // Find if we have a service with this name... - - Iterator serviceIterator = serviceType.getService().iterator(); - found = false; - while (serviceIterator.hasNext()) { - Service aService = (Service) serviceIterator.next(); - if (aService != null) { - if (aService.getName().equals(serviceName)) { - service = aService; - found = true; - break; - } - } - } - - if (!found) { - service = ModelFactory.eINSTANCE.createService(); - service.setName(recordName); - serviceType.getService().add(service); - } - - //add or update discovered transport if available in response - if(serviceTransport != null) - { - - Iterator pairIterator = service.getPair().iterator(); - found = false; - while (pairIterator.hasNext()) { - Pair aPair = (Pair) pairIterator.next(); - if (aPair != null) { - if (TRANSPORT_KEY.equals(aPair.getKey())) { - - //update transport value - aPair.setValue(serviceTransport); - found = true; - break; - } - } - } - - if (!found) { - Pair transportPair = ModelFactory.eINSTANCE.createPair(); - transportPair.setKey(TRANSPORT_KEY); - transportPair.setValue(serviceTransport); - service.getPair().add(transportPair); - } - - - } - - //process "key=value" pairs - - StringBuffer dataBuffer = new StringBuffer(); - int entryLength = 0; - - for (int j = 0; j < dataLength; j += entryLength + 1) { - - dataBuffer.setLength(0); - - entryLength = data[j]; - - for (int k = 1; k <= entryLength; k++) - dataBuffer.append((char) data[j + k]); - - StringTokenizer stk = new StringTokenizer(dataBuffer.toString(),"="); //$NON-NLS-1$ - - String key = stk.nextToken(); - - // DNS-Based Service Discovery - // 6.4 Rules for Names in DNS-SD Name/Value Pairs - // If a key has no value, assume "true" - String value = "true"; //$NON-NLS-1$ - - try { - value = stk.nextToken(); - } catch (Exception e) { - // no value, assume "true" - } - - // find if we are updating the value of a key... - Pair text = null; - Iterator pairIterator = service.getPair().iterator(); - found = false; - while (pairIterator.hasNext()) { - Pair aPair = (Pair) pairIterator.next(); - if (aPair != null) { - if (aPair.getKey().equals(key)) { - String current = aPair.getValue(); - if (!current.equals(value)) - aPair.setValue(value); - found = true; - break; - } - } - } - - if (!found) { - text = ModelFactory.eINSTANCE.createPair(); - text.setKey(key); - text.setValue(value); - service.getPair().add(text); - } - } - } - - // returns the name, that can be compressed using DNS compression - // For more information about DNS compression: RFC 1035 (4.1.4. Message compression) - private String getName(ByteArrayInputStream packetInputStream, byte[] packet) { - StringBuffer buffer = new StringBuffer(); - int nextByte = 0; - - while (true) { - nextByte = packetInputStream.read(); - - //check if it's a pointer - //pointer: |11xxxxxx|-|xxxxxxxx| where xxx...x is the pointer in the packet - if ((nextByte & 0xC0) == 0xC0) { - int upperByte = (nextByte & (byte) 0x3F) << 8; - int offset = packetInputStream.read() | upperByte; - buffer.append(getReference(packet, offset)); - break; - } else if (nextByte == 0x00) { - break; - } else { - for (int i = 0; i < nextByte; i++) { - buffer.append((char)packetInputStream.read()); - } - buffer.append('.'); - } - } - return buffer.toString(); - } - - private String getReference(byte[] packet, int offset) { - StringBuffer buffer = new StringBuffer(); - for (int i = 0; packet[offset + i] != 0x00;) { - int numReads = packet[offset + i]; - - //check if it's a pointer - //pointer: |11xxxxxx|-|xxxxxxxx| where xxx...x is the pointer in the packet - if ((numReads & 0xC0) == 0xC0) { - int upperByte = (numReads & (byte) 0x3F) << 8; - int nextOffset = packet[offset + i + 1] | upperByte; - buffer.append(getReference(packet, nextOffset)); - break; - } else { - for (int j = 0; j < numReads; j++) { - buffer.append((char) packet[offset + i + j + 1]); - } - buffer.append('.'); - } - i += (numReads + 1); - } - return buffer.toString(); - } - - - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Messages.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Messages.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Messages.java 2007-02-21 18:52:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.protocol.dnssd; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class Messages { - private static final String BUNDLE_NAME = "org.eclipse.tm.internal.discovery.protocol.dnssd.messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle - .getBundle(BUNDLE_NAME); - - private Messages() { - } - - public static String getString(String key) { - try { - return RESOURCE_BUNDLE.getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/messages.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/messages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/messages.properties 2007-02-21 18:52:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.protocol.dnssd/src/org/eclipse/tm/internal/discovery/protocol/dnssd/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orus (Symbian) - initial API and implementation -################################################################################## - -DNSSDProtocol.ServiceDiscoveryCommand=_services._dns-sd._udp.local. -DNSSDProtocol.legacyServiceDiscoveryCommand=_services._mdns._udp.local. -DNSSDProtocol.JobName=DNS-SD Service Discovery -DNSSDProtocol.FinishedJobName=DNS-SD Service Discovery finished diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.classpath 2007-02-21 18:52:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.cvsignore 2006-09-20 13:16:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.project 2008-03-16 20:19:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.transport.udp - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:32:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:22:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/META-INF/MANIFEST.MF 2009-05-20 19:32:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.transport.udp;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.discovery.transport.udp.Activator -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.discovery.engine;bundle-version="[2.0.0,3.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.tm.internal.discovery.transport.udp;x-internal:=true diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/about.html 2007-05-29 20:30:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/build.properties 2009-05-25 21:22:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - .,\ - plugin.xml -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/plugin.properties 2009-05-14 07:53:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery UDP Transport -providerName = Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/plugin.xml 2007-02-21 18:52:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/Activator.java 2007-02-21 18:52:38.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.transport.udp; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.discovery.transport.udp"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/UDPTransport.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/UDPTransport.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/UDPTransport.java 2007-02-21 18:52:37.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.transport.udp/src/org/eclipse/tm/internal/discovery/transport/udp/UDPTransport.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orús (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.transport.udp; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.SocketException; -import java.net.UnknownHostException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.tm.discovery.transport.ITransport; - -/** - * UPD/IP transport implementation - */ - -public class UDPTransport implements ITransport { - - // Default multicast DNS port - public static int MDNS_PORT = 5353; - - // DNS-SD multicast address - public static String MULTICAST_ADDRESS = "224.0.0.251"; //$NON-NLS-1$ - - private DatagramSocket socket = null; - - private InetAddress server = null; - - private int port = MDNS_PORT; - - /** - * Constructor for transport for UDP/IP - */ - - public UDPTransport() { - try { - socket = new DatagramSocket(); - } catch (SocketException e) { - e.printStackTrace(); - } - } - - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.transport.ITransport#setTargetAddress(java.lang.String) - */ - public void setTargetAddress(String address) throws UnknownHostException - { - - Pattern pattern = Pattern.compile("([^:]*)(:(\\d+))?"); //$NON-NLS-1$ - Matcher matcher = pattern.matcher(address); - if (matcher.matches()) { - server = InetAddress.getByName(matcher.group(1)); - if (server.isLoopbackAddress()) { - server = InetAddress.getLocalHost(); - } - - if (matcher.groupCount() == 3 && matcher.group(3) != null) - port = Integer.parseInt(matcher.group(3)); - } - - } - - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.transport.ITransport#setTimeOut(int) - */ - public void setTimeOut(int timeOut) throws SocketException - { - socket.setSoTimeout(timeOut); - } - - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.transport.ITransport#send(byte[]) - */ - public void send(byte[] packet) throws IOException { - DatagramPacket packetOut = new DatagramPacket(packet, packet.length,server, port); - socket.send(packetOut); - } - - - /* (non-Javadoc) - * @see org.eclipse.tm.discovery.transport.ITransport#receive(byte[]) - */ - public String receive(byte[] packet) throws IOException { - DatagramPacket packetIn = new DatagramPacket(packet, packet.length); - socket.receive(packetIn); - - return packetIn.getAddress().getHostAddress(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.classpath 2007-02-21 18:52:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.cvsignore 2006-09-20 13:16:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.project 2008-03-16 20:19:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.view - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:32:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:23:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/META-INF/MANIFEST.MF 2009-05-27 23:23:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.view;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.discovery.view.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.ui.forms, - org.eclipse.tm.discovery.engine;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model.edit;bundle-version="[2.0.0,4.0.0)", - org.eclipse.core.resources, - org.eclipse.emf.edit.ui;bundle-version="[2.2.0,3.0.0)", - org.eclipse.tm.discovery.wizard;bundle-version="[2.0.0,3.0.0)", - org.eclipse.ui.ide -Export-Package: org.eclipse.tm.internal.discovery.view;x-internal:=true -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/about.html 2007-05-29 20:29:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/build.properties 2006-10-06 09:56:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -################################################################################## -# Copyright (c) 2006 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - plugin.xml,\ - icons/,\ - . -src.includes = about.html - Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/icons/system_view.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/icons/system_view.gif differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/plugin.properties 2009-05-14 07:53:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery View -providerName = Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/plugin.xml 2007-02-21 18:52:45.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Activator.java 2007-02-21 18:52:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.view; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.rse.discovery.view"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return imageDescriptorFromPlugin(PLUGIN_ID, path); - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Messages.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Messages.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Messages.java 2007-02-21 18:52:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.view; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.tm.internal.discovery.view.messages"; //$NON-NLS-1$ - - public static String ServiceDiscoveryView_ClearActionText; - - public static String ServiceDiscoveryView_ClearActionToolTipText; - - public static String ServiceDiscoveryView_DiscoveryActionText; - - public static String ServiceDiscoveryView_DiscoveryActionToolTipText; - - public static String ServiceDiscoveryView_KeyColumnLabel; - - public static String ServiceDiscoveryView_PropertiesTableTitle; - - public static String ServiceDiscoveryView_ProtocolErrorDialogMessage; - - public static String ServiceDiscoveryView_ProtocolErrorDialogTitle; - - public static String ServiceDiscoveryView_RefreshActionText; - - public static String ServiceDiscoveryView_RefreshActionToolTipText; - - public static String ServiceDiscoveryView_ServicesTreeTitle; - - public static String ServiceDiscoveryView_TransportErrorDialogMessage; - - public static String ServiceDiscoveryView_TransportErrorDialogTitle; - - public static String ServiceDiscoveryView_TransportNoAddressFoundDialogTitle; - - public static String ServiceDiscoveryView_TransportNoAddressFoundDialogTransport; - - public static String ServiceDiscoveryView_ValueColumnLabel; - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/ServiceDiscoveryView.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/ServiceDiscoveryView.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/ServiceDiscoveryView.java 2007-05-10 12:39:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/ServiceDiscoveryView.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,314 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.view; - -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.emf.common.ui.ViewerPane; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.edit.provider.ComposedAdapterFactory; -import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; -import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; -import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.wizard.Wizard; -import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.SashForm; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.protocol.IProtocol; -import org.eclipse.tm.discovery.protocol.ProtocolFactory; -import org.eclipse.tm.discovery.transport.ITransport; -import org.eclipse.tm.discovery.transport.TransportFactory; -import org.eclipse.tm.internal.discovery.engine.ServiceDiscoveryEngine; -import org.eclipse.tm.internal.discovery.model.provider.ModelItemProviderAdapterFactory; -import org.eclipse.tm.internal.discovery.wizard.ServiceDiscoveryWizardMainPage; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.ContainerCheckedTreeViewer; -import org.eclipse.ui.part.ViewPart; - -/** - * View to display the Service Discovery model in a tree form. - * - * @see TransportFactory - * @see ServiceDiscoveryEngine - * - */ -public class ServiceDiscoveryView extends ViewPart { - - //Tree widgets - private TreeViewer treeViewer; - private ViewerPane viewerPaneTree; - - // Table widgets - private TableViewer tableViewer; - private ViewerPane viewerPaneTable; - - private String query = null; - - private Table table; - - private Action discoveryAction; - private Action refreshAction; - private Action clearAction; - - private ITransport transport = null; - private IProtocol protocol = null; - - private ServiceDiscoveryWizardMainPage serviceDiscoveryWizardMainPage; - private Resource resource; - - private ServiceDiscoveryEngine serviceDiscoveryEngine = ServiceDiscoveryEngine.getInstance(); - -public void createPartControl(Composite parent) { - - resource = serviceDiscoveryEngine.getResource(); - - List factories = new ArrayList(); - factories.add(new ResourceItemProviderAdapterFactory()); - factories.add(new ModelItemProviderAdapterFactory()); - factories.add(new ReflectiveItemProviderAdapterFactory()); - - ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( - factories); - - Composite comp = new Composite(parent, SWT.NULL); - - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 1; - comp.setLayout(gridLayout); - - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - data.verticalAlignment = GridData.FILL; - data.grabExcessVerticalSpace = true; - - SashForm sashForm = new SashForm(comp,SWT.NULL ); - sashForm.setOrientation(SWT.HORIZONTAL); - - sashForm.setLayoutData(data); - - // TREE - - viewerPaneTree = new ViewerPane(getSite().getPage(), ServiceDiscoveryView.this) { - public Viewer createViewer(Composite composite) { - Tree tree = new Tree(composite, SWT.NULL); - ContainerCheckedTreeViewer treeViewer = new ContainerCheckedTreeViewer(tree); - - return treeViewer; - } - - public void requestActivation() { - super.requestActivation(); - } - }; - - Composite sashComposite = new Composite(sashForm,SWT.BORDER); - sashComposite.setLayout(new FillLayout()); - - viewerPaneTree.createControl(sashComposite); - - treeViewer = (TreeViewer) viewerPaneTree.getViewer(); - - treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); - - treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); - - viewerPaneTree.setTitle(Messages.ServiceDiscoveryView_ServicesTreeTitle, null); - - treeViewer.setInput(resource); - - new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); - - ((ContainerCheckedTreeViewer) viewerPaneTree.getViewer()).addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - if(!event.getSelection().isEmpty()) - { - EObject obj = (EObject)((IStructuredSelection) event.getSelection()).getFirstElement(); - - if(obj instanceof Service) - tableViewer.setInput(obj); - } - } - }); - - - // TABLE - - viewerPaneTable = - new ViewerPane(getSite().getPage(), ServiceDiscoveryView.this) { - public Viewer createViewer(Composite composite) { - return new TableViewer(composite); - } - }; - - Composite c3 = new Composite(sashForm,SWT.BORDER); - c3.setLayout(new FillLayout()); - - viewerPaneTable.createControl(c3); - tableViewer = (TableViewer)viewerPaneTable.getViewer(); - - viewerPaneTable.setTitle(Messages.ServiceDiscoveryView_PropertiesTableTitle, null); - - - table = tableViewer.getTable(); - - TableLayout layout = new TableLayout(); - table.setLayout(layout); - - table.setHeaderVisible(true); - table.setLinesVisible(true); - - TableColumn objectColumn = new TableColumn(table, SWT.NONE); - layout.addColumnData(new ColumnWeightData(3, 100, true)); - objectColumn.setText(Messages.ServiceDiscoveryView_KeyColumnLabel); - objectColumn.setResizable(true); - - TableColumn selfColumn = new TableColumn(table, SWT.NONE); - layout.addColumnData(new ColumnWeightData(2, 100, true)); - selfColumn.setText(Messages.ServiceDiscoveryView_ValueColumnLabel); - selfColumn.setResizable(true); - - tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); - - tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); - - makeActions(); - - getViewSite().getActionBars().getToolBarManager().add(discoveryAction); - getViewSite().getActionBars().getToolBarManager().add(new Separator()); - getViewSite().getActionBars().getToolBarManager().add(refreshAction); - getViewSite().getActionBars().getToolBarManager().add(new Separator()); - getViewSite().getActionBars().getToolBarManager().add(clearAction); - - } - - private void update(String query, String address, String transportName, String protocolName, int timeOut) - { - this.query = query; - - //instantiate protocol and transport from factories (extensions) - - try { - protocol = ProtocolFactory.getProtocol(protocolName); - } catch (Exception e) { - MessageDialog.openError(new Shell(), Messages.ServiceDiscoveryView_ProtocolErrorDialogTitle, Messages.ServiceDiscoveryView_ProtocolErrorDialogMessage+protocolName); - } - - try { - transport = TransportFactory.getTransport(transportName, address, timeOut); - } catch (UnknownHostException e) { - MessageDialog.openError(new Shell(), Messages.ServiceDiscoveryView_TransportNoAddressFoundDialogTitle, Messages.ServiceDiscoveryView_TransportNoAddressFoundDialogTransport+address); - } catch (Exception e) { - MessageDialog.openError(new Shell(), Messages.ServiceDiscoveryView_TransportErrorDialogTitle, Messages.ServiceDiscoveryView_TransportErrorDialogMessage+transportName); - } - - - if(protocol != null && transport != null) - { - serviceDiscoveryEngine.doServiceDiscovery(query, protocol,transport); - } - } - - - - private void makeActions() { - discoveryAction = new Action() { - public void run() { - - Wizard wizard = new Wizard(){ - - public boolean performFinish() { - - update(serviceDiscoveryWizardMainPage.getQuery(), - serviceDiscoveryWizardMainPage.getAddress(), - serviceDiscoveryWizardMainPage.getTransport(), - serviceDiscoveryWizardMainPage.getProtocol(), - serviceDiscoveryWizardMainPage.getTimeOut()); - - return true; - }}; - - serviceDiscoveryWizardMainPage = new ServiceDiscoveryWizardMainPage(); - - wizard.addPage(serviceDiscoveryWizardMainPage); - - Shell shell = new Shell(); - WizardDialog dialog = new WizardDialog(shell, wizard); - - Rectangle absoluteRect = shell.getMonitor().getClientArea(); - Rectangle shellRect = shell.getBounds(); - shell.setLocation(((absoluteRect.width - shellRect.width) / 2), ((absoluteRect.height - shellRect.height) / 2)); - - dialog.open(); - } - }; - - discoveryAction.setText(Messages.ServiceDiscoveryView_DiscoveryActionText); - discoveryAction.setToolTipText(Messages.ServiceDiscoveryView_DiscoveryActionToolTipText); - discoveryAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD)); - - refreshAction = new Action() { - public void run() { - if(query != null && transport != null && protocol != null) - { - serviceDiscoveryEngine.doServiceDiscovery(query, protocol,transport); - } - } - }; - refreshAction.setText(Messages.ServiceDiscoveryView_RefreshActionText); - refreshAction.setToolTipText(Messages.ServiceDiscoveryView_RefreshActionToolTipText); - refreshAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_REDO)); - - - clearAction = new Action() { - public void run() { - resource.getContents().clear(); - tableViewer.setInput(null); - } - }; - clearAction.setText(Messages.ServiceDiscoveryView_ClearActionText); - clearAction.setToolTipText(Messages.ServiceDiscoveryView_ClearActionToolTipText); - clearAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE)); - - } - - public void setFocus() { - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/messages.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/messages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/messages.properties 2009-05-27 22:27:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.view/src/org/eclipse/tm/internal/discovery/view/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -ServiceDiscoveryView_ServicesTreeTitle=\ \ \ \ \ \ \ \ Services -ServiceDiscoveryView_PropertiesTableTitle=\ \ \ \ \ \ \ \ Properties -ServiceDiscoveryView_KeyColumnLabel=Key -ServiceDiscoveryView_ValueColumnLabel=Value -ServiceDiscoveryView_ProtocolErrorDialogTitle=Error -ServiceDiscoveryView_ProtocolErrorDialogMessage=Error loading protocol -ServiceDiscoveryView_TransportNoAddressFoundDialogTitle=Error -ServiceDiscoveryView_TransportNoAddressFoundDialogTransport=Error resolving address -ServiceDiscoveryView_TransportErrorDialogTitle=Error -ServiceDiscoveryView_TransportErrorDialogMessage=Error loading transport -ServiceDiscoveryView_DiscoveryActionText=New Service Discovery -ServiceDiscoveryView_DiscoveryActionToolTipText=New Service Discovery -ServiceDiscoveryView_RefreshActionText=Refresh -ServiceDiscoveryView_RefreshActionToolTipText=Refresh -ServiceDiscoveryView_ClearActionText=Clear -ServiceDiscoveryView_ClearActionToolTipText=Clear diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.classpath eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.classpath 2007-02-21 18:52:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.cvsignore 2006-09-08 14:27:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.project eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.project --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.project 2008-03-16 20:19:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.discovery.wizard - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.core.resources.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.core.resources.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.core.resources.prefs 2006-10-07 22:23:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.core.resources.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#Sun Oct 08 00:09:13 CEST 2006 -eclipse.preferences.version=1 -encoding/=UTF-8 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:20:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/HelpContexts.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/HelpContexts.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/HelpContexts.xml 2007-06-11 11:25:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/HelpContexts.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - - Service Discovery allows detecting remote servers using different protocol and transports. - - - - - The address can be a multicast address or a multicast address can be suggested by checking the "multicast" checkbox. - - - - Transport to be used to query the remote device. - - - - Discovery protocol to be used to query the remote device. - - - - Message to be sent to the remote device to start the discovery process. It can be empty in some protocols. - - - - Maximum amount of time (in ms) between replies before ending the discovery session. - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/META-INF/MANIFEST.MF 2009-05-20 19:32:16.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.discovery.wizard;singleton:=true -Bundle-Version: 2.0.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.discovery.wizard.Activator -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.emf.ecore.edit;bundle-version="[2.2.0,3.0.0)", - org.eclipse.emf.edit.ui;bundle-version="[2.2.0,3.0.0)", - org.eclipse.core.runtime, - org.eclipse.tm.discovery.engine;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model;bundle-version="[2.0.0,3.0.0)", - org.eclipse.tm.discovery.model.edit;bundle-version="[2.0.0,4.0.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Export-Package: org.eclipse.tm.internal.discovery.wizard;x-friends:="org.eclipse.rse.discovery,org.eclipse.tm.discovery.view" -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/SDWizard.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/SDWizard.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/SDWizard.html 2007-06-12 10:40:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/SDWizard.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ - - - - - - - -Service Discovery Wizard - - -

    Service Discovery Wizard

    - -

    -

    Address

    -Address of the device to be queried. -The address can be a multicast address or a multicast address can be suggested by checking the "multicast" checkbox. -

    -

    -

    Transport

    -Transport to be used to query the remote device. -

    -

    -

    Protocol

    -Discovery protocol to be used to query the remote device. -

    -

    -

    Discovery Query

    -Message to be sent to the remote device to start the discovery process. It can be empty in some protocols. -

    -

    -

    Timeout

    -Maximum amount of time (in ms) between replies before ending the discovery session. -

    -
    - -When clicking the "Next" button, the discovery process will start, and the discovered services and their attributes will be shown in a tree. - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/about.html eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/about.html 2007-05-29 20:27:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

    About This Content

    - -

    June 5, 2007

    -

    License

    - -

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

    - -

    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

    - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/build.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/build.properties 2009-05-25 21:21:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orús (Symbian) - initial API and implementation -################################################################################## - -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - about.html,\ - plugin.properties,\ - .,\ - HelpContexts.xml,\ - SDWizard.html,\ - plugin.xml,\ - toc.xml -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/plugin.properties 2009-05-14 07:51:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ - -pluginName = Target Management Service Discovery Wizard -providerName = Eclipse.org - DSDP diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/plugin.xml 2007-06-11 11:25:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/plugin.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Activator.java 2007-02-21 18:52:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.wizard; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.wizard.pages"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Messages.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Messages.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Messages.java 2007-02-21 18:52:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/Messages.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.wizard; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class Messages { - private static final String BUNDLE_NAME = "org.eclipse.tm.internal.discovery.wizard.messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle - .getBundle(BUNDLE_NAME); - - private Messages() { - } - - public static String getString(String key) { - try { - return RESOURCE_BUNDLE.getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardDisplayPage.java eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardDisplayPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardDisplayPage.java 2008-05-29 22:26:46.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/ServiceDiscoveryWizardDisplayPage.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,651 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2008 Symbian Software Ltd. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Javier Montalvo Orus (Symbian) - initial API and implementation - * Javier Montalvo Orus (Symbian) - [plan] Improve Discovery and Autodetect in RSE - * Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods - * Martin Oberhuber (Wind River) - [186523] Move subsystemConfigurations from UI to core - * Javier Montalvo Orus (Symbian) - [186652] Next button should not be enabled on final page of discovery wizard - ********************************************************************************/ - -package org.eclipse.tm.internal.discovery.wizard; - -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Vector; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.Platform; -import org.eclipse.emf.common.ui.ViewerPane; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.edit.provider.ComposedAdapterFactory; -import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; -import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; -import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.CheckStateChangedEvent; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.ICheckStateListener; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerFilter; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.SashForm; -import org.eclipse.swt.custom.TableEditor; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Text; -import org.eclipse.swt.widgets.ToolBar; -import org.eclipse.swt.widgets.ToolItem; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.tm.discovery.model.Device; -import org.eclipse.tm.discovery.model.Pair; -import org.eclipse.tm.discovery.model.Service; -import org.eclipse.tm.discovery.model.ServiceType; -import org.eclipse.tm.discovery.protocol.IProtocol; -import org.eclipse.tm.discovery.protocol.ProtocolFactory; -import org.eclipse.tm.discovery.transport.ITransport; -import org.eclipse.tm.discovery.transport.TransportFactory; -import org.eclipse.tm.internal.discovery.engine.ServiceDiscoveryEngine; -import org.eclipse.tm.internal.discovery.model.provider.ModelItemProviderAdapterFactory; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.ContainerCheckedTreeViewer; - -/** - * Wizard page providing the list of discovered services - */ - -public class ServiceDiscoveryWizardDisplayPage extends WizardPage { - - //tree widgets - private TreeViewer treeViewer; - private ViewerPane viewerPaneTree; - private ViewerFilter filter; - - //table widgets - private TableViewer tableViewer; - private ViewerPane viewerPaneTable; - private Table table; - private TableEditor editor; - - private ComposedAdapterFactory adapterFactory; - - //button widgets - private Button showAllButton; - - //static service discovery engine - private final ServiceDiscoveryEngine serviceDiscoveryEngine = ServiceDiscoveryEngine.getInstance(); - - //service discovery settings - private String query = null; - private String address = null; - private String transportName = null; - private String protocolName = null; - private int timeOut = 500; - - //format of serviceType attribute list of names and transports - //of extension point org.eclipse.core.subsystemConfigurations - private final Pattern serviceTypeFormat = Pattern.compile("_(.+)\\._(.+)"); //$NON-NLS-1$ - - private Service lastSelectedService = null; - - private Hashtable supportedServicesType = new Hashtable(); - - /** - * Constructor for the wizard page performing and displayin the results of - * the service discovery - * - * @param query Query for the service discovery action - * @param address Address of the target device - * @param transportName Name of the transport implementation to be used - * @param protocolName Name of the protocol implementation to be used - * @param timeOut Timeout to be used in the transport - */ - - public ServiceDiscoveryWizardDisplayPage(String query, String address, String transportName, String protocolName, int timeOut) { - super("wizardPage2"); //$NON-NLS-1$ - setTitle(Messages.getString("ServiceDiscoveryWizardDisplayPage.WizardPageTitle")); //$NON-NLS-1$ - setDescription(Messages.getString("ServiceDiscoveryWizardDisplayPage.WizardPageDescription")); //$NON-NLS-1$ - - //load all service id's from the extension point registry - //this id will be used to filter the supported sytem types - - IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.rse.core","subsystemConfigurations"); //$NON-NLS-1$ //$NON-NLS-2$ - IConfigurationElement[] ce = ep.getConfigurationElements(); - for (int i = 0; i < ce.length; i++) { - String type = ce[i].getAttribute("serviceType"); //$NON-NLS-1$ - - if(type!=null) - { - String[] variants = type.split(";"); //$NON-NLS-1$ - - for (int j = 0; j < variants.length; j++) { - Matcher match = serviceTypeFormat.matcher(variants[j]); - if(match.matches()) - { - String name = match.group(1); - String transport = match.group(2); - if(supportedServicesType.containsKey(name)) - { - //insert new transport - ((Vector)supportedServicesType.get(name)).add(transport); - } - else - { - //create vector with new transport - Vector transports = new Vector(); - transports.add(transport); - supportedServicesType.put(name,transports); - } - } - } - } - } - - this.query = query; - this.address = address; - this.transportName = transportName; - this.protocolName = protocolName; - this.timeOut = timeOut; - - } - - /** - * Refresh the contents of the service discovery model - * - * @param query Query for the service discovery action - * @param address Address of the target device - * @param transportName Name of the transport implementation to be used - * @param protocolName Name of the protocol implementation to be used - * @param timeOut Timeout to be used in the transport - */ - public void update(String query, String address, String transportName, String protocolName, int timeOut) - { - //update settings - this.query = query; - this.address = address; - this.transportName = transportName; - this.protocolName = protocolName; - this.timeOut = timeOut; - - //instantiate protocol and transport from factories (extensions) - //and perform the service discovery action - - IProtocol protocol = null; - ITransport transport = null; - - try { - protocol = ProtocolFactory.getProtocol(protocolName); - } catch (Exception e) { - MessageDialog.openError(new Shell(), Messages.getString("ServiceDiscoveryWizardDisplayPage.ProtocolErrorTitle"), Messages.getString("ServiceDiscoveryWizardDisplayPage.ProtocolErrorMessage")+protocolName); //$NON-NLS-1$ //$NON-NLS-2$ - } - - try { - transport = TransportFactory.getTransport(transportName, address, timeOut); - } catch (UnknownHostException e) { - MessageDialog.openError(new Shell(), Messages.getString("ServiceDiscoveryWizardDisplayPage.TransportAddressNotFoundTitle"), Messages.getString("ServiceDiscoveryWizardDisplayPage.TransportAddressNotFoundMessage")+address); //$NON-NLS-1$ //$NON-NLS-2$ - } catch (Exception e) { - MessageDialog.openError(new Shell(), Messages.getString("ServiceDiscoveryWizardDisplayPage.TransportErrorTitle"), Messages.getString("ServiceDiscoveryWizardDisplayPage.TransportErrorMessage")+transportName); //$NON-NLS-1$ //$NON-NLS-2$ - } - - if(protocol != null && transport != null) - { - try{ - serviceDiscoveryEngine.doServiceDiscovery(query, protocol,transport); - }catch(Exception e){} - } - } - - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl(Composite parent) { - - List factories = new ArrayList(); - factories.add(new ResourceItemProviderAdapterFactory()); - factories.add(new ModelItemProviderAdapterFactory()); - factories.add(new ReflectiveItemProviderAdapterFactory()); - - adapterFactory = new ComposedAdapterFactory(factories); - - Composite comp = new Composite(parent, SWT.NULL); - - GridLayout gridLayout = new GridLayout(); - gridLayout.numColumns = 1; - comp.setLayout(gridLayout); - - //TOOLBAR - - createToolBar(comp); - - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - data.verticalAlignment = GridData.FILL; - data.grabExcessVerticalSpace = true; - - SashForm sashForm = new SashForm(comp,SWT.NULL ); - sashForm.setOrientation(SWT.HORIZONTAL); - - sashForm.setLayoutData(data); - - // TREE - - Composite sashComposite = new Composite(sashForm,SWT.BORDER); - sashComposite.setLayout(new FillLayout()); - - createTree(sashComposite); - - // TABLE - - Composite innerComposite = new Composite(sashForm,SWT.BORDER); - innerComposite.setLayout(new FillLayout()); - - createTable(innerComposite); - - - // SHOW ALL SERVICES BUTTON - - createShowAllButton(comp); - - - update(query, address, transportName, protocolName, timeOut); - - setPageComplete(false); - - setControl(comp); - - } - - /* - * ToolBar of the wizard page - */ - private void createToolBar(Composite comp) - { - ToolBar toolBar = new ToolBar(comp,SWT.HORIZONTAL | SWT.FLAT | SWT.LEFT | SWT.WRAP ); - - ToolItem refreshButton = new ToolItem(toolBar, SWT.NULL); - refreshButton.addListener(SWT.Selection, new Listener(){ - public void handleEvent(Event event) { - update(query, address, transportName, protocolName, timeOut); - } - }); - - refreshButton.setToolTipText(Messages.getString("ServiceDiscoveryWizardDisplayPage.RefreshButtonToolTipText")); //$NON-NLS-1$ - refreshButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_REDO).createImage()); - - ToolItem cleanButton = new ToolItem(toolBar, SWT.NULL); - cleanButton.addListener(SWT.Selection, new Listener(){ - public void handleEvent(Event event) { - serviceDiscoveryEngine.getResource().getContents().clear(); - tableViewer.setInput(null); - } - }); - - cleanButton.setToolTipText(Messages.getString("ServiceDiscoveryWizardDisplayPage.ClearButtonToolTipText")); //$NON-NLS-1$ - cleanButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE).createImage()); - - } - - /* - * Tree of the wizard page - */ - private void createTree(Composite comp) - { - - viewerPaneTree = new ViewerPane( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), - PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart()) { - public Viewer createViewer(Composite composite) { - Tree tree = new Tree(composite, SWT.CHECK); - ContainerCheckedTreeViewer treeViewer = new ContainerCheckedTreeViewer(tree); - - return treeViewer; - } - - public void requestActivation() { - super.requestActivation(); - } - }; - - viewerPaneTree.createControl(comp); - - treeViewer = (TreeViewer) viewerPaneTree.getViewer(); - - treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); - - treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); - - viewerPaneTree.setTitle(Messages.getString("ServiceDiscoveryWizardDisplayPage.ServicesTreeTitle"), null); //$NON-NLS-1$ - - treeViewer.setInput(serviceDiscoveryEngine.getResource()); - - new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); - - ((ContainerCheckedTreeViewer) viewerPaneTree.getViewer()).addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - if(!event.getSelection().isEmpty()) - { - EObject obj = (EObject)((IStructuredSelection) event.getSelection()).getFirstElement(); - - if(obj instanceof Service) - { - tableViewer.setInput(obj); - lastSelectedService = (Service)obj; - } - } - } - }); - - - ((ContainerCheckedTreeViewer) viewerPaneTree.getViewer()).addCheckStateListener(new ICheckStateListener() { - public void checkStateChanged(CheckStateChangedEvent event) { - - ContainerCheckedTreeViewer treeViewer = (ContainerCheckedTreeViewer) event.getSource(); - - if(treeViewer.getCheckedElements().length > 0) - setPageComplete(true); - else - setPageComplete(false); - - } - }); - - filter = new ViewerFilter(){ - - public boolean select(Viewer viewer, Object parentElement, Object element) { - boolean supported = true; - - if(element instanceof ServiceType) { - - //check if the service type is in the supported list - String serviceTypeName = ((ServiceType)element).getName(); - if(!supportedServicesType.containsKey(serviceTypeName)) - { - supported = false; - } - } - - if(element instanceof Service) { - - //if the discovered transport value is not contained in the list of supported transports filter this service - supported = false; - - String serviceTypeName = ((ServiceType)((Service)element).eContainer()).getName(); - - //check if the transport service is supported - Vector transports = (Vector)supportedServicesType.get(serviceTypeName); - Iterator it = ((Service)element).getPair().iterator(); - while(it.hasNext()) - { - Pair pair = (Pair)it.next(); - if(pair.getKey().equalsIgnoreCase("transport")) //$NON-NLS-1$ - { - String transport = pair.getValue(); - - for (int i = 0; i < transports.size(); i++) { - if(((String)transports.elementAt(i)).equalsIgnoreCase(transport)) - { - //found a supported transport - supported = true; - } - } - } - - } - - } - return supported; - - }}; - - - - ((ContainerCheckedTreeViewer) viewerPaneTree.getViewer()).addFilter(filter); - - } - - /* - * Table of the wizard page - */ - private void createTable(Composite comp) - { - viewerPaneTable = - new ViewerPane(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), - PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart()) { - public Viewer createViewer(Composite composite) { - return new TableViewer(composite); - } - }; - - viewerPaneTable.createControl(comp); - tableViewer = (TableViewer)viewerPaneTable.getViewer(); - - viewerPaneTable.setTitle(Messages.getString("ServiceDiscoveryWizardDisplayPage.PropertiesTableTitle"), null); //$NON-NLS-1$ - - - table = tableViewer.getTable(); - - TableLayout layout = new TableLayout(); - table.setLayout(layout); - - table.setHeaderVisible(true); - table.setLinesVisible(true); - - TableColumn objectColumn = new TableColumn(table, SWT.NONE); - layout.addColumnData(new ColumnWeightData(3, 100, true)); - objectColumn.setText(Messages.getString("ServiceDiscoveryWizardDisplayPage.KeyColumnLabel")); //$NON-NLS-1$ - objectColumn.setResizable(true); - - TableColumn selfColumn = new TableColumn(table, SWT.NONE); - layout.addColumnData(new ColumnWeightData(2, 100, true)); - selfColumn.setText(Messages.getString("ServiceDiscoveryWizardDisplayPage.ValueColumnLabel")); //$NON-NLS-1$ - selfColumn.setResizable(true); - - tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); - - tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); - - editor = new TableEditor(table); - editor.horizontalAlignment = SWT.LEFT; - editor.grabHorizontal = true; - table.addListener (SWT.MouseDown, new Listener () { - public void handleEvent (Event event) { - Rectangle clientArea = table.getClientArea (); - Point pt = new Point (event.x, event.y); - int index = table.getTopIndex (); - while (index < table.getItemCount ()) { - boolean visible = false; - final TableItem item = table.getItem (index); - for (int i=table.getColumnCount()-1; iService objects selected in the tree view from the specified host - * - * @param address Address of the host which services are queried - * @return Vector containing the Service selected - * - * @see Service - */ - public Vector getSelectedServices(String address) - { - Vector services = new Vector(); - - Object[] checkedElements = ((ContainerCheckedTreeViewer) viewerPaneTree.getViewer()).getCheckedElements(); - for(int i=0; i - * It provides a wizard page with text boxes and combo boxes to gather the following data: - *
      - *
    • Protocol - *
    • Transport - *
    • Query - *
    • Timeout - *
    • - * - * @see WizardPage - */ - -public class ServiceDiscoveryWizardMainPage extends WizardPage { - - // settings - private int timeOut = 500; //ms - - // widgets - private Combo queryCombo, transportCombo, protocolCombo; - private Text addressText, timeOutText; - private Button multicastButton; - - private String tempAddress; - - /** - * Wizard main page constructor - */ - public ServiceDiscoveryWizardMainPage() { - super("wizardPage1"); //$NON-NLS-1$ - setTitle(Messages.getString("ServiceDiscoveryWizardMainPage.WizardPageTitle")); //$NON-NLS-1$ - setDescription(Messages.getString("ServiceDiscoveryWizardMainPage.WizardPageDescription")); //$NON-NLS-1$ - setErrorMessage(Messages.getString("ServiceDiscoveryWizardMainPage.ProvideAddressError")); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite) - */ - public void createControl(Composite parent) { - - - Composite comp = new Composite(parent,SWT.NULL); - - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - comp.setLayout(layout); - - //GridData - GridData data = new GridData(); - data.horizontalAlignment = GridData.FILL; - data.grabExcessHorizontalSpace = true; - data.verticalAlignment = SWT.BEGINNING; - data.grabExcessVerticalSpace = false; - - comp.setLayoutData(data); - - new Label(comp,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.AddressLabel")); //$NON-NLS-1$ - - addressText = new Text(comp, SWT.BORDER | SWT.SINGLE | SWT.WRAP); - addressText.addModifyListener(new ModifyListener(){ - - public void modifyText(ModifyEvent e) { - if(((Text)e.getSource()).getText().equals("")) //$NON-NLS-1$ - { - setErrorMessage(Messages.getString("ServiceDiscoveryWizardMainPage.ProvideAddressError")); //$NON-NLS-1$ - setPageComplete(false); - } - else - { - setErrorMessage(null); - setPageComplete(true); - } - - } - }); - - addressText.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(addressText,"org.eclipse.tm.discovery.wizard.address"); //$NON-NLS-1$ - - Composite comp2 = new Composite(comp,SWT.NULL); - GridLayout layout2 = new GridLayout(); - layout2.numColumns = 2; - comp2.setLayout(layout2); - - multicastButton = new Button(comp2,SWT.CHECK); - - multicastButton.addSelectionListener(new SelectionListener(){ - - public void widgetDefaultSelected(SelectionEvent e) {} - - public void widgetSelected(SelectionEvent e) { - - Object src = e.getSource(); - if(((Button)src).getSelection()) - { - String multicastAddress = null; - - try { - multicastAddress = ProtocolFactory.getMulticastAddress(protocolCombo.getText(), transportCombo.getText()); - } catch (CoreException e1) {} - - if(multicastAddress!=null) - { - tempAddress = addressText.getText(); - addressText.setText(multicastAddress); - } - else - { - ((Button)src).setSelection(false); - } - } - else - { - if(tempAddress!=null) - addressText.setText(tempAddress); - } - } - }); - - new Label(comp2,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.MuticastAddressLabel0")); //$NON-NLS-1$ - - - new Label(comp,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.TransportLabel")); //$NON-NLS-1$ - - transportCombo = new Combo(comp, SWT.READ_ONLY); - transportCombo.setItems(TransportFactory.getTransportList()); - transportCombo.select(0); - - transportCombo.addSelectionListener(new SelectionListener(){ - - public void widgetDefaultSelected(SelectionEvent e) { - } - - public void widgetSelected(SelectionEvent event) { - - if(multicastButton.getSelection()) - { - String multicastAddress = null; - - try { - multicastAddress = ProtocolFactory.getMulticastAddress(protocolCombo.getText(), transportCombo.getText()); - } catch (CoreException e1) {} - - if(multicastAddress!=null) - { - tempAddress = addressText.getText(); - addressText.setText(multicastAddress); - } - } - } - }); - - transportCombo.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(transportCombo,"org.eclipse.tm.discovery.wizard.transport"); //$NON-NLS-1$ - - new Label(comp,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.ProtocolLabel")); //$NON-NLS-1$ - - protocolCombo = new Combo(comp, SWT.READ_ONLY); - protocolCombo.setItems(ProtocolFactory.getProtocolList()); - protocolCombo.select(0); - - protocolCombo.addSelectionListener(new SelectionListener(){ - - public void widgetDefaultSelected(SelectionEvent e) { - } - - public void widgetSelected(SelectionEvent event) { - String selectedProtocol = ((Combo)event.getSource()).getText(); - - String[] queries = new String[]{}; - try { - queries = ProtocolFactory.getQueryList(selectedProtocol); - } catch (CoreException e) {} - queryCombo.removeAll(); - queryCombo.setItems(queries); - queryCombo.select(0); - - if(multicastButton.getSelection()) - { - String multicastAddress = null; - - try { - multicastAddress = ProtocolFactory.getMulticastAddress(protocolCombo.getText(), transportCombo.getText()); - } catch (CoreException e1) {} - - if(multicastAddress!=null) - { - tempAddress = addressText.getText(); - addressText.setText(multicastAddress); - } - } - } - }); - - protocolCombo.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(protocolCombo,"org.eclipse.tm.discovery.wizard.protocol"); //$NON-NLS-1$ - - new Label(comp,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.DiscoveryQueryLabel")); //$NON-NLS-1$ - - queryCombo = new Combo(comp, SWT.NONE); - String[] queries = new String[]{}; - try { - queries = ProtocolFactory.getQueryList(protocolCombo.getText()); - } catch (CoreException e) {} - for (int i = 0; i < queries.length; i++) { - queryCombo.add(queries[i]); - } - queryCombo.select(0); - - queryCombo.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(queryCombo,"org.eclipse.tm.discovery.wizard.query"); //$NON-NLS-1$ - - new Label(comp,SWT.NULL).setText(Messages.getString("ServiceDiscoveryWizardMainPage.TimeOutLabel")); //$NON-NLS-1$ - - timeOutText = new Text(comp, SWT.BORDER | SWT.SINGLE | SWT.WRAP); - timeOutText.setText(Messages.getString("ServiceDiscoveryWizardMainPage.TimeOutValue")); //$NON-NLS-1$ - timeOutText.redraw(); - - timeOutText.setLayoutData(data); - PlatformUI.getWorkbench().getHelpSystem().setHelp(timeOutText,"org.eclipse.tm.discovery.wizard.timeout"); //$NON-NLS-1$ - - setPageComplete(false); - - setControl(comp); - - PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), "org.eclipse.tm.discovery.wizard.general"); //$NON-NLS-1$ - - - } - - /** - * Gets the service discovery command - * @return command introduced in the settings window - */ - public String getQuery() { - return queryCombo.getText(); - } - - /** - * Gets the service discovery address - * @return address introduced in the settings window - */ - public String getAddress() { - return addressText.getText(); - } - - /** - * Gets the service discovery transport - * @return address introduced in the settings window - */ - public String getTransport() { - return transportCombo.getText(); - } - - /** - * Gets the service discovery protocol - * @return address introduced in the settings window - */ - public String getProtocol() { - return protocolCombo.getText(); - } - - /** - * Gets the service discovery timeout - * @return timeout introduced in the settings window - */ - public int getTimeOut() { - - try{ - timeOut = Integer.parseInt(timeOutText.getText().trim()); - }catch(NumberFormatException e){} - - return timeOut; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.wizard.WizardPage#canFlipToNextPage() - */ - public boolean canFlipToNextPage() { - return isPageComplete(); - } - - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/messages.properties eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/messages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/messages.properties 2007-05-10 16:54:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/src/org/eclipse/tm/internal/discovery/wizard/messages.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -################################################################################## -# Copyright (c) 2006, 2007 Symbian Software Ltd. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Javier Montalvo Orus (Symbian) - initial API and implementation -################################################################################## - -ServiceDiscoveryWizardDisplayPage.WizardPageTitle=Service Discovery -ServiceDiscoveryWizardDisplayPage.WizardPageDescription=Select discovered services. -ServiceDiscoveryWizardMainPage.AddressLabel=Address: -ServiceDiscoveryWizardMainPage.TransportLabel=Transport: -ServiceDiscoveryWizardMainPage.ProtocolLabel=Protocol: -ServiceDiscoveryWizardMainPage.TimeOutLabel=Timeout (ms): -ServiceDiscoveryWizardMainPage.TimeOutValue=500 -ServiceDiscoveryWizardDisplayPage.ProtocolErrorTitle=Error -ServiceDiscoveryWizardMainPage.WizardPageDescription=Discover available services in the target device. -ServiceDiscoveryWizardMainPage.MuticastAddressLabel0=multicast address -ServiceDiscoveryWizardDisplayPage.ProtocolErrorMessage=Error loading protocol -ServiceDiscoveryWizardDisplayPage.TransportAddressNotFoundTitle=Error -ServiceDiscoveryWizardDisplayPage.TransportAddressNotFoundMessage=Error resolving address -ServiceDiscoveryWizardDisplayPage.TransportErrorTitle=Error -ServiceDiscoveryWizardDisplayPage.TransportErrorMessage=Error loading transport -ServiceDiscoveryWizardDisplayPage.RefreshButtonToolTipText=Refresh -ServiceDiscoveryWizardDisplayPage.ClearButtonToolTipText=Clear -ServiceDiscoveryWizardDisplayPage.ServicesTreeTitle=\ \ \ \ \ \ \ \ Services -ServiceDiscoveryWizardDisplayPage.PropertiesTableTitle=\ \ \ \ \ \ \ \ Properties -ServiceDiscoveryWizardDisplayPage.KeyColumnLabel=Key -ServiceDiscoveryWizardMainPage.WizardPageTitle=Service Discovery -ServiceDiscoveryWizardDisplayPage.ValueColumnLabel=Value -ServiceDiscoveryWizardMainPage.ProvideAddressError=Provide a valid address -ServiceDiscoveryWizardMainPage.DiscoveryQueryLabel=Discovery Query: -ServiceDiscoveryWizardDisplayPage.ShowAllServicesButtonText=Show all services diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/toc.xml eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/toc.xml --- eclipse-rse-3.1.2/org.eclipse.tm.discovery.wizard/toc.xml 2007-06-11 11:25:59.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.discovery.wizard/toc.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ - - - - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/.classpath eclipse-rse-3.4.2/org.eclipse.tm.rapi/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/.classpath 2008-03-27 20:06:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.rapi/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/.cvsignore 2008-05-21 12:56:49.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/.project eclipse-rse-3.4.2/org.eclipse.tm.rapi/.project --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/.project 2008-04-03 08:58:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,34 +0,0 @@ - - - org.eclipse.tm.rapi - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.rapi/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/.settings/org.eclipse.jdt.core.prefs 2008-03-28 13:22:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.rapi/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/META-INF/MANIFEST.MF 2008-06-30 14:48:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.rapi -Bundle-Version: 0.2.0.qualifier -Eclipse-PlatformFilter: (& (osgi.os=win32) (osgi.arch=x86)) -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Export-Package: org.eclipse.tm.internal.rapi;x-internal:=true, - org.eclipse.tm.rapi -Bundle-NativeCode: /lib/os/win32/x86/jrapi.dll;osname="Win32";processor=x86 -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/about.html eclipse-rse-3.4.2/org.eclipse.tm.rapi/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/about.html 2008-03-27 20:50:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

      About This Content

      - -

      March 27, 2008

      -

      License

      - -

      The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

      - -

      If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

      - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/README.txt eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/README.txt --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/README.txt 2008-04-02 11:59:12.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/README.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -Instructions for building the native library (jrapi.dll) for win32-x86 -====================================================================== - -Requirements: - Windows 2000/XP/Vista, - Visual Studio 2005 or newer, - Windows Mobile (PocketPC/Smartphone) SDK 5.0 or newer, - JDK 1.4 or newer - -Building the library: - 1. Open the solution file (jrapi.sln) in Visual Studio. - - 2. Navigate to "Tools" -> "Options", and expand "Projects and Solutions", - and click "VC++ Directories". - - 3. In "Show directories for:" select "Include files". - - 4. Add the Activesync include directory from your Windows Mobile SDK: - \Activesync\Inc - - 5. Add the JNI include directories from your JDK: - \include - \include\win32 - - 6. In "Show directories for:" select "Library files". - - 7. Add the Activesync library directory from your Windows Mobile SDK: - \Activesync\Lib - - 8. Navigate to "Build", and click "Rebuild Solution" to rebuild the library. - The output dll will be placed in \lib\os\win32\x86 - -Environment used for building the committed jrapi.dll: - Windows 2000 SP4 - Visual Studio 2005 Standard Edition - Windows Mobile 5.0 Pocket PC SDK - JDK 1.4.2_10 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/build.xml eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/build.xml --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/build.xml 2008-03-27 19:50:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/build.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ - - - - - Java wrappers for RAPI2 - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/jrapi.sln eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/jrapi.sln --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/jrapi.sln 2008-03-27 19:50:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/jrapi.sln 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jrapi", "jrapi.vcproj", "{7A9CC697-2EEB-40B9-B540-7FFC195B3D4F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7A9CC697-2EEB-40B9-B540-7FFC195B3D4F}.Debug|Win32.ActiveCfg = Debug|Win32 - {7A9CC697-2EEB-40B9-B540-7FFC195B3D4F}.Debug|Win32.Build.0 = Debug|Win32 - {7A9CC697-2EEB-40B9-B540-7FFC195B3D4F}.Release|Win32.ActiveCfg = Release|Win32 - {7A9CC697-2EEB-40B9-B540-7FFC195B3D4F}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/jrapi.vcproj eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/jrapi.vcproj --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/build/jrapi.vcproj 2008-04-09 12:55:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/build/jrapi.vcproj 1970-01-01 00:00:00.000000000 +0000 @@ -1,239 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/build.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/build.properties 2008-03-27 20:50:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -############################################################################### -# Copyright (c) 2008 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - add about.html -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - lib/,\ - plugin.properties -src.includes = about.html,\ - build/,\ - native/ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/Rapi.cpp eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/Rapi.cpp --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/Rapi.cpp 2008-04-09 12:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/Rapi.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ - -#define _WIN32_DCOM -#include -#include - -#include "org_eclipse_tm_rapi_Rapi.h" - -#define RAPI_NATIVE(func) Java_org_eclipse_tm_rapi_Rapi_##func - -JNIEXPORT jint JNICALL RAPI_NATIVE(CoInitializeEx) - (JNIEnv *env, jclass that, jint arg0, jint arg1) -{ - return (jint)CoInitializeEx((LPVOID)arg0, arg1); -} - -JNIEXPORT void JNICALL RAPI_NATIVE(CoUninitialize) - (JNIEnv *env, jclass that) -{ - CoUninitialize(); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CreateRapiDesktop) - (JNIEnv *env, jclass that, jintArray arg0) -{ - jint rc = 0; - jint *lparg0 = NULL; - if (arg0) { - lparg0 = env->GetIntArrayElements(arg0, NULL); - if (lparg0 == NULL) goto fail; - } - rc = CoCreateInstance(CLSID_RAPI, NULL, CLSCTX_INPROC_SERVER, - IID_IRAPIDesktop, (void**)lparg0); -fail: - if (arg0 && lparg0) env->ReleaseIntArrayElements(arg0, lparg0, 0); - return rc; -} - -JNIEXPORT void JNICALL RAPI_NATIVE(ReleaseIUnknown) - (JNIEnv *env, jclass that, jint arg0) -{ - if (arg0 == 0) return; - IUnknown *ptr = (IUnknown*) arg0; - ptr->Release(); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiDesktop.cpp eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiDesktop.cpp --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiDesktop.cpp 2008-03-27 19:50:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiDesktop.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ - -#include -#include - -#include "org_eclipse_tm_internal_rapi_RapiDesktop.h" - -#define RAPI_NATIVE(func) Java_org_eclipse_tm_internal_rapi_RapiDesktop_##func - -JNIEXPORT jint JNICALL RAPI_NATIVE(EnumDevices) - (JNIEnv *env, jobject that, jint arg0, jintArray arg1) -{ - jint rc = E_FAIL; - jint *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetIntArrayElements(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPIDesktop *pDesktop = (IRAPIDesktop*) arg0; - rc = pDesktop->EnumDevices((IRAPIEnumDevices**)lparg1); -fail: - if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0); - return rc; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiDevice.cpp eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiDevice.cpp --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiDevice.cpp 2008-03-27 19:50:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiDevice.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ - -#include -#include - -#include "org_eclipse_tm_internal_rapi_RapiDevice.h" - -#define RAPI_NATIVE(func) Java_org_eclipse_tm_internal_rapi_RapiDevice_##func - -struct RAPI_DEVICEINFO_FID_CACHE -{ - int cached; - jclass clazz; - jfieldID id, versionMajor, versionMinor, name, platform; -}; - -struct RAPI_CONNECTIONINFO_FID_CACHE -{ - int cached; - jclass clazz; - jfieldID connectionType; -}; - -RAPI_DEVICEINFO_FID_CACHE RAPI_DEVICEINFOFc; -RAPI_CONNECTIONINFO_FID_CACHE RAPI_CONNECTIONINFOFc; - -JNIEXPORT jint JNICALL RAPI_NATIVE(CreateSession) - (JNIEnv *env, jobject that, jint arg0, jintArray arg1) -{ - jint rc = E_FAIL; - jint *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetIntArrayElements(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPIDevice *pDevice = (IRAPIDevice*) arg0; - rc = pDevice->CreateSession((IRAPISession**)lparg1); -fail: - if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0); - return rc; -} - -void cacheRAPI_DEVICEINFOFields(JNIEnv *env, jobject lpObject) -{ - if (RAPI_DEVICEINFOFc.cached) return; - RAPI_DEVICEINFOFc.clazz = env->GetObjectClass(lpObject); - RAPI_DEVICEINFOFc.id = env->GetFieldID(RAPI_DEVICEINFOFc.clazz, "id", "Ljava/lang/String;"); - RAPI_DEVICEINFOFc.versionMajor = env->GetFieldID(RAPI_DEVICEINFOFc.clazz, "versionMajor", "I"); - RAPI_DEVICEINFOFc.versionMinor = env->GetFieldID(RAPI_DEVICEINFOFc.clazz, "versionMinor", "I"); - RAPI_DEVICEINFOFc.name = env->GetFieldID(RAPI_DEVICEINFOFc.clazz, "name", "Ljava/lang/String;"); - RAPI_DEVICEINFOFc.platform = env->GetFieldID(RAPI_DEVICEINFOFc.clazz, "platform", "Ljava/lang/String;"); - RAPI_DEVICEINFOFc.cached = 1; -} - -void cacheRAPI_CONNECTIONINFOFields(JNIEnv *env, jobject lpObject) -{ - if (RAPI_CONNECTIONINFOFc.cached) return; - RAPI_CONNECTIONINFOFc.clazz = env->GetObjectClass(lpObject); - RAPI_CONNECTIONINFOFc.connectionType = env->GetFieldID(RAPI_CONNECTIONINFOFc.clazz, "connectionType", "I"); - RAPI_CONNECTIONINFOFc.cached = 1; -} - -void setRAPI_DEVICEINFOFields(JNIEnv *env, jobject lpObject, RAPI_DEVICEINFO *pDeviceInfo) -{ - if (!RAPI_DEVICEINFOFc.cached) cacheRAPI_DEVICEINFOFields(env, lpObject); - WCHAR *pwszGUID = NULL; - if (StringFromCLSID(pDeviceInfo->DeviceId, &pwszGUID) == S_OK) { - int idLen = lstrlen(pwszGUID); - jstring id = env->NewString((const jchar*)pwszGUID, idLen); - env->SetObjectField(lpObject, RAPI_DEVICEINFOFc.id, id); - CoTaskMemFree(pwszGUID); - } - env->SetIntField(lpObject, RAPI_DEVICEINFOFc.versionMajor, (jint)pDeviceInfo->dwOsVersionMajor); - env->SetIntField(lpObject, RAPI_DEVICEINFOFc.versionMinor, (jint)pDeviceInfo->dwOsVersionMinor); - // create new String from the native BSTR - UINT nameLen = SysStringLen(pDeviceInfo->bstrName); - jstring name = env->NewString((const jchar*)pDeviceInfo->bstrName, nameLen); - env->SetObjectField(lpObject, RAPI_DEVICEINFOFc.name, name); - // create new String from the native BSTR - UINT platformLen = SysStringLen(pDeviceInfo->bstrPlatform); - jstring platform = env->NewString((const jchar*)pDeviceInfo->bstrPlatform, platformLen); - env->SetObjectField(lpObject, RAPI_DEVICEINFOFc.platform, platform); -} - -void setRAPI_CONNECTIONINFOFields(JNIEnv *env, jobject lpObject, RAPI_CONNECTIONINFO *pConnectionInfo) -{ - if (!RAPI_CONNECTIONINFOFc.cached) cacheRAPI_CONNECTIONINFOFields(env, lpObject); - env->SetIntField(lpObject, RAPI_CONNECTIONINFOFc.connectionType, (jint)pConnectionInfo->connectionType); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(GetDeviceInfo) - (JNIEnv *env, jobject that, jint arg0, jobject arg1) -{ - jint rc = E_FAIL; - RAPI_DEVICEINFO deviceInfo = {0}; - - if (arg0 == 0) return rc; - IRAPIDevice *pDevice = (IRAPIDevice*) arg0; - rc = pDevice->GetDeviceInfo(&deviceInfo); - if (rc != NOERROR) goto fail; - if (arg1) setRAPI_DEVICEINFOFields(env, arg1, &deviceInfo); -fail: - FreeDeviceInfoData(&deviceInfo); - return rc; -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(GetConnectionInfo) - (JNIEnv *env, jobject that, jint arg0, jobject arg1) -{ - jint rc = E_FAIL; - RAPI_CONNECTIONINFO connectionInfo = {0}; - - if (arg0 == 0) return rc; - IRAPIDevice *pDevice = (IRAPIDevice*) arg0; - rc = pDevice->GetConnectionInfo(&connectionInfo); - if (rc != NOERROR) goto fail; - if (arg1) setRAPI_CONNECTIONINFOFields(env, arg1, &connectionInfo); -fail: - return rc; -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(GetConnectStat) - (JNIEnv *env, jobject that, jint arg0, jintArray arg1) -{ - jint rc = E_FAIL; - jint *lparg1 = NULL; - RAPI_DEVICESTATUS devStatus; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetIntArrayElements(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPIDevice *pDevice = (IRAPIDevice*) arg0; - rc = pDevice->GetConnectStat(&devStatus); - lparg1[0] = (int)devStatus; -fail: - if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0); - return rc; -} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiEnumDevices.cpp eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiEnumDevices.cpp --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiEnumDevices.cpp 2008-03-27 19:50:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiEnumDevices.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ - -#include -#include - -#include "org_eclipse_tm_internal_rapi_RapiEnumDevices.h" - -#define RAPI_NATIVE(func) Java_org_eclipse_tm_internal_rapi_RapiEnumDevices_##func - -JNIEXPORT jint JNICALL RAPI_NATIVE(Next) - (JNIEnv *env, jobject that, jint arg0, jintArray arg1) -{ - jint rc = E_FAIL; - jint *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetIntArrayElements(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPIEnumDevices *pEnumDevices = (IRAPIEnumDevices*) arg0; - rc = pEnumDevices->Next((IRAPIDevice**)lparg1); -fail: - if (arg1 && lparg1) env->ReleaseIntArrayElements(arg1, lparg1, 0); - return rc; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiSession.cpp eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiSession.cpp --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/RapiSession.cpp 2008-06-30 11:12:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/RapiSession.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,611 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - * Radoslav Gerganov - [238773] [WinCE] Implement IRAPISession#CeRapiInvoke - *******************************************************************************/ - -#include -#include - -#include "org_eclipse_tm_internal_rapi_RapiSession.h" - -#define RAPI_NATIVE(func) Java_org_eclipse_tm_internal_rapi_RapiSession_##func - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeRapiInit) - (JNIEnv *env, jobject that, jint arg0) -{ - if (arg0 == 0) return E_FAIL; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeRapiInit(); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeRapiUninit) - (JNIEnv *env, jobject that, jint arg0) -{ - if (arg0 == 0) return E_FAIL; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeRapiUninit(); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeRapiGetError) - (JNIEnv *env, jobject that, jint arg0) -{ - if (arg0 == 0) return 0; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeRapiGetError(); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeGetLastError) - (JNIEnv *env, jobject that, jint arg0) -{ - if (arg0 == 0) return 0; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeGetLastError(); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeCreateFile) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jint arg2, jint arg3, jint arg4, jint arg5) -{ - HANDLE h = INVALID_HANDLE_VALUE; - const jchar *lparg1 = NULL; - - if (arg0 == 0) goto fail; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - h = pSession->CeCreateFile((LPCWSTR)lparg1, arg2, arg3, NULL, arg4, arg5, 0); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return (jint)h; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeReadFile) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jintArray arg4) -{ - jboolean rc = 0; - jbyte *lparg2 = NULL; - jint *lparg4 = NULL; - - if (arg0 == 0) return rc; - if (arg2) { - lparg2 = env->GetByteArrayElements(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - if (arg4) { - lparg4 = env->GetIntArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeReadFile((HANDLE)arg1, lparg2, arg3, (LPDWORD)lparg4, NULL); -fail: - if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0); - if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeWriteFile) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jbyteArray arg2, jint arg3, jintArray arg4) -{ - jboolean rc = 0; - jbyte *lparg2 = NULL; - jint *lparg4 = NULL; - - if (arg0 == 0) return rc; - if (arg2) { - lparg2 = env->GetByteArrayElements(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - if (arg4) { - lparg4 = env->GetIntArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeWriteFile((HANDLE)arg1, lparg2, arg3, (LPDWORD)lparg4, NULL); -fail: - if (arg2 && lparg2) env->ReleaseByteArrayElements(arg2, lparg2, 0); - if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeCloseHandle) - (JNIEnv *env, jobject that, jint arg0, jint arg1) -{ - if (arg0 == 0) return 0; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeCloseHandle((HANDLE)arg1); -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeCopyFile) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jstring arg2, jboolean arg3) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - const jchar *lparg2 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - if (arg2) { - lparg2 = env->GetStringChars(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeCopyFile((LPCWSTR)lparg1, (LPCWSTR)lparg2, arg3); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - if (arg2 && lparg2) env->ReleaseStringChars(arg2, lparg2); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeDeleteFile) - (JNIEnv *env, jobject that, jint arg0, jstring arg1) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeDeleteFile((LPCWSTR)lparg1); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeMoveFile) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jstring arg2) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - const jchar *lparg2 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - if (arg2) { - lparg2 = env->GetStringChars(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeMoveFile((LPCWSTR)lparg1, (LPCWSTR)lparg2); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - if (arg2 && lparg2) env->ReleaseStringChars(arg2, lparg2); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeCreateDirectory) - (JNIEnv *env, jobject that, jint arg0, jstring arg1) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeCreateDirectory((LPCWSTR) lparg1, NULL); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeRemoveDirectory) - (JNIEnv *env, jobject that, jint arg0, jstring arg1) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeRemoveDirectory((LPCWSTR) lparg1); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return rc; -} - -struct FIND_DATA_FID_CACHE -{ - int cached; - jclass clazz; - jfieldID fileAttributes, creationTime, lastAccessTime; - jfieldID lastWriteTime, fileSize, oid, fileName; -}; - -FIND_DATA_FID_CACHE FIND_DATAFc; - -void cacheFIND_DATAFields(JNIEnv *env, jobject lpObject) -{ - if (FIND_DATAFc.cached) return; - FIND_DATAFc.clazz = env->GetObjectClass(lpObject); - FIND_DATAFc.fileAttributes = env->GetFieldID(FIND_DATAFc.clazz, "fileAttributes", "I"); - FIND_DATAFc.creationTime = env->GetFieldID(FIND_DATAFc.clazz, "creationTime", "J"); - FIND_DATAFc.lastAccessTime = env->GetFieldID(FIND_DATAFc.clazz, "lastAccessTime", "J"); - FIND_DATAFc.lastWriteTime = env->GetFieldID(FIND_DATAFc.clazz, "lastWriteTime", "J"); - FIND_DATAFc.fileSize = env->GetFieldID(FIND_DATAFc.clazz, "fileSize", "J"); - FIND_DATAFc.oid = env->GetFieldID(FIND_DATAFc.clazz, "oid", "I"); - FIND_DATAFc.fileName = env->GetFieldID(FIND_DATAFc.clazz, "fileName", "Ljava/lang/String;"); - FIND_DATAFc.cached = 1; -} - -jlong FILETIME2jlong(FILETIME ft) -{ - jlong res = ft.dwHighDateTime; - // well, this is a potential overflow since jlong is signed - // we should take care about this in the java part - res <<= 32; - res |= ft.dwLowDateTime; - return res; -} - -LPFILETIME jlong2FILETIME(jlong jl, LPFILETIME ft) -{ - ft->dwLowDateTime = (DWORD)jl; - jl >>= 32; - ft->dwHighDateTime = (DWORD)jl; - return ft; -} - -void setFIND_DATAFields(JNIEnv *env, jobject lpObject, CE_FIND_DATA *pFindData) -{ - if (!FIND_DATAFc.cached) cacheFIND_DATAFields(env, lpObject); - env->SetIntField(lpObject, FIND_DATAFc.fileAttributes, (jint)pFindData->dwFileAttributes); - - jlong creationTime = FILETIME2jlong(pFindData->ftCreationTime); - env->SetLongField(lpObject, FIND_DATAFc.creationTime, creationTime); - - jlong lastAccessTime = FILETIME2jlong(pFindData->ftLastAccessTime); - env->SetLongField(lpObject, FIND_DATAFc.lastAccessTime, lastAccessTime); - - jlong lastWriteTime = FILETIME2jlong(pFindData->ftLastWriteTime); - env->SetLongField(lpObject, FIND_DATAFc.lastWriteTime, lastWriteTime); - - jlong fileSize = pFindData->nFileSizeHigh; - fileSize <<= 32; - fileSize |= pFindData->nFileSizeLow; - env->SetLongField(lpObject, FIND_DATAFc.fileSize, fileSize); - - int fileNameLen = lstrlen(pFindData->cFileName); - jstring fileName = env->NewString((const jchar*)pFindData->cFileName, fileNameLen); - env->SetObjectField(lpObject, FIND_DATAFc.fileName, fileName); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeFindFirstFile) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jobject arg2) -{ - HANDLE h = INVALID_HANDLE_VALUE; - CE_FIND_DATA findData; - const jchar *lparg1 = NULL; - - if (arg0 == 0) goto fail; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - h = pSession->CeFindFirstFile((LPCWSTR)lparg1, &findData); - if (h != INVALID_HANDLE_VALUE && arg2) setFIND_DATAFields(env, arg2, &findData); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return (jint)h; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeFindNextFile) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jobject arg2) -{ - jboolean rc = 0; - CE_FIND_DATA findData; - - if (arg0 == 0) return 0; - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeFindNextFile((HANDLE)arg1, &findData); - if (rc && arg2) setFIND_DATAFields(env, arg2, &findData); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeFindClose) - (JNIEnv *env, jobject that, jint arg0, jint arg1) -{ - if (arg0 == 0) return 0; - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeFindClose((HANDLE)arg1); -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeFindAllFiles) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jint arg2, jintArray arg3, jintArray arg4) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - jint *lparg3 = NULL; - jint *lparg4 = NULL; - - if (arg0 == 0) goto fail; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - if (arg3) { - lparg3 = env->GetIntArrayElements(arg3, NULL); - if (lparg3 == NULL) goto fail; - } - if (arg4) { - lparg4 = env->GetIntArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeFindAllFiles((LPCWSTR)lparg1, arg2, (LPDWORD)lparg3, (LPLPCE_FIND_DATA)lparg4); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - if (arg3 && lparg3) env->ReleaseIntArrayElements(arg3, lparg3, 0); - if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0); - return rc; -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeFindAllFilesEx) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jint arg2, jobjectArray arg3) -{ - if (arg0 == 0 || arg2 == 0 || arg3 == 0) return E_FAIL; - LPCE_FIND_DATA findDataArray = (LPCE_FIND_DATA) arg2; - for (int i = 0 ; i < arg1 ; i++) { - jobject obj = env->GetObjectArrayElement(arg3, i); - setFIND_DATAFields(env, obj, &findDataArray[i]); - } - IRAPISession *pSession = (IRAPISession*) arg0; - return pSession->CeRapiFreeBuffer(findDataArray); -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeGetFileAttributes) - (JNIEnv *env, jobject that, jint arg0, jstring arg1) -{ - jint rc = 0xFFFFFFFF; - const jchar *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeGetFileAttributes((LPCWSTR)lparg1); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return rc; -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeGetFileSize) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jintArray arg2) -{ - jint rc = INVALID_FILE_SIZE; - jint *lparg2 = NULL; - - if (arg0 == 0) return rc; - if (arg2) { - lparg2 = env->GetIntArrayElements(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeGetFileSize((HANDLE)arg1, (LPDWORD)lparg2); -fail: - if (arg2 && lparg2) env->ReleaseIntArrayElements(arg2, lparg2, 0); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeGetFileTime) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jlongArray arg2, jlongArray arg3, jlongArray arg4) -{ - jboolean rc = 0; - jlong *lparg2 = NULL; - jlong *lparg3 = NULL; - jlong *lparg4 = NULL; - FILETIME crTime, laTime, lwTime; - - if (arg0 == 0) return rc; - if (arg2) { - lparg2 = env->GetLongArrayElements(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - if (arg3) { - lparg3 = env->GetLongArrayElements(arg3, NULL); - if (lparg3 == NULL) goto fail; - } - if (arg4) { - lparg4 = env->GetLongArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeGetFileTime((HANDLE)arg1, &crTime, &laTime, &lwTime); - if (!rc) goto fail; - lparg2[0] = FILETIME2jlong(crTime); - lparg3[0] = FILETIME2jlong(laTime); - lparg4[0] = FILETIME2jlong(lwTime); -fail: - if (arg2 && lparg2) env->ReleaseLongArrayElements(arg2, lparg2, 0); - if (arg3 && lparg3) env->ReleaseLongArrayElements(arg3, lparg3, 0); - if (arg4 && lparg4) env->ReleaseLongArrayElements(arg4, lparg4, 0); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeSetFileAttributes) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jint arg2) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - - if (arg0 == 0) return rc; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeSetFileAttributes((LPCWSTR)lparg1, arg2); -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - return rc; -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeSetFileTime) - (JNIEnv *env, jobject that, jint arg0, jint arg1, jlongArray arg2, jlongArray arg3, jlongArray arg4) -{ - jboolean rc = 0; - FILETIME crTime, laTime, lwTime; - LPFILETIME pcrTime = NULL, plaTime = NULL, plwTime = NULL; - jlong *lparg2 = NULL, *lparg3 = NULL, *lparg4 = NULL; - - if (arg0 == 0) return 0; - if (arg2) { - lparg2 = env->GetLongArrayElements(arg2, NULL); - if (lparg2 == NULL) goto fail; - pcrTime = jlong2FILETIME(lparg2[0], &crTime); - } - if (arg3) { - lparg3 = env->GetLongArrayElements(arg3, NULL); - if (lparg3 == NULL) goto fail; - plaTime = jlong2FILETIME(lparg3[0], &laTime); - } - if (arg4) { - lparg4 = env->GetLongArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - plwTime = jlong2FILETIME(lparg4[0], &lwTime); - } - - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeSetFileTime((HANDLE)arg1, pcrTime, plaTime, plwTime); -fail: - if (arg2 && lparg2) env->ReleaseLongArrayElements(arg2, lparg2, 0); - if (arg3 && lparg3) env->ReleaseLongArrayElements(arg3, lparg3, 0); - if (arg4 && lparg4) env->ReleaseLongArrayElements(arg4, lparg4, 0); - return rc; -} - -struct PROCESS_INFORMATION_FID_CACHE -{ - int cached; - jclass clazz; - jfieldID hProcess, hThread; - jfieldID dwProcessId, dwThreadId; -}; - -PROCESS_INFORMATION_FID_CACHE PROCESS_INFORMATIONFc; - -void cachePROCESS_INFORMATIONFields(JNIEnv *env, jobject lpObject) -{ - if (PROCESS_INFORMATIONFc.cached) return; - PROCESS_INFORMATIONFc.clazz = env->GetObjectClass(lpObject); - PROCESS_INFORMATIONFc.hProcess = env->GetFieldID(PROCESS_INFORMATIONFc.clazz, "hProcess", "I"); - PROCESS_INFORMATIONFc.hThread = env->GetFieldID(PROCESS_INFORMATIONFc.clazz, "hThread", "I"); - PROCESS_INFORMATIONFc.dwProcessId = env->GetFieldID(PROCESS_INFORMATIONFc.clazz, "dwProcessId", "I"); - PROCESS_INFORMATIONFc.dwThreadId = env->GetFieldID(PROCESS_INFORMATIONFc.clazz, "dwThreadId", "I"); - PROCESS_INFORMATIONFc.cached = 1; -} - -void setPROCESS_INFORMATIONFields(JNIEnv *env, jobject lpObject, PROCESS_INFORMATION *pi) -{ - if (!PROCESS_INFORMATIONFc.cached) cachePROCESS_INFORMATIONFields(env, lpObject); - env->SetIntField(lpObject, PROCESS_INFORMATIONFc.hProcess, (jint)pi->hProcess); - env->SetIntField(lpObject, PROCESS_INFORMATIONFc.hThread, (jint)pi->hThread); - env->SetIntField(lpObject, PROCESS_INFORMATIONFc.dwProcessId, (jint)pi->dwProcessId); - env->SetIntField(lpObject, PROCESS_INFORMATIONFc.dwThreadId, (jint)pi->dwThreadId); -} - -JNIEXPORT jboolean JNICALL RAPI_NATIVE(CeCreateProcess) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jstring arg2, jint arg3, jobject arg4) -{ - jboolean rc = 0; - const jchar *lparg1 = NULL; - const jchar *lparg2 = NULL; - PROCESS_INFORMATION pi; - - if (arg0 == 0) return 0; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - if (arg2) { - lparg2 = env->GetStringChars(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - rc = pSession->CeCreateProcess((LPCWSTR)lparg1, (LPCWSTR)lparg2, NULL, NULL, FALSE, arg3, NULL, NULL, NULL, &pi); - if (!rc) goto fail; - if (arg4) setPROCESS_INFORMATIONFields(env, arg4, &pi); - -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - if (arg2 && lparg2) env->ReleaseStringChars(arg2, lparg2); - return rc; -} - -JNIEXPORT jint JNICALL RAPI_NATIVE(CeRapiInvoke) - (JNIEnv *env, jobject that, jint arg0, jstring arg1, jstring arg2, jbyteArray arg3, jintArray arg4) -{ - const jchar *lparg1 = NULL; - const jchar *lparg2 = NULL; - jbyte *lparg3 = NULL; - jint *lparg4 = NULL; - int res = -1; - jsize cbInput = 0; - - if (arg0 == 0) return -1; - if (arg1) { - lparg1 = env->GetStringChars(arg1, NULL); - if (lparg1 == NULL) goto fail; - } - if (arg2) { - lparg2 = env->GetStringChars(arg2, NULL); - if (lparg2 == NULL) goto fail; - } - if (arg3) { - lparg3 = env->GetByteArrayElements(arg3, NULL); - if (lparg3 == NULL) goto fail; - cbInput = env->GetArrayLength(arg3); - } - if (arg4) { - lparg4 = env->GetIntArrayElements(arg4, NULL); - if (lparg4 == NULL) goto fail; - } - IRAPISession *pSession = (IRAPISession*) arg0; - res = pSession->CeRapiInvoke((LPCWSTR)lparg1, (LPCWSTR)lparg2, cbInput, - (BYTE*)lparg3, (DWORD*) lparg4, (BYTE**) (lparg4 + 1), NULL, 0); - -fail: - if (arg1 && lparg1) env->ReleaseStringChars(arg1, lparg1); - if (arg2 && lparg2) env->ReleaseStringChars(arg2, lparg2); - if (arg3 && lparg3) env->ReleaseByteArrayElements(arg3, lparg3, 0); - if (arg4 && lparg4) env->ReleaseIntArrayElements(arg4, lparg4, 0); - return res; -} - -JNIEXPORT void JNICALL RAPI_NATIVE(CeRapiInvokeEx) - (JNIEnv *env, jobject that, jint arg0, jbyteArray arg1) -{ - jbyte *lparg1 = NULL; - jsize len = 0; - - if (arg1 == 0) return; - lparg1 = env->GetByteArrayElements(arg1, NULL); - if (lparg1 == NULL) return; - len = env->GetArrayLength(arg1); - memcpy(lparg1, (void*)arg0, len); - env->ReleaseByteArrayElements(arg1, lparg1, 0); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDesktop.h eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDesktop.h --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDesktop.h 2008-04-07 12:50:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDesktop.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_tm_internal_rapi_RapiDesktop */ - -#ifndef _Included_org_eclipse_tm_internal_rapi_RapiDesktop -#define _Included_org_eclipse_tm_internal_rapi_RapiDesktop -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_tm_internal_rapi_RapiDesktop - * Method: EnumDevices - * Signature: (I[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiDesktop_EnumDevices - (JNIEnv *, jobject, jint, jintArray); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDevice.h eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDevice.h --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDevice.h 2008-04-07 12:50:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiDevice.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_tm_internal_rapi_RapiDevice */ - -#ifndef _Included_org_eclipse_tm_internal_rapi_RapiDevice -#define _Included_org_eclipse_tm_internal_rapi_RapiDevice -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_tm_internal_rapi_RapiDevice - * Method: CreateSession - * Signature: (I[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiDevice_CreateSession - (JNIEnv *, jobject, jint, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiDevice - * Method: GetConnectionInfo - * Signature: (ILorg/eclipse/tm/rapi/RapiConnectionInfo;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiDevice_GetConnectionInfo - (JNIEnv *, jobject, jint, jobject); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiDevice - * Method: GetDeviceInfo - * Signature: (ILorg/eclipse/tm/rapi/RapiDeviceInfo;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiDevice_GetDeviceInfo - (JNIEnv *, jobject, jint, jobject); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiDevice - * Method: GetConnectStat - * Signature: (I[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiDevice_GetConnectStat - (JNIEnv *, jobject, jint, jintArray); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiEnumDevices.h eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiEnumDevices.h --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiEnumDevices.h 2008-04-07 12:50:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiEnumDevices.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_tm_internal_rapi_RapiEnumDevices */ - -#ifndef _Included_org_eclipse_tm_internal_rapi_RapiEnumDevices -#define _Included_org_eclipse_tm_internal_rapi_RapiEnumDevices -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_tm_internal_rapi_RapiEnumDevices - * Method: Next - * Signature: (I[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiEnumDevices_Next - (JNIEnv *, jobject, jint, jintArray); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiSession.h eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiSession.h --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiSession.h 2008-06-30 11:12:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_internal_rapi_RapiSession.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,232 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - * Radoslav Gerganov - [238773] [WinCE] Implement IRAPISession#CeRapiInvoke - *******************************************************************************/ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_tm_internal_rapi_RapiSession */ - -#ifndef _Included_org_eclipse_tm_internal_rapi_RapiSession -#define _Included_org_eclipse_tm_internal_rapi_RapiSession -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRapiInit - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRapiInit - (JNIEnv *, jobject, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRapiUninit - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRapiUninit - (JNIEnv *, jobject, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRapiGetError - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRapiGetError - (JNIEnv *, jobject, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeGetLastError - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeGetLastError - (JNIEnv *, jobject, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeCreateFile - * Signature: (ILjava/lang/String;IIII)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeCreateFile - (JNIEnv *, jobject, jint, jstring, jint, jint, jint, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeReadFile - * Signature: (II[BI[I)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeReadFile - (JNIEnv *, jobject, jint, jint, jbyteArray, jint, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeWriteFile - * Signature: (II[BI[I)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeWriteFile - (JNIEnv *, jobject, jint, jint, jbyteArray, jint, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeCloseHandle - * Signature: (II)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeCloseHandle - (JNIEnv *, jobject, jint, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeCopyFile - * Signature: (ILjava/lang/String;Ljava/lang/String;Z)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeCopyFile - (JNIEnv *, jobject, jint, jstring, jstring, jboolean); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeDeleteFile - * Signature: (ILjava/lang/String;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeDeleteFile - (JNIEnv *, jobject, jint, jstring); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeMoveFile - * Signature: (ILjava/lang/String;Ljava/lang/String;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeMoveFile - (JNIEnv *, jobject, jint, jstring, jstring); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeCreateDirectory - * Signature: (ILjava/lang/String;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeCreateDirectory - (JNIEnv *, jobject, jint, jstring); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRemoveDirectory - * Signature: (ILjava/lang/String;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRemoveDirectory - (JNIEnv *, jobject, jint, jstring); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeFindFirstFile - * Signature: (ILjava/lang/String;Lorg/eclipse/tm/rapi/RapiFindData;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeFindFirstFile - (JNIEnv *, jobject, jint, jstring, jobject); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeFindNextFile - * Signature: (IILorg/eclipse/tm/rapi/RapiFindData;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeFindNextFile - (JNIEnv *, jobject, jint, jint, jobject); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeFindClose - * Signature: (II)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeFindClose - (JNIEnv *, jobject, jint, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeFindAllFiles - * Signature: (ILjava/lang/String;I[I[I)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeFindAllFiles - (JNIEnv *, jobject, jint, jstring, jint, jintArray, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeFindAllFilesEx - * Signature: (III[Lorg/eclipse/tm/rapi/RapiFindData;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeFindAllFilesEx - (JNIEnv *, jobject, jint, jint, jint, jobjectArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeGetFileAttributes - * Signature: (ILjava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeGetFileAttributes - (JNIEnv *, jobject, jint, jstring); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeGetFileSize - * Signature: (II[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeGetFileSize - (JNIEnv *, jobject, jint, jint, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeGetFileTime - * Signature: (II[J[J[J)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeGetFileTime - (JNIEnv *, jobject, jint, jint, jlongArray, jlongArray, jlongArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeSetFileAttributes - * Signature: (ILjava/lang/String;I)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeSetFileAttributes - (JNIEnv *, jobject, jint, jstring, jint); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeSetFileTime - * Signature: (II[J[J[J)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeSetFileTime - (JNIEnv *, jobject, jint, jint, jlongArray, jlongArray, jlongArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeCreateProcess - * Signature: (ILjava/lang/String;Ljava/lang/String;ILorg/eclipse/tm/rapi/ProcessInformation;)Z - */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeCreateProcess - (JNIEnv *, jobject, jint, jstring, jstring, jint, jobject); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRapiInvoke - * Signature: (ILjava/lang/String;Ljava/lang/String;[B[I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRapiInvoke - (JNIEnv *, jobject, jint, jstring, jstring, jbyteArray, jintArray); - -/* - * Class: org_eclipse_tm_internal_rapi_RapiSession - * Method: CeRapiInvokeEx - * Signature: (I[B)V - */ -JNIEXPORT void JNICALL Java_org_eclipse_tm_internal_rapi_RapiSession_CeRapiInvokeEx - (JNIEnv *, jobject, jint, jbyteArray); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_rapi_Rapi.h eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_rapi_Rapi.h --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/native/org_eclipse_tm_rapi_Rapi.h 2008-04-09 12:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/native/org_eclipse_tm_rapi_Rapi.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,147 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_eclipse_tm_rapi_Rapi */ - -#ifndef _Included_org_eclipse_tm_rapi_Rapi -#define _Included_org_eclipse_tm_rapi_Rapi -#ifdef __cplusplus -extern "C" { -#endif -#undef org_eclipse_tm_rapi_Rapi_NOERROR -#define org_eclipse_tm_rapi_Rapi_NOERROR 0L -#undef org_eclipse_tm_rapi_Rapi_GENERIC_READ -#define org_eclipse_tm_rapi_Rapi_GENERIC_READ -2147483648L -#undef org_eclipse_tm_rapi_Rapi_GENERIC_WRITE -#define org_eclipse_tm_rapi_Rapi_GENERIC_WRITE 1073741824L -#undef org_eclipse_tm_rapi_Rapi_FILE_SHARE_READ -#define org_eclipse_tm_rapi_Rapi_FILE_SHARE_READ 1L -#undef org_eclipse_tm_rapi_Rapi_FILE_SHARE_WRITE -#define org_eclipse_tm_rapi_Rapi_FILE_SHARE_WRITE 2L -#undef org_eclipse_tm_rapi_Rapi_CREATE_NEW -#define org_eclipse_tm_rapi_Rapi_CREATE_NEW 1L -#undef org_eclipse_tm_rapi_Rapi_CREATE_ALWAYS -#define org_eclipse_tm_rapi_Rapi_CREATE_ALWAYS 2L -#undef org_eclipse_tm_rapi_Rapi_OPEN_EXISTING -#define org_eclipse_tm_rapi_Rapi_OPEN_EXISTING 3L -#undef org_eclipse_tm_rapi_Rapi_OPEN_ALWAYS -#define org_eclipse_tm_rapi_Rapi_OPEN_ALWAYS 4L -#undef org_eclipse_tm_rapi_Rapi_TRUNCATE_EXISTING -#define org_eclipse_tm_rapi_Rapi_TRUNCATE_EXISTING 5L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ARCHIVE -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ARCHIVE 32L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_COMPRESSED -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_COMPRESSED 2048L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_DIRECTORY -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_DIRECTORY 16L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ENCRYPTED -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ENCRYPTED 16384L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_HIDDEN -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_HIDDEN 2L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_INROM -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_INROM 64L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_NORMAL -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_NORMAL 128L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_READONLY -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_READONLY 1L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_REPARSE_POINT -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_REPARSE_POINT 1024L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ROMMODULE -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_ROMMODULE 8192L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_SPARSE_FILE -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_SPARSE_FILE 512L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_SYSTEM -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_SYSTEM 4L -#undef org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_TEMPORARY -#define org_eclipse_tm_rapi_Rapi_FILE_ATTRIBUTE_TEMPORARY 256L -#undef org_eclipse_tm_rapi_Rapi_FILE_FLAG_WRITE_THROUGH -#define org_eclipse_tm_rapi_Rapi_FILE_FLAG_WRITE_THROUGH -2147483648L -#undef org_eclipse_tm_rapi_Rapi_FILE_FLAG_OVERLAPPED -#define org_eclipse_tm_rapi_Rapi_FILE_FLAG_OVERLAPPED 1073741824L -#undef org_eclipse_tm_rapi_Rapi_FILE_FLAG_RANDOM_ACCESS -#define org_eclipse_tm_rapi_Rapi_FILE_FLAG_RANDOM_ACCESS 268435456L -#undef org_eclipse_tm_rapi_Rapi_FILE_FLAG_SEQUENTIAL_SCAN -#define org_eclipse_tm_rapi_Rapi_FILE_FLAG_SEQUENTIAL_SCAN 134217728L -#undef org_eclipse_tm_rapi_Rapi_FAF_ATTRIB_CHILDREN -#define org_eclipse_tm_rapi_Rapi_FAF_ATTRIB_CHILDREN 4096L -#undef org_eclipse_tm_rapi_Rapi_FAF_ATTRIB_NO_HIDDEN -#define org_eclipse_tm_rapi_Rapi_FAF_ATTRIB_NO_HIDDEN 8192L -#undef org_eclipse_tm_rapi_Rapi_FAF_FOLDERS_ONLY -#define org_eclipse_tm_rapi_Rapi_FAF_FOLDERS_ONLY 16384L -#undef org_eclipse_tm_rapi_Rapi_FAF_NO_HIDDEN_SYS_ROMMODULES -#define org_eclipse_tm_rapi_Rapi_FAF_NO_HIDDEN_SYS_ROMMODULES 32768L -#undef org_eclipse_tm_rapi_Rapi_FAF_GETTARGET -#define org_eclipse_tm_rapi_Rapi_FAF_GETTARGET 65536L -#undef org_eclipse_tm_rapi_Rapi_FAF_ATTRIBUTES -#define org_eclipse_tm_rapi_Rapi_FAF_ATTRIBUTES 1L -#undef org_eclipse_tm_rapi_Rapi_FAF_CREATION_TIME -#define org_eclipse_tm_rapi_Rapi_FAF_CREATION_TIME 2L -#undef org_eclipse_tm_rapi_Rapi_FAF_LASTACCESS_TIME -#define org_eclipse_tm_rapi_Rapi_FAF_LASTACCESS_TIME 4L -#undef org_eclipse_tm_rapi_Rapi_FAF_LASTWRITE_TIME -#define org_eclipse_tm_rapi_Rapi_FAF_LASTWRITE_TIME 8L -#undef org_eclipse_tm_rapi_Rapi_FAF_SIZE_HIGH -#define org_eclipse_tm_rapi_Rapi_FAF_SIZE_HIGH 16L -#undef org_eclipse_tm_rapi_Rapi_FAF_SIZE_LOW -#define org_eclipse_tm_rapi_Rapi_FAF_SIZE_LOW 32L -#undef org_eclipse_tm_rapi_Rapi_FAF_OID -#define org_eclipse_tm_rapi_Rapi_FAF_OID 64L -#undef org_eclipse_tm_rapi_Rapi_FAF_NAME -#define org_eclipse_tm_rapi_Rapi_FAF_NAME 128L -#undef org_eclipse_tm_rapi_Rapi_INVALID_HANDLE_VALUE -#define org_eclipse_tm_rapi_Rapi_INVALID_HANDLE_VALUE -1L -#undef org_eclipse_tm_rapi_Rapi_TIME_DIFF -#define org_eclipse_tm_rapi_Rapi_TIME_DIFF 11644473600000i64 -#undef org_eclipse_tm_rapi_Rapi_COINIT_MULTITHREADED -#define org_eclipse_tm_rapi_Rapi_COINIT_MULTITHREADED 0L -#undef org_eclipse_tm_rapi_Rapi_COINIT_APARTMENTTHREADED -#define org_eclipse_tm_rapi_Rapi_COINIT_APARTMENTTHREADED 2L -#undef org_eclipse_tm_rapi_Rapi_COINIT_DISABLE_OLE1DDE -#define org_eclipse_tm_rapi_Rapi_COINIT_DISABLE_OLE1DDE 4L -#undef org_eclipse_tm_rapi_Rapi_COINIT_SPEED_OVER_MEMORY -#define org_eclipse_tm_rapi_Rapi_COINIT_SPEED_OVER_MEMORY 8L -/* - * Class: org_eclipse_tm_rapi_Rapi - * Method: CoInitializeEx - * Signature: (II)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_rapi_Rapi_CoInitializeEx - (JNIEnv *, jclass, jint, jint); - -/* - * Class: org_eclipse_tm_rapi_Rapi - * Method: CoUninitialize - * Signature: ()V - */ -JNIEXPORT void JNICALL Java_org_eclipse_tm_rapi_Rapi_CoUninitialize - (JNIEnv *, jclass); - -/* - * Class: org_eclipse_tm_rapi_Rapi - * Method: CreateRapiDesktop - * Signature: ([I)I - */ -JNIEXPORT jint JNICALL Java_org_eclipse_tm_rapi_Rapi_CreateRapiDesktop - (JNIEnv *, jclass, jintArray); - -/* - * Class: org_eclipse_tm_rapi_Rapi - * Method: ReleaseIUnknown - * Signature: (I)V - */ -JNIEXPORT void JNICALL Java_org_eclipse_tm_rapi_Rapi_ReleaseIUnknown - (JNIEnv *, jclass, jint); - -#ifdef __cplusplus -} -#endif -#endif diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/plugin.properties 2009-05-25 21:22:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - Rename pluginName, add PII NLS tags -############################################################################### - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -providerName = Eclipse.org - DSDP -pluginName = RAPI2 Java wrappers (Incubation) \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDesktop.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDesktop.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDesktop.java 2008-04-09 12:55:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDesktop.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.rapi; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiEnumDevices; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiException; - -/** - * Implementation of IRapiDesktop. - * - * @author Radoslav Gerganov - */ -public class RapiDesktop extends IRapiDesktop { - - public RapiDesktop(int addr) { - super(addr); - } - - public IRapiEnumDevices enumDevices() throws RapiException { - int[] ppIEnum = new int[1]; - int rc = EnumDevices(addr, ppIEnum); - if (rc != Rapi.NOERROR) { - throw new RapiException("EnumDevices failed", rc); //$NON-NLS-1$ - } - return new RapiEnumDevices(ppIEnum[0]); - } - - public String toString() { - return "[RapiDesktop] addr: " + Integer.toHexString(addr); //$NON-NLS-1$ - } - - private final native int EnumDevices(int addr, int[] ppIEnum); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDevice.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDevice.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDevice.java 2008-04-09 12:55:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiDevice.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.rapi; - -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiConnectionInfo; -import org.eclipse.tm.rapi.RapiDeviceInfo; -import org.eclipse.tm.rapi.RapiException; - -/** - * Implementation of IRapiDevice. - * - * @author Radoslav Gerganov - */ -public class RapiDevice extends IRapiDevice { - - public RapiDevice(int addr) { - super(addr); - } - - public IRapiSession createSession() throws RapiException { - int[] ppISession = new int[1]; - int rc = CreateSession(addr, ppISession); - if (rc != Rapi.NOERROR) { - throw new RapiException("CreateSession failed", rc); //$NON-NLS-1$ - } - return new RapiSession(ppISession[0]); - } - - public RapiConnectionInfo getConnectionInfo() throws RapiException { - RapiConnectionInfo connInfo = new RapiConnectionInfo(); - int rc = GetConnectionInfo(addr, connInfo); - if (rc != Rapi.NOERROR) { - throw new RapiException("GetConnectionInfo failed", rc); //$NON-NLS-1$ - } - return connInfo; - } - - public RapiDeviceInfo getDeviceInfo() throws RapiException { - RapiDeviceInfo devInfo = new RapiDeviceInfo(); - int rc = GetDeviceInfo(addr, devInfo); - if (rc != Rapi.NOERROR) { - throw new RapiException("GetDeviceInfo failed", rc); //$NON-NLS-1$ - } - return devInfo; - } - - public boolean isConnected() throws RapiException { - int[] status = new int[1]; - int rc = GetConnectStat(addr, status); - if (rc != Rapi.NOERROR) { - throw new RapiException("GetConnectStat failed", rc); //$NON-NLS-1$ - } - return status[0] == 1; - } - - public String toString() { - return "[RapiDevice] addr: " + Integer.toHexString(addr); //$NON-NLS-1$ - } - - private final native int CreateSession(int addr, int[] ppISession); - private final native int GetConnectionInfo(int addr, RapiConnectionInfo pConnInfo); - private final native int GetDeviceInfo(int addr, RapiDeviceInfo pDevInfo); - private final native int GetConnectStat(int addr, int[] status); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiEnumDevices.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiEnumDevices.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiEnumDevices.java 2008-04-09 12:55:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiEnumDevices.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.rapi; - -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.IRapiEnumDevices; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiException; - -/** - * Implementation of IRapiEnumDevices. - * - * @author Radoslav Gerganov - */ -public class RapiEnumDevices extends IRapiEnumDevices { - - public RapiEnumDevices(int addr) { - super(addr); - } - - public IRapiDevice next() throws RapiException { - int[] ppIDevice = new int[1]; - int rc = Next(addr, ppIDevice); - if (rc != Rapi.NOERROR) { - throw new RapiException("Next failed", rc); //$NON-NLS-1$ - } - return new RapiDevice(ppIDevice[0]); - } - - public String toString() { - return "[RapiEnumDevices] addr: " + Integer.toHexString(addr); //$NON-NLS-1$ - } - - private final native int Next(int addr, int[] ppIDevice); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiSession.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiSession.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiSession.java 2008-06-30 11:12:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/internal/rapi/RapiSession.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,365 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - * Radoslav Gerganov - [238773] [WinCE] Implement IRAPISession#CeRapiInvoke - *******************************************************************************/ -package org.eclipse.tm.internal.rapi; - -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.ProcessInformation; -import org.eclipse.tm.rapi.RapiException; -import org.eclipse.tm.rapi.RapiFindData; - - -/** - * Implementation of IRapiSession. - * - * @author Radoslav Gerganov - */ -public class RapiSession extends IRapiSession { - - private RapiFindData[] EMPTY_FIND_DATA_ARR = new RapiFindData[0]; - - public RapiSession(int addr) { - super(addr); - } - - private int getError() { - int err = CeRapiGetError(addr); - if (err >= 0) { - err = CeGetLastError(addr); - } - return err; - } - - public void init() throws RapiException { - int rc = CeRapiInit(addr); - if (rc != Rapi.NOERROR) { - throw new RapiException("CeRapiInit failed", rc); //$NON-NLS-1$ - } - } - - public void uninit() throws RapiException { - int rc = CeRapiUninit(addr); - if (rc != Rapi.NOERROR) { - throw new RapiException("CeRapiUninit failed", rc); //$NON-NLS-1$ - } - } - - public int createFile(String fileName, int desiredAccess, int shareMode, - int creationDisposition, int flagsAndAttributes) throws RapiException { - - int handle = CeCreateFile(addr, fileName, desiredAccess, shareMode, - creationDisposition, flagsAndAttributes); - if (handle == Rapi.INVALID_HANDLE_VALUE) { - throw new RapiException("CeCreateFile failed", getError()); //$NON-NLS-1$ - } - return handle; - } - - public int readFile(int handle, byte[] b) throws RapiException { - if (b.length == 0) { - return 0; - } - int[] bytesRead = new int[1]; - boolean res = CeReadFile(addr, handle, b, b.length, bytesRead); - if (!res) { - throw new RapiException("CeReadFile failed", getError()); //$NON-NLS-1$ - } - return bytesRead[0] > 0 ? bytesRead[0] : -1; - } - - public int readFile(int handle, byte[] b, int off, int len) - throws RapiException { - if (off < 0 || len < 0 || off + len > b.length) { - throw new IndexOutOfBoundsException("Incorrect offset/length"); //$NON-NLS-1$ - } - if (len == 0) { - return 0; - } - //TODO: add support for setting offset in the native code and remove this tmp array - byte[] tmp = new byte[len]; - int[] bytesRead = new int[1]; - boolean res = CeReadFile(addr, handle, tmp, tmp.length, bytesRead); - if (!res) { - throw new RapiException("CeReadFile failed", getError()); //$NON-NLS-1$ - } - System.arraycopy(tmp, 0, b, off, len); - return bytesRead[0] > 0 ? bytesRead[0] : -1; - } - - public void writeFile(int handle, byte[] b) throws RapiException { - int[] bytesWritten = new int[1]; - boolean res = CeWriteFile(addr, handle, b, b.length, bytesWritten); - if (!res) { - throw new RapiException("CeWriteFile failed", getError()); //$NON-NLS-1$ - } - } - - public void writeFile(int handle, byte[] b, int off, int len) - throws RapiException { - - if (off < 0 || len < 0 || off + len > b.length) { - throw new IndexOutOfBoundsException("Incorrect offset/length"); //$NON-NLS-1$ - } - //TODO: add support for setting offset in the native code and remove this tmp array - byte[] tmp = new byte[len]; - System.arraycopy(b, off, tmp, 0, len); - int[] bytesWritten = new int[1]; - boolean res = CeWriteFile(addr, handle, tmp, tmp.length, bytesWritten); - if (!res) { - throw new RapiException("CeWriteFile failed", getError()); //$NON-NLS-1$ - } - } - - public void closeHandle(int handle) throws RapiException { - boolean res = CeCloseHandle(addr, handle); - if (!res) { - throw new RapiException("CeCloseHandle failed", getError()); //$NON-NLS-1$ - } - } - - public void copyFile(String existingFile, String newFile) throws RapiException { - //overwrite by default - boolean res = CeCopyFile(addr, existingFile, newFile, false); - if (!res) { - throw new RapiException("CeCopyFile failed", getError()); //$NON-NLS-1$ - } - } - - public void deleteFile(String fileName) throws RapiException { - boolean res = CeDeleteFile(addr, fileName); - if (!res) { - throw new RapiException("CeDeleteFile failed", getError()); //$NON-NLS-1$ - } - } - - public void moveFile(String existingFileName, String newFileName) throws RapiException { - boolean res = CeMoveFile(addr, existingFileName, newFileName); - if (!res) { - throw new RapiException("CeMoveFile failed", getError()); //$NON-NLS-1$ - } - } - - public void createDirectory(String pathName) throws RapiException { - boolean res = CeCreateDirectory(addr, pathName); - if (!res) { - throw new RapiException("CeCreateDirectory failed", getError()); //$NON-NLS-1$ - } - } - - public void removeDirectory(String pathName) throws RapiException { - boolean res = CeRemoveDirectory(addr, pathName); - if (!res) { - throw new RapiException("CeRemoveDirectory failed", getError()); //$NON-NLS-1$ - } - } - - public int findFirstFile(String fileName, RapiFindData findData) throws RapiException { - int handle = CeFindFirstFile(addr, fileName, findData); - if (handle == Rapi.INVALID_HANDLE_VALUE) { - throw new RapiException("CeFindFirstFile failed", getError()); //$NON-NLS-1$ - } - return handle; - } - - public RapiFindData findNextFile(int handle) { - RapiFindData findData = new RapiFindData(); - boolean res = CeFindNextFile(addr, handle, findData); - // just return null if findNext fail - return res ? findData : null; - } - - public void findClose(int handle) throws RapiException { - boolean res = CeFindClose(addr, handle); - if (!res) { - throw new RapiException("CeFindClose failed", getError()); //$NON-NLS-1$ - } - } - - public RapiFindData[] findAllFiles(String path, int flags) throws RapiException { - int[] foundCount = new int[1]; - int[] dataArr = new int[1]; - boolean res = CeFindAllFiles(addr, path, flags, foundCount, dataArr); - int count = foundCount[0]; - if (!res || count == 0) { - // nothing found - return EMPTY_FIND_DATA_ARR; - } - RapiFindData[] findDataArr = new RapiFindData[count]; - for (int i = 0 ; i < count ; i++) { - findDataArr[i] = new RapiFindData(); - } - int hRes = CeFindAllFilesEx(addr, count, dataArr[0], findDataArr); - if (hRes != Rapi.NOERROR) { - throw new RapiException("CeFindAllFilesEx failed", hRes); //$NON-NLS-1$ - } - return findDataArr; - } - - public int getFileAttributes(String fileName) { - int attributes = CeGetFileAttributes(addr, fileName); -// if (attributes == 0xFFFFFFFF) { -// throw new RapiException("CeGetFileAttributes failed", getError()); -// } - return attributes; - } - - public long getFileSize(int handle) { - int[] sizeHigh = new int[] {1}; - int sizeLow = CeGetFileSize(addr, handle, sizeHigh); - return ( ((long)sizeHigh[0] << 32) | (sizeLow & 0xFFFFFFFF)); - } - - public long getFileCreationTime(int handle) throws RapiException { - long[] crTime = new long[1]; - long[] laTime = new long[1]; - long[] lwTime = new long[1]; - boolean res = CeGetFileTime(addr, handle, crTime, laTime, lwTime); - if (!res) { - throw new RapiException("CeGetFileTime failed", getError()); //$NON-NLS-1$ - } - return (crTime[0] / 10000) - Rapi.TIME_DIFF; - } - - public long getFileLastAccessTime(int handle) throws RapiException { - long[] crTime = new long[1]; - long[] laTime = new long[1]; - long[] lwTime = new long[1]; - boolean res = CeGetFileTime(addr, handle, crTime, laTime, lwTime); - if (!res) { - throw new RapiException("CeGetFileTime failed", getError()); //$NON-NLS-1$ - } - return (laTime[0] / 10000) - Rapi.TIME_DIFF; - } - - public long getFileLastWriteTime(int handle) throws RapiException { - long[] crTime = new long[1]; - long[] laTime = new long[1]; - long[] lwTime = new long[1]; - boolean res = CeGetFileTime(addr, handle, crTime, laTime, lwTime); - if (!res) { - throw new RapiException("CeGetFileTime failed", getError()); //$NON-NLS-1$ - } - return (lwTime[0] / 10000) - Rapi.TIME_DIFF; - } - - public void setFileAttributes(String fileName, int fileAttributes) throws RapiException { - boolean res = CeSetFileAttributes(addr, fileName, fileAttributes); - if (!res) { - throw new RapiException("CeSetFileAttributes failed", getError()); //$NON-NLS-1$ - } - } - - public void setFileLastWriteTime(int handle, long lastWriteTime) throws RapiException { - if (lastWriteTime < 0) { - throw new IllegalArgumentException("Time cannot be negative"); //$NON-NLS-1$ - } - long[] lwTime = new long[] {(lastWriteTime + Rapi.TIME_DIFF) * 10000}; - boolean res = CeSetFileTime(addr, handle, null, null, lwTime); - if (!res) { - throw new RapiException("CeSetFileTime failed", getError()); //$NON-NLS-1$ - } - } - - public ProcessInformation createProcess(String appName, String commandLine, int creationFlags) throws RapiException { - ProcessInformation pi = new ProcessInformation(); - if (!CeCreateProcess(addr, appName, commandLine, creationFlags, pi)) { - throw new RapiException("CeCreateProcess failed", getError()); //$NON-NLS-1$ - } - return pi; - } - - public byte[] invoke(String dllPath, String funcName, byte[] input) throws RapiException { - int[] output = new int[2]; - int res = CeRapiInvoke(addr, dllPath, funcName, input, output); - if (res != 0) { - throw new RapiException("CeRapiInvoke failed", res); //$NON-NLS-1$ - } - int outputLength = output[0]; - int outputPtr = output[1]; - byte[] outputArr = new byte[outputLength]; - CeRapiInvokeEx(outputPtr, outputArr); - return outputArr; - } - - public String toString() { - return "[RapiSession] addr: " + Integer.toHexString(addr); //$NON-NLS-1$ - } - - private final native int CeRapiInit(int addr); - - private final native int CeRapiUninit(int addr); - - private final native int CeRapiGetError(int addr); - - private final native int CeGetLastError(int addr); - - private final native int CeCreateFile(int addr, String lpFileName, - int dwDesiredAccess, int dwShareMode, int dwCreationDisposition, - int dwFlagsAndAttributes); - - private final native boolean CeReadFile(int addr, int hFile, byte[] lpBuffer, - int nNumberOfBytesToRead, int[] lpNumberOfBytesRead); - - private final native boolean CeWriteFile(int addr, int hFile, byte[] lpBuffer, - int nNumberOfBytesToWrite, int[] lpNumberOfBytesWritten); - - private final native boolean CeCloseHandle(int addr, int hObject); - - private final native boolean CeCopyFile(int addr, String lpExistingFileName, - String lpNewFileName, boolean bFailIfExists); - - private final native boolean CeDeleteFile(int addr, String lpFileName); - - private final native boolean CeMoveFile(int addr, String lpExistingFileName, - String lpNewFileName); - - private final native boolean CeCreateDirectory(int addr, String lpPathName); - - private final native boolean CeRemoveDirectory(int addr, String lpPathName); - - private final native int CeFindFirstFile(int addr, String lpFileName, - RapiFindData lpFindFileData); - - private final native boolean CeFindNextFile(int addr, int hFindFile, - RapiFindData lpFindFileData); - - private final native boolean CeFindClose(int addr, int hFindFile); - - private final native boolean CeFindAllFiles(int addr, String szPath, - int dwFlags, int[] lpdwFoundCount, int[] ppFindDataArray); - - private final native int CeFindAllFilesEx(int addr, int foundCount, - int dataArr, RapiFindData[] findDataArr); - - private final native int CeGetFileAttributes(int addr, String lpFileName); - - private final native int CeGetFileSize(int addr, int hFile, int[] lpFileSizeHigh); - - private final native boolean CeGetFileTime(int addr, int hFile, - long[] lpCreationTime, long[] lpLastAccessTime, long[] lpLastWriteTime); - - private final native boolean CeSetFileAttributes(int addr, String lpFileName, int dwFileAttributes); - - private final native boolean CeSetFileTime(int addr, int hFile, long[] lpCreationTime, - long[] lpLastAccessTime, long[] lpLastWriteTime); - - private final native boolean CeCreateProcess(int addr, String lpApplicationName, - String lpCommandLine, int dwCreationFlags, ProcessInformation lpProcessInformation); - - private final native int CeRapiInvoke(int addr, String dllPath, String funcName, - byte[] input, int[] output); - - /** - * Initializes the outputArr with the memory pointed by outputPtr. - */ - private final native void CeRapiInvokeEx(int outputPtr, byte[] outputArr); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java 2008-04-10 01:27:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -import org.eclipse.tm.internal.rapi.RapiDesktop; - -/** - * This class is used to find connected WinCE-based remote devices. - *

      Use {@link IRapiDesktop#getInstance()} to obtain an instance. - * - * @noextend This class is not intended to be subclassed by clients. - * @author Radoslav Gerganov - */ -public abstract class IRapiDesktop extends IUnknown { - - public IRapiDesktop(int addr) { - super(addr); - } - - /** - * Returns new instance of IRapiDesktop. - * Use {@link IRapiDesktop#release()} to release this instance when it is - * no longer needed. - * @return new instance of IRapiDesktop - * @throws RapiException if an error occurs. - */ - public synchronized static IRapiDesktop getInstance() throws RapiException { - int[] rapiDesktop = new int[1]; - int rc = Rapi.CreateRapiDesktop(rapiDesktop); - if (rc != Rapi.NOERROR) { - throw new RapiException("CreateRapiDesktop failed", rc); //$NON-NLS-1$ - } - return new RapiDesktop(rapiDesktop[0]); - } - - /** - * Returns an instance of IRapiEnumDevices. - * Use {@link IRapiEnumDevices#release()} to release this instance when it is - * no longer needed. - * @return an instance of IRapiEnumDevices - * @throws RapiException if an error occurs. - */ - public abstract IRapiEnumDevices enumDevices() throws RapiException; - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java 2008-04-10 01:27:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class represents a connected WinCE-based remote device. - * - * @noextend This class is not intended to be subclassed by clients. - * @author Radoslav Gerganov - */ -public abstract class IRapiDevice extends IUnknown { - - public IRapiDevice(int addr) { - super(addr); - } - - /** - * Returns an instance of IRapiSession for this remote device. - * Use {@link IRapiSession#release()} to release this instance when it is - * no longer needed. - * @return an instance of IRapiSession - * @throws RapiException if an error occurs. - */ - public abstract IRapiSession createSession() throws RapiException; - - /** - * Returns information about the connection between this remote device and the desktop. - * @return RapiConnectionInfo object containing information about - * the connection between this remote device and the desktop. - * @throws RapiException if an error occurs. - */ - public abstract RapiConnectionInfo getConnectionInfo() throws RapiException; - - /** - * Returns information about this remote device. - * @return RapiDeviceInfo object containing information about this remote - * device. - * @throws RapiException if an error occurs. - */ - public abstract RapiDeviceInfo getDeviceInfo() throws RapiException; - - /** - * Tests whether this device is connected. - * @return true if this device is connected;false otherwise. - * @throws RapiException if an error occurs. - */ - public abstract boolean isConnected() throws RapiException; - -} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java 2008-04-10 01:27:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class is used to enumerate the set of connected WinCE-based - * remote devices which are represented by IRapiDevice - * objects. - * - * @noextend This class is not intended to be subclassed by clients. - * @author Radoslav Gerganov - */ -public abstract class IRapiEnumDevices extends IUnknown { - - public IRapiEnumDevices(int addr) { - super(addr); - } - - /** - * Returns an instance of IRapiDevice. - * Use {@link IRapiDevice#release()} to release this instance when it is - * no longer needed. - * @return an instance of IRapiDevice - * @throws RapiException if an error occurs. - */ - public abstract IRapiDevice next() throws RapiException; - -} \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java 2008-06-30 14:48:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,298 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov and others - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - * Radoslav Gerganov - [238773] [WinCE] Implement IRAPISession#CeRapiInvoke - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class is used to perform Remote API 2 operations on a connected - * WinCE-based remote device. - * - * @noextend This class is not intended to be subclassed by clients. - * @author Radoslav Gerganov - */ -public abstract class IRapiSession extends IUnknown { - - public IRapiSession(int addr) { - super(addr); - } - - /** - * Initializes (synchronously) the communication layers between the desktop - * and the target remote device. This method must be called before calling any - * of the other IRapiSession methods. Use {@link IRapiSession#uninit()} - * to uninitialize the session. - * @throws RapiException if an error occurs. - */ - public abstract void init() throws RapiException; - - /** - * Uninitializes the session. This method should be called last. - * @throws RapiException if an error occurs. - */ - public abstract void uninit() throws RapiException; - - /** - * Creates, opens, or truncates a file on the remote device. - * @param fileName file name on the remote device - * @param desiredAccess specifies the type of access to the file - * @param shareMode specifies how the file can be shared - * @param creationDisposition specifies which action to take on - * files that exist, and which action to take when files do not exist - * @param flagsAndAttributes specifies the file attributes and flags - * for the file - * @return integer representing a valid handle that can be used to access the file - * @throws RapiException if an error occurs. - */ - public abstract int createFile(String fileName, int desiredAccess, - int shareMode, int creationDisposition, - int flagsAndAttributes) throws RapiException; - - /** - * Reads up to b.length bytes of data from a remote file - * into an array of bytes. - * @param handle handle to the file to be read - * @param b the buffer into which the data is read - * @return the total number of bytes read into the buffer, or - * -1 if there is no more data because the end of - * the file has been reached - * @throws RapiException if an error occurs. - */ - public abstract int readFile(int handle, byte[] b) throws RapiException; - - /** - * Reads up to len bytes of data from a remote file - * into an array of bytes. - * @param handle handle to the file to be read - * @param b the buffer into which the data is read - * @param off the start offset of the data - * @param len the maximum number of bytes read - * @return the total number of bytes read into the buffer, or - * -1 if there is no more data because the end of - * the file has been reached - * @throws RapiException if an error occurs. - */ - public abstract int readFile(int handle, byte[] b, int off, int len) - throws RapiException; - - /** - * Writes b.length bytes from the specified byte array - * to a remote file. - * @param handle handle to the file to which bytes will be written - * @param b the data - * @throws RapiException if an error occurs. - */ - public abstract void writeFile(int handle, byte[] b) throws RapiException; - - /** - * Writes len bytes from the specified byte array - * starting at offset off to a remote file. - * @param handle handle to the file to which bytes will be written - * @param b the data - * @param off the start offset in the data - * @param len the number of bytes to write - * @throws RapiException if an error occurs. - */ - public abstract void writeFile(int handle, byte[] b, int off, int len) - throws RapiException; - - /** - * Closes an open file handle. - * @param handle handle to an open file - * @throws RapiException if an error occurs. - */ - public abstract void closeHandle(int handle) throws RapiException; - - /** - * Copies an existing file on the remote device to a new file on the - * remote device. - * @param existingFile the file name of the existing file - * @param newFile the file name of the new file - * @throws RapiException if an error occurs. - */ - public abstract void copyFile(String existingFile, String newFile) - throws RapiException; - - /** - * Deletes the specified file on the remote device. - * @param fileName the file to be deleted - * @throws RapiException if an error occurs. - */ - public abstract void deleteFile(String fileName) throws RapiException; - - /** - * Renames existing file or directory on the remote device. - * @param existingFileName the existing name - * @param newFileName the new name - * @throws RapiException if an error occurs. - */ - public abstract void moveFile(String existingFileName, - String newFileName) throws RapiException; - - /** - * Creates a new directory on the remote device. - * @param pathName the path of the directory to be created - * @throws RapiException if an error occurs. - */ - public abstract void createDirectory(String pathName) throws RapiException; - - /** - * Deletes an existing empty directory on the remote device. - * @param pathName the path of the directory to be deleted - * @throws RapiException if an error occurs. - */ - public abstract void removeDirectory(String pathName) throws RapiException; - - /** - * Searches for a file or sub-directory in a directory on the remote device. - * Use {@link IRapiSession#findNextFile(int)} to get the next found file. - * Finally, call {@link IRapiSession#findClose(int)} to close the returned search handle. - * @param fileName string that specifies a valid directory or path and file name. - * This string can contain wildcard characters (* and ?) - * @param findData [out] this object receives information about the found file - * or sub-directory - * @return integer representing valid search handle - * @throws RapiException if an error occurs. - */ - public abstract int findFirstFile(String fileName, - RapiFindData findData) throws RapiException; - - /** - * Retrieves the next file in an enumeration context. - * @param handle search handle obtained with a call to - * {@link IRapiSession#findFirstFile(String, RapiFindData)} - * @return RapiFindData object containing information about the - * next file/sub-directory or null if no matching files can be found - */ - public abstract RapiFindData findNextFile(int handle); - - /** - * Closes the specified search handle on the remote device. - * @param handle the search handle to close - * @throws RapiException if an error occurs. - */ - public abstract void findClose(int handle) throws RapiException; - - /** - * Retrieves information about all files and directories in the given directory on - * the remote device. - * @param path string containing the path in which to search for files - * @param flags combination of filter and retrieval flags - * @return an array of RapiFindData objects containing the information - * about the found items - * @throws RapiException if an error occurs. - */ - public abstract RapiFindData[] findAllFiles(String path, - int flags) throws RapiException; - - /** - * Returns attributes for the specified file or directory on the remote device. - * @param fileName string that specifies the name of a file or directory - * @return attributes for the specified file or -1 - * if an error has occurred - */ - public abstract int getFileAttributes(String fileName); - - /** - * Returns the size, in bytes, of the specified file on the remote device. - * @param handle open handle of the file whose size is being returned - * @return the file size in bytes - */ - public abstract long getFileSize(int handle); - - /** - * Returns the time when the file was created. - *

      - * The time is represented as the number of Universal Time (UT) - * milliseconds since the epoch (00:00:00 GMT, January 1, 1970). - *

      - * @param handle handle to the file for which to get creation time - * @return the creation time for this file - * @throws RapiException if an error occurs. - */ - public abstract long getFileCreationTime(int handle) throws RapiException; - - /** - * Returns the time when the file was last accessed. - *

      - * The time is represented as the number of Universal Time (UT) - * milliseconds since the epoch (00:00:00 GMT, January 1, 1970). - *

      - * @param handle handle to the file for which to get last access time - * @return the last access time for this file - * @throws RapiException if an error occurs. - */ - public abstract long getFileLastAccessTime(int handle) throws RapiException; - - /** - * Returns the time when the file was last written to. - *

      - * The time is represented as the number of Universal Time (UT) - * milliseconds since the epoch (00:00:00 GMT, January 1, 1970). - *

      - * @param handle handle to the file for which to get last write time - * @return the last write time for this file - * @throws RapiException if an error occurs. - */ - public abstract long getFileLastWriteTime(int handle) throws RapiException; - - /** - * Sets the attributes of the specified file on the remote device. - * @param fileName the target file - * @param fileAttributes the new attributes; this parameter is combination of the - * following values: {@link Rapi#FILE_ATTRIBUTE_ARCHIVE}, {@link Rapi#FILE_ATTRIBUTE_HIDDEN}, - * {@link Rapi#FILE_ATTRIBUTE_NORMAL}, {@link Rapi#FILE_ATTRIBUTE_READONLY}, - * {@link Rapi#FILE_ATTRIBUTE_SYSTEM}, {@link Rapi#FILE_ATTRIBUTE_TEMPORARY} - * @throws RapiException if an error occurs. - */ - public abstract void setFileAttributes(String fileName, int fileAttributes) throws RapiException; - - /** - * Sets the last write time of the specified file. - *

      - * The time is represented as the number of Universal Time (UT) - * milliseconds since the epoch (00:00:00 GMT, January 1, 1970). - *

      - * The specified time will be truncated to fit the supported precision. - * @param handle handle to the target file - * @param lastWriteTime the new last write time for this file - * @throws IllegalArgumentException if the specified time is negative - * @throws RapiException if an error occurs. - */ - public abstract void setFileLastWriteTime(int handle, long lastWriteTime) throws RapiException; - - /** - * Creates new process on the remote device. - * @param appName module to execute - * @param commandLine command line arguments - * @param creationFlags additional flags controlling the creation - * @return ProcessInformaion containing information about the new process - * @throws RapiException if an error occurs. - */ - public abstract ProcessInformation createProcess(String appName, String commandLine, - int creationFlags) throws RapiException; - - /** - * Invokes the specified native function on the remote device passing the specified byte array as argument. - * The native function must have the following signature:

      - * HRESULT funcName(DWORD inpLen, BYTE *inp, DWORD *outLen, BYTE **out, IRAPIStream *stream)

      - * The native function must return 0 on success or non-zero value if an error occurs. - * @param dllPath the name of the dll on the remote device which contains the native function - * @param funcName the name of the native function that will be called - * @param input byte array which will be passed to the native function; inpLen is initialized with - * the length of input and inp points to a buffer with the same content as - * input - * @return byte array returned from the native function; the length and the content of the returned array - * corresponds to *outLen and *out respectively - * @throws RapiException if an error occurs. - * @since org.eclipse.tm.rapi 0.2 - */ - public abstract byte[] invoke(String dllPath, String funcName, byte[] input) throws RapiException; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java 2008-04-10 01:27:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * Java wrapper for the native IUnknown interface. - * - * @noextend This class is not intended to be subclassed by clients. - * @author Radoslav Gerganov - */ -public abstract class IUnknown { - - /** - * Pointer to the underlying IUnknown object. - */ - protected int addr; - - public IUnknown(int addr) { - this.addr = addr; - } - - /** - * Releases the underlying IUnknown object. - */ - public void release() { - Rapi.ReleaseIUnknown(addr); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/ProcessInformation.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/ProcessInformation.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/ProcessInformation.java 2008-04-03 15:58:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/ProcessInformation.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class contains information for a new process - * created with {@link IRapiSession#createProcess(String, String, int)} - * - * @author Radoslav Gerganov - */ -public class ProcessInformation { - public int hProcess; - public int hThread; - public int dwProcessId; - public int dwThreadId; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java 2008-09-25 17:37:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class provides access to some native Win32 APIs and constants. - * - * @noinstantiate This class is not intended to be instantiated by clients. - * @author Radoslav Gerganov - */ -public final class Rapi { - - static { - System.loadLibrary("jrapi"); //$NON-NLS-1$ - } - - public static final int NOERROR = 0; - //TODO: add more error codes - - public static final int GENERIC_READ = 0x80000000; - public static final int GENERIC_WRITE = 0x40000000; - public static final int FILE_SHARE_READ = 0x00000001; - public static final int FILE_SHARE_WRITE = 0x00000002; - - public static final int CREATE_NEW = 1; - public static final int CREATE_ALWAYS = 2; - public static final int OPEN_EXISTING = 3; - public static final int OPEN_ALWAYS = 4; - public static final int TRUNCATE_EXISTING = 5; - - public static final int FILE_ATTRIBUTE_ARCHIVE = 0x00000020; - public static final int FILE_ATTRIBUTE_COMPRESSED = 0x00000800; - public static final int FILE_ATTRIBUTE_DIRECTORY = 0x00000010; - public static final int FILE_ATTRIBUTE_ENCRYPTED = 0x00004000; - public static final int FILE_ATTRIBUTE_HIDDEN = 0x00000002; - public static final int FILE_ATTRIBUTE_INROM = 0x00000040; - public static final int FILE_ATTRIBUTE_NORMAL = 0x00000080; - public static final int FILE_ATTRIBUTE_READONLY = 0x00000001; - public static final int FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400; - public static final int FILE_ATTRIBUTE_ROMMODULE = 0x00002000; - public static final int FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200; - public static final int FILE_ATTRIBUTE_SYSTEM = 0x00000004; - public static final int FILE_ATTRIBUTE_TEMPORARY = 0x00000100; - - public static final int FILE_FLAG_WRITE_THROUGH = 0x80000000; - public static final int FILE_FLAG_OVERLAPPED = 0x40000000; - public static final int FILE_FLAG_RANDOM_ACCESS = 0x10000000; - public static final int FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000; - - public static final int FAF_ATTRIB_CHILDREN = 0x01000; - public static final int FAF_ATTRIB_NO_HIDDEN = 0x02000; - public static final int FAF_FOLDERS_ONLY = 0x04000; - public static final int FAF_NO_HIDDEN_SYS_ROMMODULES = 0x08000; - public static final int FAF_GETTARGET = 0x10000; - - public static final int FAF_ATTRIBUTES = 0x01; - public static final int FAF_CREATION_TIME = 0x02; - public static final int FAF_LASTACCESS_TIME = 0x04; - public static final int FAF_LASTWRITE_TIME = 0x08; - public static final int FAF_SIZE_HIGH = 0x10; - public static final int FAF_SIZE_LOW = 0x20; - public static final int FAF_OID = 0x40; - public static final int FAF_NAME = 0x80; - - public static final int INVALID_HANDLE_VALUE = -1; - - public static final long TIME_DIFF = 11644473600000L; - - public static final int COINIT_MULTITHREADED = 0x0; - public static final int COINIT_APARTMENTTHREADED = 0x2; - public static final int COINIT_DISABLE_OLE1DDE = 0x4; - public static final int COINIT_SPEED_OVER_MEMORY = 0x8; - - /** - * Initializes the library, the clients must call this method before any - * other. The meaning of the init parameter and the returned - * value is platform dependent. On Win32 platforms this method is directly - * mapped to CoInitializeEx. - * - * @param init on Win32 it is either {@link #COINIT_APARTMENTTHREADED} or - * {@link #COINIT_MULTITHREADED} - * @return on Win32 this is the returned value from - * CoInitializeEx - */ - public static final int initialize(int init) { - return CoInitializeEx(0, init); - } - - /** - * Uninitializes the library, the clients must call this method last to free any allocated resources. - * This method is platform dependent, on Win32 it is directly mapped to CoUninitialize. - */ - public static final void uninitialize() { - CoUninitialize(); - } - - /** - * Initializes the COM library. - */ - static final native int CoInitializeEx(int pvReserved, int dwCoInit); - - /** - * Closes the COM library on the current thread. - */ - static final native void CoUninitialize(); - - /** - * Sets the first element of the specified array with the address of a newly - * instantiated IRAPIDesktop native interface. - * - * @param pIRAPIDesktop an array with one element - * @return {@link #NOERROR} if the function succeeds; otherwise an error - * code - */ - final static native int CreateRapiDesktop(int[] pIRAPIDesktop); - - - /** - * Invokes the Release method of the IUnkonwn object - * having the specified address. - * @param addr the address of the IUnknown object - */ - final static native void ReleaseIUnknown(int addr); -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiConnectionInfo.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiConnectionInfo.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiConnectionInfo.java 2008-04-02 11:59:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiConnectionInfo.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class contains information that describes the connection between - * a WinCE device and a host computer. - * - * @author Radoslav Gerganov - */ -public class RapiConnectionInfo { - - public static final int RAPI_CONNECTION_USB = 0; - public static final int RAPI_CONNECTION_IR = 1; - public static final int RAPI_CONNECTION_SERIAL = 2; - public static final int RAPI_CONNECTION_NETWORK = 3; - - //FIXME - //SOCKADDR_STORAGE ipaddr; - //SOCKADDR_STORAGE hostIpaddr; - - public int connectionType; - - public String toString() { - switch (connectionType) { - case RAPI_CONNECTION_USB: return "USB"; //$NON-NLS-1$ - case RAPI_CONNECTION_IR: return "IR"; //$NON-NLS-1$ - case RAPI_CONNECTION_SERIAL: return "Serial"; //$NON-NLS-1$ - case RAPI_CONNECTION_NETWORK: return "Network"; //$NON-NLS-1$ - } - return "Unknown"; //$NON-NLS-1$ - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiDeviceInfo.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiDeviceInfo.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiDeviceInfo.java 2008-03-27 19:50:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiDeviceInfo.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * This class contains information that identifies a particular WinCE device. - * - * @author Radoslav Gerganov - */ -public class RapiDeviceInfo { - - public String id; - public int versionMajor; - public int versionMinor; - public String name; - public String platform; -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiException.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiException.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiException.java 2008-04-02 11:59:11.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiException.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -/** - * Signals that an error has occurred during execution of RAPI2 call. - * - * @author Radoslav Gerganov - */ -public class RapiException extends Exception { - - private static final long serialVersionUID = -1833456445593343458L; - - private int errorCode; - - public RapiException(String msg) { - super(msg); - } - - public RapiException(String msg, int errCode) { - super(msg + " errorCode: 0x" + Integer.toHexString(errCode)); //$NON-NLS-1$ - this.errorCode = errCode; - } - - /** - * Returns the error code associated with this exception. - */ - public int getErrorCode() { - return errorCode; - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiFindData.java eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiFindData.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiFindData.java 2008-04-09 12:55:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/RapiFindData.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi; - -import java.util.Date; - -/** - * This class describes a file found by CeFindFirstFile - * or CeFindAllFiles - * - * @author Radoslav Gerganov - */ -public class RapiFindData { - public int fileAttributes; - public long creationTime; - public long lastAccessTime; - public long lastWriteTime; - public long fileSize; - public int oid; - public String fileName; - - public Date getCreationTime() { - return new Date((creationTime / 10000) - Rapi.TIME_DIFF); - } - - public Date getLastAccessTime() { - return new Date((lastAccessTime / 10000) - Rapi.TIME_DIFF); - } - - public Date getLastWriteTime() { - return new Date((lastWriteTime / 10000) - Rapi.TIME_DIFF); - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.classpath eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.classpath 2008-03-27 20:06:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.cvsignore 2008-05-21 12:56:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.project eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.project --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.project 2008-03-27 19:46:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - org.eclipse.tm.rapi.examples - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/.settings/org.eclipse.jdt.core.prefs 2008-03-31 12:37:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/META-INF/MANIFEST.MF 2008-04-02 11:59:08.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.rapi.examples -Bundle-Version: 0.1.0.qualifier -Bundle-Activator: org.eclipse.tm.rapi.examples.Activator -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.tm.rapi;bundle-version="[0.1.0,1.0.0)" -Export-Package: org.eclipse.tm.rapi.examples -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/about.html eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/about.html 2008-03-27 20:50:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

      About This Content

      - -

      March 27, 2008

      -

      License

      - -

      The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

      - -

      If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

      - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/build.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/build.properties 2008-03-27 20:50:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2008 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - add about.html -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/plugin.properties 2009-05-25 21:21:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - Rename pluginName, add PII NLS tags -############################################################################### - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -providerName = Eclipse.org - DSDP -pluginName = RAPI2 Java wrapper examples (Incubation) \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/Activator.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/Activator.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/Activator.java 2008-03-27 19:46:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/Activator.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.examples; - -import org.eclipse.core.runtime.Plugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends Plugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.rapi.examples"; - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - } - - /* - * (non-Javadoc) - * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - - // run the examples when the bundle is started - RapiExamples obj = new RapiExamples(); - obj.runExamples(); - } - - /* - * (non-Javadoc) - * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/RapiExamples.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/RapiExamples.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/RapiExamples.java 2008-04-24 07:33:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.examples/src/org/eclipse/tm/rapi/examples/RapiExamples.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,244 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.examples; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.IRapiEnumDevices; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.ProcessInformation; -import org.eclipse.tm.rapi.RapiConnectionInfo; -import org.eclipse.tm.rapi.RapiDeviceInfo; -import org.eclipse.tm.rapi.RapiException; -import org.eclipse.tm.rapi.RapiFindData; - -/** - * This class demonstrates example usage of RAPI2. - * - * @author Radoslav Gerganov - */ -public class RapiExamples { - - IRapiDesktop desktop = null; - IRapiEnumDevices enumDevices = null; - IRapiDevice device = null; - IRapiSession session = null; - - /** - * Initialize the underlying natives. - */ - public void initRapi() { - Rapi.initialize(Rapi.COINIT_MULTITHREADED); - } - - /** - * Uninitialize the underlying natives. - */ - public void uninitRapi() { - if (desktop != null) { - desktop.release(); - } - if (enumDevices != null) { - enumDevices.release(); - } - if (device != null) { - device.release(); - } - if (session != null) { - session.release(); - } - Rapi.uninitialize(); - } - - /** - * Prints various information about the device. - */ - public void printDeviceInfo() throws RapiException { - System.out.println(">>> printDeviceInfo()"); - RapiDeviceInfo deviceInfo = device.getDeviceInfo(); - System.out.println("Device id: " + deviceInfo.id); - System.out.println("Device name: " + deviceInfo.name); - System.out.println("Platform: " + deviceInfo.platform); - System.out.println("Major version: " + deviceInfo.versionMajor); - System.out.println("Minor version: " + deviceInfo.versionMinor); - } - - /** - * Prints information about how the device is connected. - */ - public void printConnectionInfo() throws RapiException { - System.out.println(">>> printConnectionInfo()"); - RapiConnectionInfo connectionInfo = device.getConnectionInfo(); - System.out.println("Connection type: " + connectionInfo); - System.out.println("IsConnected: " + device.isConnected()); - } - - /** - * Creates file on the device with the specified filename. - */ - public void createFile(String fileName) throws RapiException { - System.out.println(">>> createFile()"); - int handle = session.createFile(fileName, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - byte[] content = "Hello world!".getBytes(); - session.writeFile(handle, content); - session.closeHandle(handle); - } - - /** - * Reads the specified file on the device and prints its content. - */ - public void readFile(String fileName) throws RapiException { - System.out.println(">>> readFile()"); - int handle = session.createFile(fileName, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - byte[] buf = new byte[256]; - int br = session.readFile(handle, buf); - System.out.println("readFile: " + new String(buf, 0, br)); - System.out.println("bytesRead: " + br); - session.closeHandle(handle); - } - - /** - * Utility method used to determine if the specified RapiFindData - * describes a directory. - */ - boolean isDirectory(RapiFindData findData) { - return (findData.fileAttributes & Rapi.FILE_ATTRIBUTE_DIRECTORY) != 0; - } - - /** - * Utility method used for printing RapiFindData on the console. - */ - void printFindData(RapiFindData findData, int indent) { - for (int i = 0 ; i < indent ; i++) { - System.out.print(" "); - } - String fileName = findData.fileName; - if (isDirectory(findData)) { - System.out.println("[" + fileName + "]"); - } else { - System.out.println(fileName + " (" + findData.fileSize + ")"); - } - } - - /** - * List all files in the specified directory using - * IRapiSession.findFirstFile and - * IRapiSession.findNextFile - */ - public void listFiles(String dir) throws RapiException { - System.out.println(">>> listFiles()"); - RapiFindData findData = new RapiFindData(); - int fh = session.findFirstFile(dir + "*", findData); - while (findData != null) { - printFindData(findData, 0); - findData = session.findNextFile(fh); - } - session.findClose(fh); - } - - /** - * List all files in the specified directory using - * IRapiSession.findAllFiles - */ - public void listFiles2(String dir) throws RapiException { - System.out.println(">>> listFiles2()"); - RapiFindData[] fdArr = session.findAllFiles(dir + "*", - Rapi.FAF_ATTRIBUTES | Rapi.FAF_NAME | Rapi.FAF_SIZE_LOW); - for (int i = 0 ; i < fdArr.length ; i++) { - printFindData(fdArr[i], 0); - } - } - - /** - * Prints various information about the specified file. - */ - public void statFile(String fileName) throws RapiException { - System.out.println(">>> statFile()"); - int handle = session.createFile(fileName, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - int fileAttributes = session.getFileAttributes(fileName); - System.out.println("fileAttributes: " + fileAttributes); - long fileSize = session.getFileSize(handle); - System.out.println("fileSize: " + fileSize); - System.out.println("creationTime: " + session.getFileCreationTime(handle)); - System.out.println("lastAccessTime: " + session.getFileLastAccessTime(handle)); - System.out.println("lastWriteTime: " + session.getFileLastWriteTime(handle)); - session.closeHandle(handle); - } - - /** - * Recursively print the whole device tree on the console. - */ - void printDeviceTree(String dir, int indent) throws RapiException { - RapiFindData[] fdArr = session.findAllFiles(dir + "*", - Rapi.FAF_ATTRIBUTES | Rapi.FAF_NAME | Rapi.FAF_SIZE_LOW); - if (fdArr == null) { - return; - } - for (int i = 0 ; i < fdArr.length ; i++) { - if (isDirectory(fdArr[i])) { - printDeviceTree(dir + fdArr[i].fileName + "\\", indent + 1); - } else { - printFindData(fdArr[i], indent); - } - } - } - - /** - * Opens the specified URL in a browser. The browser is started with - * {@link IRapiSession#createProcess(String, String, int)} and the URL - * is passed as command line argument. - */ - void openUrl(String url) throws RapiException { - System.out.println(">>> openUrl() url: " + url); - ProcessInformation pi = session.createProcess("\\Windows\\iexplore.exe", url, 0); - System.out.println("hProcess: " + Integer.toHexString(pi.hProcess)); - System.out.println("hThread: " + Integer.toHexString(pi.hThread)); - System.out.println("dwProcessId: " + Integer.toHexString(pi.dwProcessId)); - System.out.println("dwThreadId: " + Integer.toHexString(pi.dwThreadId)); - session.closeHandle(pi.hProcess); - session.closeHandle(pi.hThread); - } - - void runExamples() { - try { - initRapi(); - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - // get the first device - device = enumDevices.next(); - printDeviceInfo(); - printConnectionInfo(); - // create session - session = device.createSession(); - session.init(); - createFile("\\foo.txt"); - readFile("\\foo.txt"); - session.copyFile("\\foo.txt", "\\bar.txt"); - listFiles("\\"); - session.moveFile("\\bar.txt", "\\spam.txt"); - listFiles2("\\"); - session.deleteFile("\\spam.txt"); - statFile("\\foo.txt"); - System.out.println(">>> printDeviceTree()"); - printDeviceTree("\\", 0); - openUrl("www.eclipse.org/dsdp/tm"); - session.uninit(); - } catch (RapiException e) { - e.printStackTrace(); - } finally { - uninitRapi(); - } - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.classpath eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.classpath 2008-03-27 20:07:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.classpath 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.cvsignore 2008-05-21 12:56:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.project eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.project --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.project 2008-03-27 19:45:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.project 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - org.eclipse.tm.rapi.tests - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/.settings/org.eclipse.jdt.core.prefs 2008-03-31 12:26:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 @@ -1,79 +0,0 @@ -#Fri Mar 28 14:14:24 CET 2008 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 -org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/META-INF/MANIFEST.MF 2008-04-02 11:59:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.rapi.tests -Bundle-Version: 0.1.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.junit, - org.eclipse.tm.rapi;bundle-version="[0.1.0,1.0.0)" -Export-Package: org.eclipse.tm.rapi.tests -Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/about.html eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/about.html 2008-03-27 20:50:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/about.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - - - - -About - - -

      About This Content

      - -

      March 27, 2008

      -

      License

      - -

      The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

      - -

      If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

      - - - \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/build.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/build.properties 2008-03-27 20:50:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/build.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2008 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - add about.html -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - about.html,\ - plugin.properties -src.includes = about.html diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/plugin.properties 2009-05-25 21:21:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/plugin.properties 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2008, 2009 Radoslav Gerganov and others -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Radoslav Gerganov - initial API and implementation -# Martin Oberhuber (Wind River) - Rename pluginName, add PII NLS tags -############################################################################### - -# NLS_MESSAGEFORMAT_NONE -# NLS_ENCODING=UTF-8 - -providerName = Eclipse.org - DSDP -pluginName = RAPI2 Java wrapper unit tests (Incubation) \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/AllTests.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/AllTests.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/AllTests.java 2008-03-27 19:45:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/AllTests.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Unit tests for the Java wrappers of RAPI2. - * - * Establishing an ActiveSync connection with a device or emulator is needed - * before running these tests. - * - * @author Radoslav Gerganov - */ -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite("Test for org.eclipse.tm.rapi"); - //$JUnit-BEGIN$ - suite.addTestSuite(RapiDesktopTest.class); - suite.addTestSuite(RapiEnumDevicesTest.class); - suite.addTestSuite(RapiDeviceTest.class); - suite.addTestSuite(RapiSessionTest.class); - //$JUnit-END$ - return suite; - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDesktopTest.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDesktopTest.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDesktopTest.java 2008-03-27 19:45:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDesktopTest.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.RapiException; - -public class RapiDesktopTest extends RapiTestCase { - - protected void setUp() throws Exception { - super.setUp(); - } - - public void testGetInstance() throws RapiException { - desktop = IRapiDesktop.getInstance(); - assertNotNull("IRapiDesktop.getInstance() returned null", desktop); - } - - public void testEnumDevices() throws RapiException { - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - assertNotNull("IRapiDesktop.enumDevices() returned null", enumDevices); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDeviceTest.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDeviceTest.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDeviceTest.java 2008-03-27 19:45:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiDeviceTest.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.RapiConnectionInfo; -import org.eclipse.tm.rapi.RapiDeviceInfo; -import org.eclipse.tm.rapi.RapiException; - -public class RapiDeviceTest extends RapiTestCase { - - protected void setUp() throws Exception { - super.setUp(); - } - - IRapiDevice getDevice() throws RapiException { - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - return enumDevices.next(); - } - - public void testCreateSession() throws RapiException { - device = getDevice(); - session = device.createSession(); - assertNotNull("IRapiDevice.createSession() returned null", session); - } - - public void testGetConnectionInfo() throws RapiException { - device = getDevice(); - RapiConnectionInfo connectionInfo = device.getConnectionInfo(); - int connectionType = connectionInfo.connectionType; - assertTrue("Unknown connectionType: " + connectionType, - connectionType >= 0 && connectionType <= 3); - } - - public void testGetDeviceInfo() throws RapiException { - device = getDevice(); - RapiDeviceInfo deviceInfo = device.getDeviceInfo(); - assertNotNull("deviceInfo.id is null", deviceInfo.id); - assertNotNull("deviceInfo.name is null", deviceInfo.name); - assertNotNull("deviceInfo.platform is null", deviceInfo.platform); - //TODO: make some reasonable checks for the version numbers - } - - public void testIsConnected() throws RapiException { - device = getDevice(); - boolean connected = device.isConnected(); - assertTrue("device should be connected", connected); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiEnumDevicesTest.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiEnumDevicesTest.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiEnumDevicesTest.java 2008-03-27 19:45:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiEnumDevicesTest.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.RapiException; - -public class RapiEnumDevicesTest extends RapiTestCase { - - protected void setUp() throws Exception { - super.setUp(); - } - - public void testNext() throws RapiException { - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - device = enumDevices.next(); - assertNotNull("IRapiEnumDevices.next() returned null", device); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiSessionTest.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiSessionTest.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiSessionTest.java 2008-04-09 12:55:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiSessionTest.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,307 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; -import org.eclipse.tm.rapi.RapiException; -import org.eclipse.tm.rapi.RapiFindData; - -public class RapiSessionTest extends RapiTestCase { - - private static final int TEMP_FILES_COUNT = 10; - private static final int TEST_FILE_SIZE = 8 * 1024; - private static final String TEST_FILE_NAME = "\\foo.bin"; - private static final int CHUNK_SIZE = 1024; - - private static final String TEST_DIR_NAME = "bar"; - - protected void setUp() throws Exception { - super.setUp(); - } - - /** - * Creates and initialize RAPI2 session - */ - void createInitSession() throws RapiException { - desktop = IRapiDesktop.getInstance(); - enumDevices = desktop.enumDevices(); - device = enumDevices.next(); - session = device.createSession(); - session.init(); - } - - /** - * Returns true if the first len bytes of the specified arrays - * are equal. - */ - boolean arraysEqual(byte[] arr1, byte[] arr2, int len) { - for (int i = 0 ; i < len ; i++) { - if (arr1[i] != arr2[i]) { - return false; - } - } - return true; - } - - /** - * Returns true if the specified path exists and it is a directory. - */ - boolean isDirectory(String path) { - int attr = session.getFileAttributes(path); - if (attr == -1) { - return false; - } - return (attr & Rapi.FILE_ATTRIBUTE_DIRECTORY) != 0; - } - - /** - * Returns true if the specified path exists and it is a file. - */ - boolean isFile(String path) { - int attr = session.getFileAttributes(path); - if (attr == -1) { - return false; - } - return (attr & Rapi.FILE_ATTRIBUTE_DIRECTORY) == 0; - } - - /** - * Tests reading and writing files on the device. - */ - public void testReadWriteFiles() throws RapiException { - createInitSession(); - - // generate random file content - byte[] content = new byte[TEST_FILE_SIZE]; - for (int i = 0 ; i < content.length ; i++) { - content[i] = (byte)(Math.random() * 131); - } - - // write the test file at once - int handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - session.writeFile(handle, content); - session.closeHandle(handle); - - // try to read the whole file - handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - byte[] contentRead = new byte[TEST_FILE_SIZE]; - int br = session.readFile(handle, contentRead); - session.closeHandle(handle); - assertTrue("Different file content", arraysEqual(content, contentRead, br)); - - // write the test file by chunks - handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - int off = 0; - for (int i = 0 ; i < TEST_FILE_SIZE / CHUNK_SIZE ; i++) { - session.writeFile(handle, content, off, CHUNK_SIZE); - off += CHUNK_SIZE; - } - session.closeHandle(handle); - - // read the test file by chunks - handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - byte[] contentRead2 = new byte[TEST_FILE_SIZE]; - off = 0; - int bytesToRead = TEST_FILE_SIZE; - while (bytesToRead > 0) { - int len = CHUNK_SIZE < bytesToRead ? CHUNK_SIZE : bytesToRead; - br = session.readFile(handle, contentRead2, off, len); - off += br; - bytesToRead -= br; - } - session.closeHandle(handle); - assertTrue("Different file content", arraysEqual(content, contentRead2, TEST_FILE_SIZE)); - - // delete the test file - session.deleteFile(TEST_FILE_NAME); - } - - /** - * Tests creating and removing directories on the device. - */ - public void testCreateRemoveDirectories() throws RapiException { - createInitSession(); - try { - session.removeDirectory(TEST_DIR_NAME); - } catch (RapiException re) { - // ignore - } - session.createDirectory(TEST_DIR_NAME); - assertTrue("Failed to create directory: " + TEST_DIR_NAME, isDirectory(TEST_DIR_NAME)); - session.removeDirectory(TEST_DIR_NAME); - assertFalse("Failed to remove directory: " + TEST_DIR_NAME, isDirectory(TEST_DIR_NAME)); - } - - /** - * Utility method for creating files. - */ - void createFile(IRapiSession session, String fileName) throws RapiException { - int handle = session.createFile(fileName, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - session.writeFile(handle, "spam".getBytes()); - session.closeHandle(handle); - } - - /** - * Tests copying, moving and deleting files on the device. - */ - public void testCopyMoveDeleteFiles() throws RapiException { - createInitSession(); - - // create test file - createFile(session, TEST_FILE_NAME); - - // make a copy - String copy = TEST_FILE_NAME + "1"; - session.copyFile(TEST_FILE_NAME, copy); - assertTrue("The copied file doesn't exist: " + copy, isFile(copy)); - - // delete the test file - session.deleteFile(TEST_FILE_NAME); - assertFalse("Failed to delete file: " + TEST_FILE_NAME, isFile(TEST_FILE_NAME)); - - // rename the copy - session.moveFile(copy, TEST_FILE_NAME); - assertTrue("Failed to move file, existing file: " + copy + " new file: " + TEST_FILE_NAME, - isFile(TEST_FILE_NAME)); - assertFalse("Failed to move file, existing file: " + copy + " new file: " + TEST_FILE_NAME, - isFile(copy)); - - // delete test file - session.deleteFile(TEST_FILE_NAME); - } - - /** - * Utility method for creating a bunch of files. - */ - void createTempFiles() throws RapiException { - for (int i = 0 ; i < TEMP_FILES_COUNT ; i++) { - createFile(session, TEST_FILE_NAME + i); - } - } - - /** - * Tests finding files using {@link IRapiSession#findFirstFile(String, RapiFindData)} - */ - public void testFindFiles() throws RapiException { - createInitSession(); - createTempFiles(); - int filesFound = 0; - RapiFindData findData = new RapiFindData(); - int fh = session.findFirstFile(TEST_FILE_NAME + "?", findData); - while (findData != null) { - filesFound++; - findData = session.findNextFile(fh); - } - session.findClose(fh); - assertTrue("Found " + filesFound + " , expected " + TEMP_FILES_COUNT, - filesFound == TEMP_FILES_COUNT); - // clean up - for (int i = 0 ; i < TEMP_FILES_COUNT ; i++) { - session.deleteFile(TEST_FILE_NAME + i); - } - } - - /** - * Tests finding files using {@link IRapiSession#findAllFiles(String, int)} - */ - public void testFindAllFiles() throws RapiException { - createInitSession(); - createTempFiles(); - RapiFindData[] faf = session.findAllFiles(TEST_FILE_NAME + "?", Rapi.FAF_NAME); - int filesFound = faf.length; - assertTrue("Found " + filesFound + " , expected " + TEMP_FILES_COUNT, - filesFound == TEMP_FILES_COUNT); - // clean up - for (int i = 0 ; i < TEMP_FILES_COUNT ; i++) { - session.deleteFile(TEST_FILE_NAME + i); - } - } - - /** - * Tests getting and setting file attributes - */ - public void testGetSetFileAttributes() throws RapiException { - createInitSession(); - // create test file - createFile(session, TEST_FILE_NAME); - - session.setFileAttributes(TEST_FILE_NAME, Rapi.FILE_ATTRIBUTE_READONLY); - int attr = session.getFileAttributes(TEST_FILE_NAME); - assertTrue("Wrong file attributes, expected FILE_ATTRIBUTE_READONLY", - (attr & Rapi.FILE_ATTRIBUTE_READONLY) != 0); - - session.setFileAttributes(TEST_FILE_NAME, Rapi.FILE_ATTRIBUTE_ARCHIVE); - attr = session.getFileAttributes(TEST_FILE_NAME); - assertTrue("Wrong file attributes, expected FILE_ATTRIBUTE_ARCHIVE", - (attr & Rapi.FILE_ATTRIBUTE_ARCHIVE) != 0); - - //clean up - session.deleteFile(TEST_FILE_NAME); - } - - /** - * Tests getting file size using {@link IRapiSession#getFileSize(int)} - */ - public void testGetFileSize() throws RapiException { - createInitSession(); - // create test file - int handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - session.writeFile(handle, "spam".getBytes()); - assertTrue("Wrong file size, expected size 4 bytes", 4 == session.getFileSize(handle)); - session.closeHandle(handle); - //clean up - session.deleteFile(TEST_FILE_NAME); - } - - /** - * Tests getting and setting file times - */ - public void testGetSetFileTime() throws RapiException { - createInitSession(); - - // now + 1h - long d = System.currentTimeMillis() + 3600000; - - // create file and set last access time to d - int handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_WRITE, - Rapi.FILE_SHARE_READ, Rapi.CREATE_ALWAYS, Rapi.FILE_ATTRIBUTE_NORMAL); - session.writeFile(handle, "spam".getBytes()); - session.setFileLastWriteTime(handle, d); - session.closeHandle(handle); - // get file last write time and compare to d - handle = session.createFile(TEST_FILE_NAME, Rapi.GENERIC_READ, - Rapi.FILE_SHARE_READ, Rapi.OPEN_EXISTING, Rapi.FILE_ATTRIBUTE_NORMAL); - long lwTime = session.getFileLastWriteTime(handle); - // the precision of setLastWriteTime should be about 1-2sec - assertTrue("Too big difference for lastWriteTime, expected: " + d - + " returned: " + lwTime, Math.abs(lwTime - d) <= 5000); - session.closeHandle(handle); - - //clean up - session.deleteFile(TEST_FILE_NAME); - } - - protected void tearDown() throws Exception { - if (session != null) { - session.uninit(); - } - super.tearDown(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiTestCase.java eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiTestCase.java --- eclipse-rse-3.1.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiTestCase.java 2008-04-24 07:33:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.rapi.tests/src/org/eclipse/tm/rapi/tests/RapiTestCase.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Radoslav Gerganov - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Radoslav Gerganov - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.rapi.tests; - -import org.eclipse.tm.rapi.IRapiDesktop; -import org.eclipse.tm.rapi.IRapiDevice; -import org.eclipse.tm.rapi.IRapiEnumDevices; -import org.eclipse.tm.rapi.IRapiSession; -import org.eclipse.tm.rapi.Rapi; - -import junit.framework.TestCase; - -public class RapiTestCase extends TestCase { - - protected IRapiDesktop desktop = null; - protected IRapiEnumDevices enumDevices = null; - protected IRapiDevice device = null; - protected IRapiSession session = null; - - protected void setUp() throws Exception { - super.setUp(); - desktop = null; - enumDevices = null; - device = null; - session = null; - Rapi.initialize(Rapi.COINIT_MULTITHREADED); - } - - protected void tearDown() throws Exception { - super.tearDown(); - if (desktop != null) { - desktop.release(); - } - if (enumDevices != null) { - enumDevices.release(); - } - if (device != null) { - device.release(); - } - if (session != null) { - session.release(); - } - Rapi.uninitialize(); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/.cvsignore 2007-02-08 23:50:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/META-INF/MANIFEST.MF 2009-11-05 17:35:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.0.2.qualifier +Bundle-Version: 3.2.2.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -19,16 +19,19 @@ org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.preferences;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.provisional.api; x-friends:="org.eclipse.tm.terminal.serial, org.eclipse.tm.terminal.ssh, org.eclipse.tm.terminal.telnet, + org.eclipse.tm.terminal.local, org.eclipse.tm.terminal.view, org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.provisional.api.provider; x-friends:="org.eclipse.tm.terminal.serial, org.eclipse.tm.terminal.ssh, org.eclipse.tm.terminal.telnet, + org.eclipse.tm.terminal.local, org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/about.ini 2009-05-13 22:21:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/about.properties 2009-02-01 15:15:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/build.properties 2009-05-13 22:43:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,7 +25,7 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ icons/,\ HelpContexts.xml Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/plugin.properties 2009-05-13 22:21:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,12 +13,13 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### # NLS_MESSAGEFORMAT_NONE pluginName = Target Management Terminal Widget -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project terminal.context.name=Terminal widget context terminal.context.description=Override ALT+x menu access keys @@ -26,3 +27,7 @@ terminal.insertion.description=Terminal view insertion terminal.insertion.name=Terminal view insert terminal.insertion.category.name=Terminal view commands + +terminal.preferences.name = Terminal +terminal.font.description = The font for the terminal console. +terminal.font.label = Terminal Console Font diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/plugin.xml 2008-07-15 21:57:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,7 @@ @@ -106,4 +107,30 @@ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="Alt+W"/> + + + + + + + + + + + + + %terminal.font.description + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal + 3.2.2.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java 2009-07-16 20:13:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,6 +11,7 @@ * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Michael Scharf (Wing River) - [236458] Fix 168197 lost the last entry + * Anton Leherbauer (Wind River) - [220971] The optional terminal input line has redraw problems when resizing *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; @@ -29,6 +30,7 @@ import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; @@ -116,6 +118,7 @@ */ private Text fInputField; private Sash fSash; + private Composite fPanel; public CommandInputFieldWithHistory(int maxHistorySize) { fMaxSize=maxHistorySize; } @@ -222,13 +225,17 @@ fSash.setLayoutData(gd_sash); fSash.addListener (SWT.Selection, new Listener () { public void handleEvent (Event e) { + if (e.detail == SWT.DRAG) { + // don't redraw during drag, it causes paint errors - bug 220971 + return; + } // no idea why this is needed GridData gdata = (GridData) fInputField.getLayoutData(); Rectangle sashRect = fSash.getBounds (); Rectangle containerRect = parent.getClientArea (); int h=fInputField.getLineHeight(); - // make sure the input filed hight is a multiple of the line height + // make sure the input filed height is a multiple of the line height gdata.heightHint = Math.max(((containerRect.height-e.y-sashRect.height)/h)*h,h); // do not show less then one line e.y=Math.min(e.y,containerRect.height-h); @@ -238,7 +245,12 @@ parent.redraw(); } }); - fInputField=new Text(parent, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL); + fPanel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.marginWidth = 0; layout.marginHeight = 0; layout.marginTop = 0; layout.marginBottom = 2; + fPanel.setLayout(layout); + fPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + fInputField=new Text(fPanel, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL); GridData data=new GridData(SWT.FILL, SWT.FILL, true, false); boolean installDecoration=true; if(installDecoration) { @@ -301,8 +313,9 @@ public void dispose() { fSash.dispose(); fSash=null; + fPanel.dispose(); + fPanel=null; fInputField.dispose(); fInputField=null; - } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java 2008-07-07 20:38:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically ******************************************************************************/ package org.eclipse.tm.internal.terminal.control; @@ -45,7 +46,19 @@ String getEncoding(); boolean isEmpty(); + /** + * Sets the Terminal font + * @deprecated use {@link #setFont(String)} in order to support bold and italic variants of the given font + * @param font + */ void setFont(Font font); + /** + * Sets the font for the Terminal, using a JFace symbolic font name, such + * that bold and italic variants can be leveraged. + * @since 3.2 + * @param fontName + */ + void setFont(String fontName); void setInvertedColors(boolean invert); Font getFont(); /** diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java 2008-04-04 16:31:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; @@ -16,7 +17,28 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; public class TerminalViewControlFactory { + /** + * Instantiate a Terminal widget. + * @param target Callback for notifying the owner of Terminal state changes. + * @param wndParent The Window parent to embed the Terminal in. + * @param connectors Provided connectors. + */ public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { - return new VT100TerminalControl(target, wndParent, connectors); + return makeControl(target, wndParent, connectors, false); } + + /** + * Instantiate a Terminal widget. + * @param target Callback for notifying the owner of Terminal state changes. + * @param wndParent The Window parent to embed the Terminal in. + * @param connectors Provided connectors. + * @param useCommonPrefs If true, the Terminal widget will pick up settings + * from the org.eclipse.tm.terminal.TerminalPreferencePage Preference page. + * Otherwise, clients need to maintain settings themselves. + * @since 3.2 + */ + public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors, boolean useCommonPrefs) { + return new VT100TerminalControl(target, wndParent, connectors, useCommonPrefs); + } + } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java 2008-04-04 16:31:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -23,4 +24,9 @@ public static String IOError; public static String CannotConnectTo; public static String NotInitialized; + + //Preference Page + public static String INVERT_COLORS; + public static String BUFFERLINES; + } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties 2009-04-20 10:11:17.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### # NLS_MESSAGEFORMAT_VAR @@ -22,3 +23,6 @@ IOError = IO Error CannotConnectTo = Cannot initialize {0}:\n{1} NotInitialized = Not Initialized + +INVERT_COLORS = Invert terminal colors +BUFFERLINES = Terminal buffer lines: diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java 2009-02-01 12:40:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,8 @@ * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED + * Martin Oberhuber (Wind River) - [334969] Fix multi-command SGR sequence + * Kris De Volder (VMWare) - [392107] Switched interpretation for ESC[0K and ESC[1K sequences *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -29,7 +31,6 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.model.ITerminalTextData; import org.eclipse.tm.terminal.model.Style; @@ -664,13 +665,13 @@ switch (ansiParameter) { case 0: - // Erase from beginning to current position (inclusive). - text.eraseLineToCursor(); + // Erase from current position to end (inclusive). + text.eraseLineToEnd(); break; case 1: - // Erase from current position to end (inclusive). - text.eraseLineToEnd(); + // Erase from beginning to current position (inclusive). + text.eraseLineToCursor(); break; case 2: @@ -725,92 +726,107 @@ switch (ansiParameter) { case 0: // Reset all graphics modes. - text.setStyle(text.getDefaultStyle()); + style = text.getDefaultStyle(); break; case 1: - text.setStyle(style.setBold(true)); + style = style.setBold(true); + break; + + case 4: + style = style.setUnderline(true); + break; + + case 5: + style = style.setBlink(true); break; case 7: - text.setStyle(style.setReverse(true)); + style = style.setReverse(true); break; case 10: // Set primary font. Ignored. break; -// case 22: -// // TODO -// //currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes -// // only. -// break; + case 21: + case 22: + style = style.setBold(false); + break; + + case 24: + style = style.setUnderline(false); + break; + + case 25: + style = style.setBlink(false); + break; case 27: - text.setStyle(style.setReverse(false)); + style = style.setReverse(false); break; case 30: - text.setStyle(style.setForground("BLACK")); //$NON-NLS-1$ + style = style.setForground("BLACK"); //$NON-NLS-1$ break; case 31: - text.setStyle(style.setForground("RED")); //$NON-NLS-1$ + style = style.setForground("RED"); //$NON-NLS-1$ break; case 32: - text.setStyle(style.setForground("GREEN")); //$NON-NLS-1$ + style = style.setForground("GREEN"); //$NON-NLS-1$ break; case 33: - text.setStyle(style.setForground("YELLOW")); //$NON-NLS-1$ + style = style.setForground("YELLOW"); //$NON-NLS-1$ break; case 34: - text.setStyle(style.setForground("BLUE")); //$NON-NLS-1$ + style = style.setForground("BLUE"); //$NON-NLS-1$ break; case 35: - text.setStyle(style.setForground("MAGENTA")); //$NON-NLS-1$ + style = style.setForground("MAGENTA"); //$NON-NLS-1$ break; case 36: - text.setStyle(style.setForground("CYAN")); //$NON-NLS-1$ + style = style.setForground("CYAN"); //$NON-NLS-1$ break; case 37: - text.setStyle(style.setForground("WHITE_FOREGROUND")); //$NON-NLS-1$ + style = style.setForground("WHITE_FOREGROUND"); //$NON-NLS-1$ break; case 40: - text.setStyle(style.setBackground("BLACK")); //$NON-NLS-1$ + style = style.setBackground("BLACK"); //$NON-NLS-1$ break; case 41: - text.setStyle(style.setBackground("RED")); //$NON-NLS-1$ + style = style.setBackground("RED"); //$NON-NLS-1$ break; case 42: - text.setStyle(style.setBackground("GREEN")); //$NON-NLS-1$ + style = style.setBackground("GREEN"); //$NON-NLS-1$ break; case 43: - text.setStyle(style.setBackground("YELLOW")); //$NON-NLS-1$ + style = style.setBackground("YELLOW"); //$NON-NLS-1$ break; case 44: - text.setStyle(style.setBackground("BLUE")); //$NON-NLS-1$ + style = style.setBackground("BLUE"); //$NON-NLS-1$ break; case 45: - text.setStyle(style.setBackground("MAGENTA")); //$NON-NLS-1$ + style = style.setBackground("MAGENTA"); //$NON-NLS-1$ break; case 46: - text.setStyle(style.setBackground("CYAN")); //$NON-NLS-1$ + style = style.setBackground("CYAN"); //$NON-NLS-1$ break; case 47: - text.setStyle(style.setBackground("WHITE")); //$NON-NLS-1$ + style = style.setBackground("WHITE"); //$NON-NLS-1$ break; default: @@ -821,6 +837,7 @@ ++parameterIndex; } + text.setStyle(style); } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java 2007-10-08 21:12:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [206329] Changing terminal size right after connect does not scroll properly *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -77,34 +78,27 @@ synchronized (fTerminal) { if(lines==fLines && cols==fColumns) return; // nothing to do - // cursor line from the bottom - int cl=lines-(fLines-getCursorLine()); + // relative cursor line + int cl=getCursorLine(); int cc=getCursorColumn(); - int newLines=Math.max(lines,fTerminal.getHeight()); - // if the terminal has no history, then resize by - // setting the size to the new size - if(fTerminal.getHeight()==fLines) { - if(lines1) -// break; -// // is the line empty? -// if(segments[0].getText().replaceAll("[\000 ]+", "").length()==0) -// break; -// } - } else { - cl+=fLines-lines; + int height=fTerminal.getHeight(); + // absolute cursor line + int acl=cl+height-fLines; + int newLines=Math.max(lines,height); + if(linestrue
      , the Terminal widget will pick up settings + * from the org.eclipse.tm.terminal.TerminalPreferencePage Preference page. + * Otherwise, clients need to maintain settings themselves. + * @since 3.2 + */ + public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors, boolean useCommonPrefs) { fConnectors=connectors; + fUseCommonPrefs = useCommonPrefs; fTerminalListener=target; fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); fTerminalModel.setMaxHeight(1000); @@ -173,16 +225,20 @@ * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy() */ public void copy() { - getCtlText().copy(); + copy(DND.CLIPBOARD); + } + + private void copy(int clipboardType) { + Object[] data = new Object[] { getSelection() }; + Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; + fClipboard.setContents(data, types, clipboardType); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste() */ public void paste() { - TextTransfer textTransfer = TextTransfer.getInstance(); - String strText = (String) fClipboard.getContents(textTransfer); - pasteString(strText); + paste(DND.CLIPBOARD); // TODO paste in another thread.... to avoid blocking // new Thread() { // public void run() { @@ -194,6 +250,12 @@ // }.start(); } + private void paste(int clipboardType) { + TextTransfer textTransfer = TextTransfer.getInstance(); + String strText = (String) fClipboard.getContents(textTransfer, clipboardType); + pasteString(strText); + } + /** * @param strText the text to paste */ @@ -297,6 +359,10 @@ */ public void disposeTerminal() { Logger.log("entered."); //$NON-NLS-1$ + if(fUseCommonPrefs) { + TerminalPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); + JFaceResources.getFontRegistry().removeListener(fFontListener); + } disconnectTerminal(); fClipboard.dispose(); getTerminalText().dispose(); @@ -330,27 +396,29 @@ public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ - if (getState()==TerminalState.CLOSED) { - return; - } - if(getTerminalConnector()!=null) { - getTerminalConnector().disconnect(); + //Disconnect the remote side first + if (getState()!=TerminalState.CLOSED) { + if(getTerminalConnector()!=null) { + getTerminalConnector().disconnect(); + } } - //Ensure that a new Job can be started; then clean up old Job. - //TODO not sure whether the fInputStream needs to be cleaned too, - //or whether the Job could actually cancel in case the fInputStream is closed. - Job job; - synchronized(this) { - job = fJob; - fJob = null; - } - if (job!=null) { - job.cancel(); - //There's not really a need to interrupt, since the job will - //check its cancel status after 500 msec latest anyways... - //Thread t = job.getThread(); - //if(t!=null) t.interrupt(); - } + + //Ensure that a new Job can be started; then clean up old Job. + Job job; + synchronized(this) { + job = fJob; + fJob = null; + } + if (job!=null) { + job.cancel(); + // Join job to avoid leaving job running after workbench shutdown (333613). + // Interrupt to be fast enough; cannot close fInputStream since it is re-used (bug 348700). + Thread t = job.getThread(); + if(t!=null) t.interrupt(); + try { + job.join(); + } catch (InterruptedException e) {} + } } // TODO @@ -524,15 +592,53 @@ } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal() + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal(org.eclipse.swt.widgets.Composite) */ public void setupTerminal(Composite parent) { + Assert.isNotNull(parent); fState=TerminalState.CLOSED; setupControls(parent); setupListeners(); + if (fUseCommonPrefs) { + updatePreferences(); + onTerminalFontChanged(); + TerminalPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); + JFaceResources.getFontRegistry().addListener(fFontListener); + } setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); } + /* + * (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#updatePreferences() + */ + private void updatePreferences() { + int bufferLineLimit = Platform.getPreferencesService().getInt(TerminalPlugin.PLUGIN_ID, ITerminalConstants.PREF_BUFFERLINES, 0, null); + boolean invert = Platform.getPreferencesService().getBoolean(TerminalPlugin.PLUGIN_ID, ITerminalConstants.PREF_INVERT_COLORS, false, null); + setBufferLineLimit(bufferLineLimit); + setInvertedColors(invert); + } + + private void onTerminalFontChanged() { + // set the font for all + setFont(ITerminalConstants.FONT_DEFINITION); + } + + /* + * (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(java.lang.String) + */ + public void setFont(String fontName) { + Font font=JFaceResources.getFont(fontName); + getCtlText().setFont(font); + if(fCommandInputField!=null) { + fCommandInputField.setFont(font); + } + // Tell the TerminalControl singleton that the font has changed. + fCtlText.updateFont(fontName); + getTerminalText().fontChanged(); + } + /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#onFontChanged() */ @@ -584,12 +690,19 @@ fTerminalText.setDimensions(lines, columns); } }); - + fCtlText.addMouseListener(new MouseAdapter() { + public void mouseUp(MouseEvent e) { + // update selection used by middle mouse button paste + if (e.button == 1 && getSelection().length() > 0) { + copy(DND.SELECTION_CLIPBOARD); + } + } + }); fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); // fViewer.setDocument(new TerminalDocument()); - setFont(JFaceResources.getTextFont()); +// setFont(JFaceResources.getTextFont()); } protected void setupListeners() { @@ -754,6 +867,13 @@ return; } + // Manage the Del key + if (event.keyCode == 0x000007f) + { + sendString("\u001b[3~"); //$NON-NLS-1$ + return; + } + // If the event character is NUL ('\u0000'), then a special key was pressed // (e.g., PageUp, PageDown, an arrow key, a function key, Shift, Alt, // Control, etc.). The one exception is when the user presses Control-@, @@ -789,11 +909,11 @@ break; case 0x1000005: // PgUp key. - sendString("\u001b[I"); //$NON-NLS-1$ + sendString("\u001b[5~"); //$NON-NLS-1$ break; case 0x1000006: // PgDn key. - sendString("\u001b[G"); //$NON-NLS-1$ + sendString("\u001b[6~"); //$NON-NLS-1$ break; case 0x1000007: // Home key. @@ -804,6 +924,10 @@ sendString("\u001b[F"); //$NON-NLS-1$ break; + case 0x1000009: // Insert. + sendString("\u001b[2~"); //$NON-NLS-1$ + break; + case 0x100000a: // F1 key. if ( (event.stateMask & SWT.CTRL)!=0 ) { //Allow Ctrl+F1 to act locally as well as on the remote, because it is diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +public interface ITerminalConstants { + + public static final String PREF_HAS_MIGRATED = "TerminalPref.migrated"; //$NON-NLS-1$ + + public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ + public static final String PREF_INVERT_COLORS = "TerminalPrefInvertColors"; //$NON-NLS-1$ + public static final int DEFAULT_BUFFERLINES = 1000; + public static final boolean DEFAULT_INVERT_COLORS = false; + + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.osgi.service.prefs.Preferences; + +public class PreferenceModifyListener extends + org.eclipse.core.runtime.preferences.PreferenceModifyListener { + + public PreferenceModifyListener() { + // Nothing to do + } + + /** + * Intercept programmatic access to old Terminal Preferences such as "invert" + */ + public IEclipsePreferences preApply(IEclipsePreferences node) { + migrateTerminalPreferences(node.node("instance")); //$NON-NLS-1$ + return super.preApply(node); + } + + public static void migrateTerminalPreferences(Preferences node) { + Preferences terminalPrefs = node.node(TerminalPlugin.PLUGIN_ID); + Preferences oldPrefs = node.node("org.eclipse.tm.terminal.view"); //$NON-NLS-1$ + String oldInvert = oldPrefs.get(ITerminalConstants.PREF_INVERT_COLORS, null); + String oldBuflines = oldPrefs.get(ITerminalConstants.PREF_BUFFERLINES, null); + if (oldInvert != null) { + terminalPrefs.put(ITerminalConstants.PREF_INVERT_COLORS, oldInvert); + oldPrefs.remove(ITerminalConstants.PREF_INVERT_COLORS); + } + if (oldBuflines != null) { + terminalPrefs.put(ITerminalConstants.PREF_BUFFERLINES, oldBuflines); + oldPrefs.remove(ITerminalConstants.PREF_BUFFERLINES); + } + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.core.runtime.preferences.DefaultScope; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.core.runtime.preferences.InstanceScope; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; + +public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { + + public TerminalPreferenceInitializer() { + } + + public void initializeDefaultPreferences() { + //DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); + defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); + defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); + migrateTerminalPreferences(); + } + + /** + * Migrate settings from the older org.eclipse.tm.terminal.view bundle into the o.e.tm.terminal bundle + */ + public static void migrateTerminalPreferences() { + //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + IEclipsePreferences prefs = new InstanceScope().getNode(TerminalPlugin.PLUGIN_ID); + if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { + prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); + PreferenceModifyListener.migrateTerminalPreferences(new InstanceScope().getNode("")); //$NON-NLS-1$ + } + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.IntegerFieldEditor; +import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class TerminalPreferencePage extends FieldEditorPreferencePage implements + IWorkbenchPreferencePage { + protected BooleanFieldEditor fInvertColors; + + protected IntegerFieldEditor fEditorBufferSize; + + public TerminalPreferencePage() { + super(GRID); + } + protected void createFieldEditors() { + setupPage(); + } + public void init(IWorkbench workbench) { + // do nothing + } + protected void setupPage() { + setupData(); + setupEditors(); + } + protected void setupData() { + TerminalPlugin plugin; + IPreferenceStore preferenceStore; + + plugin = TerminalPlugin.getDefault(); + preferenceStore = plugin.getPreferenceStore(); + setPreferenceStore(preferenceStore); + } + protected void setupEditors() { + fInvertColors = new BooleanFieldEditor( + ITerminalConstants.PREF_INVERT_COLORS, TerminalMessages.INVERT_COLORS, + getFieldEditorParent()); + fEditorBufferSize = new IntegerFieldEditor(ITerminalConstants.PREF_BUFFERLINES, + TerminalMessages.BUFFERLINES, getFieldEditorParent()); + + fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); + + addField(fInvertColors); + addField(fEditorBufferSize); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2013 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.ListenerList; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.ControlDecoration; +import org.eclipse.jface.fieldassist.FieldDecoration; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Control; + +/** + * Abstract settings page providing a common implementation of the listener handling. + */ +public abstract class AbstractSettingsPage implements ISettingsPage, IMessageProvider { + // A message associated with the control. + private String message = null; + + // The message type of the associated message. + private int messageType = IMessageProvider.NONE; + + // Reference to the listener + private final ListenerList listeners = new ListenerList(); + + // Flag to control the control decorations + private boolean hasDecoration = false; + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#addListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) + */ + public void addListener(Listener listener) { + Assert.isNotNull(listener); + listeners.add(listener); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#removeListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) + */ + public void removeListener(Listener listener) { + Assert.isNotNull(listener); + listeners.remove(listener); + } + + /** + * Fire the listeners for the given control. + * + * @param control The control or null. + */ + public void fireListeners(Control control) { + Object[] list = listeners.getListeners(); + for (int i = 0; i < list.length; i++) { + Object l = list[i]; + if (!(l instanceof Listener)) continue; + ((Listener)l).onSettingsPageChanged(control); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() + */ + public final String getMessage() { + return message; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() + */ + public final int getMessageType() { + return messageType; + } + + /** + * Set the message and the message type. + * + * @param message The message or null. + * @param messageType The type of the message (NONE, INFORMATION, WARNING, ERROR). + */ + public final void setMessage(String message, int messageType) { + this.message = message; + this.messageType = messageType; + } + + /** + * Sets if or if not the settings panel widgets will have control decorations + * or not. The method has effect only if called before {@link #createControl(org.eclipse.swt.widgets.Composite)}. + * + * @param value True if the panel widgets have control decorations, false otherwise. + */ + public final void setHasControlDecoration(boolean value) { + this.hasDecoration = value; + } + + /** + * Returns if or if not the settings panel widgets will have control + * decorations or not. + * + * @return True if the panel widgets have control decorations, false otherwise. + */ + protected final boolean hasControlDecoration() { + return hasDecoration; + } + + /** + * Creates a new instance of a {@link ControlDecoration} object associated with + * the given control. The method is called after the control has been created. + * + * @param control The control. Must not be null. + * @return The control decoration object instance. + */ + protected final ControlDecoration createControlDecoration(Control control) { + Assert.isNotNull(control); + if (!hasDecoration) return null; + ControlDecoration controlDecoration = new ControlDecoration(control, getControlDecorationPosition()); + controlDecoration.setShowOnlyOnFocus(false); + control.setData("controlDecoration", controlDecoration); //$NON-NLS-1$ + return controlDecoration; + } + + /** + * Returns the control decoration position. The default is + * {@link SWT#TOP} | {@link SWT#LEFT}. + * + * @return The control position. + */ + protected int getControlDecorationPosition() { + return SWT.TOP | SWT.LEFT; + } + + /** + * Updates the control decoration of the given control to represent the given message + * and message type. If the message is null or the message type is + * {@link IMessageProvider#NONE} no decoration will be shown. + * + * @param control The control. Must not be null. + * @param message The message. + * @param messageType The message type. + */ + protected final void updateControlDecoration(Control control, String message, int messageType) { + Assert.isNotNull(control); + + ControlDecoration controlDecoration = (ControlDecoration)control.getData("controlDecoration"); //$NON-NLS-1$ + if (controlDecoration != null) { + // The description is the same as the message + controlDecoration.setDescriptionText(message); + + // The icon depends on the message type + FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault(); + + // Determine the id of the decoration to show + String decorationId = FieldDecorationRegistry.DEC_INFORMATION; + if (messageType == IMessageProvider.ERROR) { + decorationId = FieldDecorationRegistry.DEC_ERROR; + } else if (messageType == IMessageProvider.WARNING) { + decorationId = FieldDecorationRegistry.DEC_WARNING; + } + + // Get the field decoration + FieldDecoration fieldDeco = registry.getFieldDecoration(decorationId); + if (fieldDeco != null) { + controlDecoration.setImage(fieldDeco.getImage()); + } + + if (message == null || messageType == IMessageProvider.NONE) { + controlDecoration.hide(); + } + else { + controlDecoration.show(); + } + } + } + +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java 2007-05-24 14:53:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,32 +1,44 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; /** * @author Michael Scharf * - * TODO: Michael Scharf: provide a mechanism to set an error string * TODO: Michael Scharf: provide a long description of a wizard * TODO: Michael Scharf: allow multiple pages to be generated *

      * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

      */ public interface ISettingsPage { + + public interface Listener { + + /** + * Invoked by settings page controls to signal that the settings page + * changed and page container may update their state. + * + * @param control The control which triggered the event or null + */ + public void onSettingsPageChanged(Control control); + } + /** * Create a page to be shown in a dialog or wizard to setup the connection. * @param parent @@ -44,8 +56,25 @@ void saveSettings(); /** - * @return true if the + * @return true if the */ boolean validateSettings(); - + + /** + * Adds the given listener. + *

      + * Has not effect if the same listener is already registered. + * + * @param listener The listener. Must not be null. + */ + public void addListener(Listener listener); + + /** + * Removes the given listener. + *

      + * Has no effect if the same listener was not registered. + * + * @param listener The listener. Must not be null. + */ + public void removeListener(Listener listener); } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java 2007-05-24 14:53:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,7 +19,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

      */ public interface ISettingsStore { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java 2009-07-10 12:47:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -45,7 +45,7 @@ * as part of a work in progress. There is no guarantee that this API * will work or that it will remain the same. Please do not use this API * without consulting with the Target Management team. + * href="http://www.eclipse.org/tm/">Target Management team. *

      */ public interface ITerminalConnector extends IAdaptable { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java 2009-01-19 14:03:07.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; /** @@ -24,7 +25,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

      * * @author Michael Scharf @@ -44,6 +45,13 @@ void setState(TerminalState state); /** + * Setup the terminal control within the given parent composite. + * + * @param parent The parent composite. Must not be null. + */ + void setupTerminal(Composite parent); + + /** * A shell to show dialogs. * @return the shell in which the terminal is shown. */ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java 2008-07-09 14:39:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,7 +16,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

      */ public class LayeredSettingsStore implements ISettingsStore { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java 2009-05-13 22:43:24.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -37,7 +37,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

      */ public final class Logger { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java 2008-07-09 14:39:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,7 +18,7 @@ * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

      */ public class PreferenceSettingStore implements ISettingsStore { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java 2009-07-10 12:47:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,7 +32,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

      */ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java 2009-02-01 12:40:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,7 +21,7 @@ * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

      */ public class TerminalState { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java 2008-04-11 17:37:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 + * Anton Leherbauer (Wind River) - [219589] Copy an entire line selection *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -281,7 +282,7 @@ * @return the currently selected text */ private String extractSelectedText() { - if(fSelectionStartLine<0 || fSelectionStartCoumn<0 || fSelectionEndColumn<0 || fSelectionSnapshot==null) + if(fSelectionStartLine<0 || fSelectionStartCoumn<0 || fSelectionSnapshot==null) return ""; //$NON-NLS-1$ StringBuffer buffer=new StringBuffer(); for (int line = fSelectionStartLine; line <= fSeletionEndLine; line++) { @@ -289,7 +290,7 @@ char[] chars=fSelectionSnapshot.getChars(line); if(chars!=null) { text=new String(chars); - if(line==fSeletionEndLine) + if(line==fSeletionEndLine && fSelectionEndColumn >= 0) text=text.substring(0, Math.min(fSelectionEndColumn+1,text.length())); if(line==fSelectionStartLine) text=text.substring(Math.min(fSelectionStartCoumn,text.length())); diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java 2008-04-04 16:31:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -18,6 +19,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.ScrollBar; /** * A Grid based Canvas. The canvas has rows and columns. @@ -45,20 +47,6 @@ } - public void setBounds(int x, int y, int width, int height) { - // adjust the height so that there are no characters cut - // Maybe it would be better to use a custom Layout... - int shiftH=0; - if(getCellHeight()!=0) - shiftH=height % getCellHeight(); - super.setBounds(x, y+shiftH, width, height-shiftH); - } - - public void setBounds(Rectangle rect) { - // just to be sure our set bounds is called! - setBounds(rect.x,rect.y,rect.width,rect.height); - } - /** template method paint. * iterates over all cells in the clipping rectangle and paints them. */ @@ -73,6 +61,9 @@ int colFirst=virtualXToCell(xOffset+clipping.x); if(colFirst>getCols()) colFirst=getCols(); + else if (colFirst < 0) { + colFirst = 0; + } int rowFirst=virtualYToCell(yOffset+clipping.y); // End coordinates int colLast=virtualXToCell(xOffset+clipping.x+clipping.width+fCellWidth); @@ -172,10 +163,10 @@ int cellX=virtualXToCell(x); int cellY=virtualYToCell(y); // End coordinates - int xE=virtualXToCell(x+fCellWidth+width-1); + int xE=virtualXToCell(x+width); // if(xE>getCols()) // xE=getCols(); - int yE=virtualYToCell(y+fCellHeight+height-1); + int yE=virtualYToCell(y+height); // if(yE>getRows()) // yE=getRows(); visibleCellRectangleChanged(cellX,cellY,xE-cellX,yE-cellY); @@ -193,5 +184,49 @@ protected void visibleCellRectangleChanged(int x, int y, int width, int height) { } + protected void setVirtualExtend(int width, int height) { + int cellHeight = getCellHeight(); + if (cellHeight > 0) { + height -= height % cellHeight; + } + super.setVirtualExtend(width, height); + } + + protected void setVirtualOrigin(int x, int y) { + int cellHeight = getCellHeight(); + if (cellHeight > 0) { + int remainder = y % cellHeight; + if (remainder < 0) { + y -= (cellHeight + remainder); + } else { + y -= remainder; + } + } + super.setVirtualOrigin(x, y); + } + + protected void scrollY(ScrollBar vBar) { + int vSelection = vBar.getSelection (); + Rectangle bounds = getVirtualBounds(); + int y = -vSelection; + int cellHeight = getCellHeight(); + if (cellHeight > 0) { + int remainder = y % cellHeight; + if (remainder < 0) { + y -= (cellHeight + remainder); + } else { + y -= remainder; + } + } + int deltaY = y - bounds.y; + if(deltaY!=0) { + scrollSmart(0,deltaY); + setVirtualOrigin(bounds.x, bounds.y += deltaY); + } + if (-bounds.y + getRows() * getCellHeight() >= bounds.height) { + // scrolled to bottom - need to redraw bottom area + Rectangle clientRect = getClientArea(); + redraw(0, clientRect.height - fCellHeight, clientRect.width, fCellHeight, false); + } + } } - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java 2007-10-13 02:20:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,9 +7,12 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; /** @@ -19,6 +22,16 @@ int getCellWidth(); int getCellHeight(); void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast); + /** + * Update for a font change from the global JFace Registry. + */ void onFontChange(); + /** + * Set a new font + * @param fontName Jface name of the new font + * @since 3.2 + */ + void updateFont(String fontName); void setInvertedColors(boolean invert); + Color getDefaultBackgroundColor(); } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java 2008-02-26 02:49:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 1996, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer * Martin Oberhuber (Wind River) - the waitForAvailable method * Martin Oberhuber (Wind River) - [208166] Avoid unnecessary arraycopy in BoundedByteBuffer + * Pawel Piech (Wind River) - [333613] "Job found still running" after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -72,7 +73,7 @@ * Must be called with a lock on this! */ public int available() { - return fUsedSlots; + return fUsedSlots; } /** * Writes a single byte to the buffer. Blocks if the buffer is full. @@ -231,13 +232,13 @@ */ public void waitForAvailable(long millis) throws InterruptedException { synchronized(fQueue) { - if(fQueue.available()==0) + if(fQueue.available()==0 && !fQueue.fClosed) fQueue.wait(millis); } } /** * Must be called in the Display Thread! - * @return true if a character is available for the terminal to show. + * @return number of characters available for reading. */ public int available() { synchronized(fQueue) { @@ -259,12 +260,14 @@ } } /** - * Closing a PipedInputStream has no effect. The methods in - * this class can be called after the stream has been closed without - * generating an IOException. - *

      + * Closing a PipedInputStream is the same as closing the output stream. + * The stream will allow reading data that's still in the pipe after which it will + * throw an IOException. */ public void close() throws IOException { + synchronized(fQueue) { + fQueue.close(); + } } public int read(byte[] cbuf, int off, int len) throws IOException { diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java 2009-02-18 18:11:09.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,6 +11,8 @@ * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly * Michael Scharf (Wind River) - [206328] Terminal does not draw correctly with proportional fonts * Martin Oberhuber (Wind River) - [247700] Terminal uses ugly fonts in JEE package + * Martin Oberhuber (Wind River) - [335358] Fix Terminal color definition + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -25,6 +27,7 @@ import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; import org.eclipse.tm.terminal.model.Style; import org.eclipse.tm.terminal.model.StyleColor; @@ -41,11 +44,10 @@ private static final String RED = "red"; //$NON-NLS-1$ private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ - // TODO propagate the name of the font in the FontRegistry - private static final String fDefaultFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ - String fFontName=fDefaultFontName; + String fFontName=ITerminalConstants.FONT_DEFINITION; Map fColorMapForeground=new HashMap(); Map fColorMapBackground=new HashMap(); + Map fColorMapIntense=new HashMap(); Map fFontMap=new HashMap(); private Point fCharSize; private final Style fDefaultStyle; @@ -60,24 +62,25 @@ private void initColors() { initForegroundColors(); initBackgroundColors(); + initIntenseColors(); } private void initForegroundColors() { if(fInvertColors) { setColor(fColorMapForeground, WHITE, 0, 0, 0); setColor(fColorMapForeground, WHITE_FOREGROUND, 50, 50, 50); - setColor(fColorMapForeground, BLACK, 255, 255, 255); + setColor(fColorMapForeground, BLACK, 229, 229, 229); } else { setColor(fColorMapForeground, WHITE, 255, 255, 255); setColor(fColorMapForeground, WHITE_FOREGROUND, 229, 229, 229); - setColor(fColorMapForeground, BLACK, 0, 0, 0); + setColor(fColorMapForeground, BLACK, 50, 50, 50); } - setColor(fColorMapForeground, RED, 255, 128, 128); - setColor(fColorMapForeground, GREEN, 128, 255, 128); - setColor(fColorMapForeground, BLUE, 128, 128, 255); - setColor(fColorMapForeground, YELLOW, 255, 255, 0); - setColor(fColorMapForeground, CYAN, 0, 255, 255); - setColor(fColorMapForeground, MAGENTA, 255, 255, 0); - setColor(fColorMapForeground, GRAY, 128, 128, 128); + setColor(fColorMapForeground, RED, 205, 0, 0); + setColor(fColorMapForeground, GREEN, 0, 205, 0); + setColor(fColorMapForeground, BLUE, 0, 0, 238); + setColor(fColorMapForeground, YELLOW, 205, 205, 0); + setColor(fColorMapForeground, CYAN, 0, 205, 205); + setColor(fColorMapForeground, MAGENTA, 205, 0, 205); + setColor(fColorMapForeground, GRAY, 229, 229, 229); } private void initBackgroundColors() { @@ -90,14 +93,34 @@ setColor(fColorMapBackground, WHITE_FOREGROUND, 229, 229, 229); setColor(fColorMapBackground, BLACK, 0, 0, 0); } - setColor(fColorMapBackground, RED, 255, 128, 128); - setColor(fColorMapBackground, GREEN, 128, 255, 128); - setColor(fColorMapBackground, BLUE, 128, 128, 255); - setColor(fColorMapBackground, YELLOW, 255, 255, 0); - setColor(fColorMapBackground, CYAN, 0, 255, 255); - setColor(fColorMapBackground, MAGENTA, 255, 255, 0); - setColor(fColorMapBackground, GRAY, 128, 128, 128); + setColor(fColorMapBackground, RED, 205, 0, 0); + setColor(fColorMapBackground, GREEN, 0, 205, 0); + setColor(fColorMapBackground, BLUE, 0, 0, 238); + setColor(fColorMapBackground, YELLOW, 205, 205, 0); + setColor(fColorMapBackground, CYAN, 0, 205, 205); + setColor(fColorMapBackground, MAGENTA, 205, 0, 205); + setColor(fColorMapBackground, GRAY, 229, 229, 229); } + + private void initIntenseColors() { + if(fInvertColors) { + setColor(fColorMapIntense, WHITE, 127, 127, 127); + setColor(fColorMapIntense, WHITE_FOREGROUND, 0, 0, 0); // only used when colors are inverse + setColor(fColorMapIntense, BLACK, 255, 255, 255); + } else { + setColor(fColorMapIntense, WHITE, 255, 255, 255); + setColor(fColorMapIntense, WHITE_FOREGROUND, 255, 255, 255); + setColor(fColorMapIntense, BLACK, 0, 0, 0); + } + setColor(fColorMapIntense, RED, 255, 0, 0); + setColor(fColorMapIntense, GREEN, 0, 255, 0); + setColor(fColorMapIntense, BLUE, 92, 92, 255); + setColor(fColorMapIntense, YELLOW, 255, 255, 0); + setColor(fColorMapIntense, CYAN, 0, 255, 255); + setColor(fColorMapIntense, MAGENTA, 255, 0, 255); + setColor(fColorMapIntense, GRAY, 255, 255, 255); + } + private void setColor(Map colorMap, String name, int r, int g, int b) { String colorName=PREFIX+r+"-"+g+"-"+b; //$NON-NLS-1$//$NON-NLS-2$ Color color=JFaceResources.getColorRegistry().get(colorName); @@ -111,10 +134,12 @@ public Color getForegrondColor(Style style) { style = defaultIfNull(style); + Map map = style.isBold() ? fColorMapIntense : fColorMapForeground; + //Map map = fColorMapForeground; if(style.isReverse()) - return getColor(fColorMapForeground,style.getBackground()); + return getColor(map ,style.getBackground()); else - return getColor(fColorMapForeground,style.getForground()); + return getColor(map ,style.getForground()); } public Color getBackgroundColor(Style style) { style = defaultIfNull(style); @@ -169,13 +194,19 @@ return fCharSize.y; } public void updateFont() { + updateFont(ITerminalConstants.FONT_DEFINITION); + } + /** + * Update the StyleMap for a new font name. + * The font name must be a valid name in the Jface font registry. + * @param fontName Jface name of the new font to use. + * @since 3.2 + */ + public void updateFont(String fontName) { Display display=Display.getCurrent(); GC gc = new GC (display); - if (JFaceResources.getFontRegistry().hasValueFor(fDefaultFontName)) { - fFontName = fDefaultFontName; - } else if (JFaceResources.getFontRegistry().hasValueFor("REMOTE_COMMANDS_VIEW_FONT")) { //$NON-NLS-1$ - //try RSE Shell View Font - fFontName = "REMOTE_COMMANDS_VIEW_FONT"; //$NON-NLS-1$ + if (JFaceResources.getFontRegistry().hasValueFor(fontName)) { + fFontName = fontName; } else { //fall back to "basic jface text font" fFontName = "org.eclipse.jface.textfont"; //$NON-NLS-1$ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java 2009-11-08 23:11:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,12 @@ * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected * Uwe Stieber (Wind River) - [281328] The very first few characters might be missing in the terminal control if opened and connected programmatically * Martin Oberhuber (Wind River) - [294327] After logging in, the remote prompt is hidden + * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering + * Uwe Stieber (Wind River) - [205486] Fix ScrollLock always moving to line 1 + * Anton Leherbauer (Wind River) - [219589] Copy an entire line selection + * Anton Leherbauer (Wind River) - [196465] Resizing Terminal changes Scroller location + * Anton Leherbauer (Wind River) - [324608] Terminal has strange scrolling behaviour + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -23,6 +29,7 @@ import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.MouseMoveListener; +import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; @@ -66,9 +73,11 @@ // since it allows switching the terminal viewport small/large as needed, // without destroying the backing store. For a complete solution, // Bug 196462 tracks the request for a user-defined fixed-widow-size-mode. - private int fMinColumns=20; + private int fMinColumns=80; private int fMinLines=4; private boolean fCursorEnabled; + private boolean fResizing; + /** * Create a new CellCanvas with the given SWT style bits. * (SWT.H_SCROLL and SWT.V_SCROLL are automatically added). @@ -84,13 +93,16 @@ repaintRange(col,line,width,height); } public void dimensionsChanged(int cols, int rows) { - setVirtualExtend(cols+getCellWidth(), rows+getCellHeight()); calculateGrid(); } public void terminalDataChanged() { if(isDisposed()) return; - scrollToEnd(); + // scroll to end (unless scroll lock is active) + if (!fResizing) { + calculateGrid(); + scrollToEnd(); + } } }); // let the cursor blink if the text canvas gets the focus... @@ -160,7 +172,10 @@ if (fDraggingStart !=null && !p.equals(fDraggingEnd)) { fDraggingEnd = p; if (compare(p, fDraggingStart) < 0) { - fCellCanvasModel.setSelection(p.y, fDraggingStart.y, p.x, fDraggingStart.x); + // bug 219589 - make sure selection start coordinates are non-negative + int startColumn = Math.max(0, p.x); + int startRow = Math.max(p.y, 0); + fCellCanvasModel.setSelection(startRow, fDraggingStart.y, startColumn, fDraggingStart.x); } else { fCellCanvasModel.setSelection(fDraggingStart.y, p.y, fDraggingStart.x, p.x); @@ -206,8 +221,10 @@ protected void onResize(boolean init) { if(fResizeListener!=null) { Rectangle bonds=getClientArea(); - int lines=bonds.height/getCellHeight(); - int columns=bonds.width/getCellWidth(); + int cellHeight = getCellHeight(); + int cellWidth = getCellWidth(); + int lines=bonds.height/cellHeight; + int columns=bonds.width/cellWidth; // when the view is minimised, its size is set to 0 // we don't sent this to the terminal! if((lines>0 && columns>0) || init) { @@ -215,15 +232,14 @@ if(!isHorizontalBarVisble()) { setHorizontalBarVisible(true); bonds=getClientArea(); - lines=bonds.height/getCellHeight(); + lines=bonds.height/cellHeight; } columns=fMinColumns; } else if(columns>=fMinColumns && isHorizontalBarVisble()) { setHorizontalBarVisible(false); bonds=getClientArea(); - lines=bonds.height/getCellHeight(); - columns=bonds.width/getCellWidth(); - + lines=bonds.height/cellHeight; + columns=bonds.width/cellWidth; } if(lines 0) { + y = 0; + } Rectangle v=getViewRectangle(); - if(v.y!=y) { + if(v.y!=-y) { setVirtualOrigin(v.x,y); } + // make sure the scroll area is correct: + scrollY(getVerticalBar()); + scrollX(getHorizontalBar()); } } /** @@ -267,7 +299,6 @@ } /** * If set then if the size changes - * @param scrollLock */ public void setScrollLock(boolean scrollLock) { fScrollLock=scrollLock; @@ -279,7 +310,9 @@ } protected void drawLine(GC gc, int line, int x, int y, int colFirst, int colLast) { fCellRenderer.drawLine(fCellCanvasModel, gc,line,x,y,colFirst, colLast); - + } + protected Color getTerminalBackgroundColor() { + return fCellRenderer.getDefaultBackgroundColor(); } protected void visibleCellRectangleChanged(int x, int y, int width, int height) { fCellCanvasModel.setVisibleRectangle(y,x,height,width); @@ -341,6 +374,9 @@ } } + /** + * Notify about a change of the global Font Preference. + */ public void onFontChange() { fCellRenderer.onFontChange(); setCellWidth(fCellRenderer.getCellWidth()); @@ -348,6 +384,13 @@ calculateGrid(); } + public void updateFont(String fontName) { + fCellRenderer.updateFont(fontName); + setCellWidth(fCellRenderer.getCellWidth()); + setCellHeight(fCellRenderer.getCellHeight()); + calculateGrid(); + } + public void setInvertedColors(boolean invert) { fCellRenderer.setInvertedColors(invert); redraw(); diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java 2008-04-04 16:31:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,8 @@ * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [205260] Terminal does not take the font from the preferences * Michael Scharf (Wind River) - [206328] Terminal does not draw correctly with proportional fonts + * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -28,10 +30,8 @@ public class TextLineRenderer implements ILinelRenderer { private final ITextCanvasModel fModel; StyleMap fStyleMap=new StyleMap(); - Color fBackgroundColor; public TextLineRenderer(TextCanvas c, ITextCanvasModel model) { fModel=model; - fBackgroundColor=Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND); } /* (non-Javadoc) * @see com.imagicus.thumbs.view.ICellRenderer#getCellWidth() @@ -47,7 +47,7 @@ } public void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast) { if(line<0 || line>=getTerminalText().getHeight() || colFirst>=getTerminalText().getWidth() || colFirst-colLast==0) { - fillBackground(gc, x, y, getCellWidth()*(colFirst-colLast), getCellHeight()); + fillBackground(gc, x, y, getCellWidth()*(colLast-colFirst), getCellHeight()); } else { colLast=Math.min(colLast, getTerminalText().getWidth()); LineSegment[] segments=getTerminalText().getLineSegments(line, colFirst, colLast-colFirst); @@ -87,15 +87,17 @@ private void fillBackground(GC gc, int x, int y, int width, int height) { Color bg=gc.getBackground(); - gc.setBackground(getBackgroundColor()); + gc.setBackground(getDefaultBackgroundColor()); gc.fillRectangle (x,y,width,height); gc.setBackground(bg); } - private Color getBackgroundColor() { - return fBackgroundColor; + public Color getDefaultBackgroundColor() { + // null == default style + return fStyleMap.getBackgroundColor(null); } + private void drawCursor(ITextCanvasModel model, GC gc, int row, int x, int y, int colFirst) { if(!model.isCursorOn()) return; @@ -156,6 +158,9 @@ public void onFontChange() { fStyleMap.updateFont(); } + public void updateFont(String fontName) { + fStyleMap.updateFont(fontName); + } public void setInvertedColors(boolean invert) { fStyleMap.setInvertedColors(invert); diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java 2008-04-04 16:31:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -16,7 +17,6 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Canvas; import org.eclipse.swt.widgets.Composite; @@ -99,9 +99,11 @@ } - private void scrollSmart(int deltaX, int deltaY) { - Rectangle rect = getBounds(); - scroll (deltaX, deltaY, 0, 0, rect.width, rect.height, false); + protected void scrollSmart(int deltaX, int deltaY) { + if (deltaX != 0 || deltaY != 0) { + Rectangle rect = getBounds(); + scroll (deltaX, deltaY, 0, 0, rect.width, rect.height, false); + } } /** @@ -155,8 +157,8 @@ return getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); } protected void paintUnoccupiedSpace(GC gc, Rectangle clipping) { - int width=fVirtualBounds.width; - int height=fVirtualBounds.height; + int width=fVirtualBounds.width + fVirtualBounds.x; + int height=fVirtualBounds.height + fVirtualBounds.y; int marginWidth = (clipping.x+clipping.width) - width; int marginHeight = (clipping.y+clipping.height) - height; if(marginWidth>0||marginHeight>0){ @@ -224,11 +226,13 @@ * @param y */ protected void setVirtualOrigin(int x, int y) { - fVirtualBounds.x=x; - fVirtualBounds.y=y; - getHorizontalBar().setSelection(-x); - getVerticalBar().setSelection(-y); - updateViewRectangle(); + if (fVirtualBounds.x != x || fVirtualBounds.y != y) { + fVirtualBounds.x=x; + fVirtualBounds.y=y; + getHorizontalBar().setSelection(-x); + getVerticalBar().setSelection(-y); + updateViewRectangle(); + } } protected Rectangle getVirtualBounds() { return cloneRectangle(fVirtualBounds); @@ -304,25 +308,24 @@ } } private void doUpdateScrollbar() { - Point size= getSize(); Rectangle clientArea= getClientArea(); ScrollBar horizontal= getHorizontalBar(); // even if setVisible was called on the scrollbar, isVisible // returns false if its parent is not visible. if(!isVisible() || horizontal.isVisible()) { horizontal.setPageIncrement(clientArea.width - horizontal.getIncrement()); - int max= fVirtualBounds.width + (size.x - clientArea.width); + int max= fVirtualBounds.width; horizontal.setMaximum(max); - horizontal.setThumb(size.x > max ? max : size.x); + horizontal.setThumb(clientArea.width); } ScrollBar vertical= getVerticalBar(); // even if setVisible was called on the scrollbar, isVisible // returns false if its parent is not visible. if(!isVisible() || vertical.isVisible()) { vertical.setPageIncrement(clientArea.height - vertical.getIncrement()); - int max= fVirtualBounds.height + (size.y - clientArea.height); + int max= fVirtualBounds.height; vertical.setMaximum(max); - vertical.setThumb(size.y > max ? max : size.y); + vertical.setThumb(clientArea.height); } } protected boolean isVertialBarVisible() { Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/feature.properties 2009-05-13 22:22:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ featureName=Target Management Terminal Widget # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ @@ -29,7 +29,7 @@ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -43,8 +43,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -52,42 +52,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -96,47 +92,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/feature.xml 2009-11-05 17:38:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,8 +1,19 @@ - + + @@ -18,8 +29,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/license.html 2007-06-04 16:08:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

      Eclipse Foundation Software User Agreement

      -

      March 17, 2005

      +

      February 1, 2011

      Usage Of Content

      @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

      - -

      Applicable Licenses

      - + +

      Applicable Licenses

      +

      Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

      -

      Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

      - +

      Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

      +
        -
      • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
      • -
      • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
      • -
      • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
      • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
      • +
      • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
      • +
      • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
      • -
      • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
      • -
      - +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal + 3.2.2.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:22:44.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Widget Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html 2007-06-04 16:08:57.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:22:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:15:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties 2009-05-13 22:43:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:43:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Widget Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/.project eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/.project --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.core.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,19 @@ +################################################################################ +# Copyright (c) 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################ +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,169 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal control including \ +plug-ins for Serial, SSH and Telnet connections. Includes Source Code. + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2012 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,80 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.core.sdk-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.core.sdk-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.core.sdk + 3.3.2.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.classpath eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.classpath --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.classpath 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.classpath 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,7 @@ + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.project eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.project --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.local + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,83 @@ +#Tue Jul 29 00:26:52 PDT 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.3 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true +Bundle-Version: 0.2.200.qualifier +Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator +Bundle-Localization: plugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", + org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)", + org.eclipse.core.runtime, + org.eclipse.debug.core, + org.eclipse.debug.ui, + org.eclipse.jface, + org.eclipse.ui, + org.eclipse.ui.externaltools +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ActivationPolicy: lazy +Eclipse-LazyStart: true +Import-Package: org.eclipse.core.variables +Export-Package: org.eclipse.tm.internal.terminal.local;x-internal:=true, + org.eclipse.tm.internal.terminal.local.launch;x-internal:=true, + org.eclipse.tm.internal.terminal.local.launch.ui;x-internal:=true, + org.eclipse.tm.internal.terminal.local.process;x-internal:=true, + org.eclipse.tm.internal.terminal.local.ui;x-internal:=true diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,28 @@ + + + + +About + + +

    About This Content

    + +

    March 1, 2010

    +

    License

    + +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.ini 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=tm32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.mappings eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.mappings --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.mappings 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.mappings 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,12 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +0=@build@ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/about.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,19 @@ +#################################################################################################### +# Copyright (c) 2008, 2012 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### + +blurb=Target Management Terminal Local Connector (Incubation)\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Mirko Raner and others 2008, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,24 @@ +############################################################################### +# Copyright (c) 2010, 2011 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + plugin.properties,\ + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + tm32.png,\ + icons/,\ + META-INF/,\ + . +src.includes = about.html +jre.compilation.profile = J2SE-1.5 Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/icons/terminal-launch.gif and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/icons/terminal-launch.gif differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/plugin.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,20 @@ +#################################################################################################### +# Copyright (c) 2008, 2011 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### + +# NLS_MESSAGEFORMAT_NONE + +pluginName=Local Terminal (Incubation) +providerName=Eclipse TM Project + +terminalLaunch=Terminal +terminalLaunchDescription=Run a program in a terminal +localConnection=Local Program diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/plugin.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal.local + 0.2.200.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,75 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/ISshSettings + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +/** + * The interface {@link ILocalTerminalSettings} defines the public interface for connector-specific + * settings needed by the {@link LocalTerminalConnector}. The interface is implemented by class + * {@link LocalTerminalSettings}. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public interface ILocalTerminalSettings { + + /** + * The line separator setting CR (carriage return only; for example, used by Mac OS 9). + */ + public final static String LINE_SEPARATOR_CR = "\\r"; //$NON-NLS-1$ + + /** + * The line separator setting CRLF (carriage return and line feed; for example, used by + * Windows). + */ + public final static String LINE_SEPARATOR_CRLF = "\\r\\n"; //$NON-NLS-1$ + + /** + * The line separator setting LF (line feed only; used by all UNIX-based systems). + */ + public final static String LINE_SEPARATOR_LF = "\\n"; //$NON-NLS-1$ + + /** + * Loads the settings from a specified {@link ISettingsStore}. + * + * TODO: the {@link #load(ISettingsStore)} method should probably extracted to a super-interface + * as it appears to be common to all customized settings interfaces + * + * @param store the {@link ISettingsStore} to load the settings from + */ + public abstract void load(ISettingsStore store); + + /** + * Saves the settings to a specified {@link ISettingsStore}. + * + * TODO: the {@link #save(ISettingsStore)} method should probably extracted to a super-interface + * as it appears to be common to all customized settings interfaces + * + * @param store the {@link ISettingsStore} for storing the settings + */ + public abstract void save(ISettingsStore store); + + /** + * Gets the name of the launch configuration that will be started in the terminal. + * + * @return the launch configuration name + */ + public abstract String getLaunchConfigurationName(); + + /** + * Sets the name of the launch configuration that will be started in the terminal. + * + * @param configurationName the launch configuration name + */ + public abstract void setLaunchConfigurationName(String configurationName); +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,98 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The class {@link LocalTerminalActivator} is the bundle activator for the Local Terminal + * Connector plug-in. + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class LocalTerminalActivator extends AbstractUIPlugin { + + /** + * The plug-in ID of the Local Terminal Connector plug-in. + */ + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.local"; //$NON-NLS-1$ + + /** + * The preference key for confirming process termination during workbench shutdown. + * Value: "CONFIRM_TERMINATE". + * If the corresponding Preference slot is set to "true", a confirmation dialog + * will be shown when quitting Workbench while a local Terminal is still running. + * For details, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=313643 + * @since 0.1 + */ + public final static String PREF_CONFIRM_TERMINATE_ON_SHUTDOWN = "CONFIRM_TERMINATE";//$NON-NLS-1$ + + private static LocalTerminalActivator plugin; + + /** + * Creates a new {@link LocalTerminalActivator}. + */ + public LocalTerminalActivator() { + + super(); + } + + /** + * Returns the shared plug-in instance. + * + * @return the shared instance + */ + public static LocalTerminalActivator getDefault() { + + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given plug-in relative path. + * + * @param path the path to the image + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + /** + * Starts the bundle and initializes the shared plug-in reference. + * + * @param context the {@link BundleContext} + * + * @see AbstractUIPlugin#start(BundleContext) + */ + public void start(BundleContext context) throws Exception { + + super.start(context); + plugin = this; + } + + /** + * Stops the bundle and resets the the shared plug-in reference. + * + * @param context the {@link BundleContext} + * + * @see AbstractUIPlugin#stop(BundleContext) + */ + public void stop(BundleContext context) throws Exception { + + plugin = null; + super.stop(context); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,400 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2012 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] initial implementation; some methods adapted from + * org.eclipse.tm.terminal.ssh/SshConnector + * Mirko Raner - [314977] Dynamically disable when no PTY is available + * Anna Dushistova(MontaVista) - [386262] NPE in setTerminalSize + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.OutputStream; + +import org.eclipse.cdt.utils.Platform; +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugEvent; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.IDebugEventSetListener; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.debug.core.model.IStreamMonitor; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; + +/** + * The class {@link LocalTerminalConnector} provides a terminal connector implementation for + * connecting to local programs (for example, a locally running bash shell or + * vi editor). + * + * @author Mirko Raner + * @version $Revision: 1.6 $ + */ +public class LocalTerminalConnector extends TerminalConnectorImpl +implements IDebugEventSetListener { + + // Shorthand for attribute names: + // + private final static String ATTR_CAPTURE_IN_CONSOLE = IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE; + private final static String ATTR_CAPTURE_OUTPUT = DebugPlugin.ATTR_CAPTURE_OUTPUT; + private final static String ATTR_PROCESS_FACTORY_ID = DebugPlugin.ATTR_PROCESS_FACTORY_ID; + + private LocalTerminalOutputStream terminalToLocalProcessStream; + private LocalTerminalOutputListener outputListener; + private LocalTerminalOutputListener errorListener; + private ILocalTerminalSettings settings; + private IStreamMonitor outputMonitor; + private IStreamMonitor errorMonitor; + private LocalTerminalProcess process; + private ILaunch launch; + private int lastHeight; + private int lastWidth; + + /** + * Creates a new {@link LocalTerminalConnector}. This constructor is invoked by the framework. + */ + public LocalTerminalConnector() { + + settings = new LocalTerminalSettings(); + } + + /** + * Initializes the connector. This method checks whether a pty driver is available + * and will fail if that is not the case. + * + * @throws Exception if the connector could not be initialized + */ + public void initialize() throws Exception { + + super.initialize(); + if (!PTY.isSupported()) { + + final String OS = Platform.getOS(); + final String ARCH = Platform.getOSArch(); + String message = NLS.bind(LocalTerminalMessages.errorNoPTYSupport, OS, ARCH); + IStatus status = new Status(IStatus.WARNING, LocalTerminalActivator.PLUGIN_ID, message); + throw new CoreException(status); + } + } + + /** + * Loads the connector's settings from the specified store. + * + * @param store the {@link ISettingsStore} + * + * @see TerminalConnectorImpl#load(ISettingsStore) + * + * TODO: the load(ISettingsStore) method should probably be made abstract in + * TerminalConnectorImpl, otherwise it is not immediately clear that clients need to + * override this method if custom settings are necessary (which they usually are). + * Maybe the whole settings store mechanism should be redesigned. The current scheme + * requires clients to implement load/save methods in their connector implementation + * classes (necessity to override is not immediately obvious) and in the settings store + * implementations (not enforced at all; merely expected by convention). Structurally, + * all client implementations look more or less the same, and probably could be handled + * by the framework in a uniform way. Maybe a configuration mechanism using attributes + * (like, for example, ILaunchConfiguration) might be beneficial here. + */ + public void load(ISettingsStore store) { + + settings.load(store); + } + + /** + * Stores the connector's settings into the specified store. + * See {@link #load(ISettingsStore)} for additional notes. + * + * @param store the {@link ISettingsStore} + * + * @see TerminalConnectorImpl#save(ISettingsStore) + */ + public void save(ISettingsStore store) { + + settings.save(store); + } + + /** + * Creates the {@link ISettingsPage} for the settings of this connector. + * + * @return a new page that can be used in a dialog to setup this connection, or + * null if the connection cannot be customized or configured + * + * @see TerminalConnectorImpl#makeSettingsPage() + */ + public ISettingsPage makeSettingsPage() { + + return new LocalTerminalSettingsPage(settings); + } + + /** + * Returns a string that represents the settings of the connection. + * + * @return the name of the launch configuration that is running in the terminal + * + * @see TerminalConnectorImpl#getSettingsSummary() + * @see ILocalTerminalSettings#getLaunchConfigurationName() + */ + public String getSettingsSummary() { + + return settings.getLaunchConfigurationName(); + } + + /** + * Checks if local echo is required. + * + * @return true if the connection settings specify that local echo is enable, + * false otherwise + * + * @see TerminalConnectorImpl#isLocalEcho() + * @see LocalTerminalLaunchUtilities#ATTR_LOCAL_ECHO + */ + public boolean isLocalEcho() { + + return LocalTerminalUtilities.getLocalEcho(settings); + } + + /** + * Returns an {@link OutputStream} that writes to the local program's standard input. For the + * stream in the other direction (remote to terminal) see + * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. + * + * @return the terminal-to-remote-stream (bytes written to this stream will be sent to the + * local program) + */ + public OutputStream getTerminalToRemoteStream() { + + return terminalToLocalProcessStream; + } + + /** + * Connects a locally launched program to the {@link ITerminalControl}. + * + * @param control the {@link ITerminalControl} through which the user can interact with the + * program + */ + public void connect(ITerminalControl control) { + + super.connect(control); + control.setState(TerminalState.CONNECTING); + ILaunchConfigurationWorkingCopy workingCopy = null; + ILaunchConfiguration configuration = null; + String configurationName = null; + try { + + configurationName = settings.getLaunchConfigurationName(); + configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); + } + catch (CoreException exception) { + + Shell shell = Display.getDefault().getActiveShell(); + String title = LocalTerminalMessages.errorTitleCouldNotConnectToTerminal; + String text = LocalTerminalMessages.errorLaunchConfigurationNoLongerExists; + String message = NLS.bind(text, configurationName); + IStatus status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message); + ErrorDialog.openError(shell, title, null, status); + control.setState(TerminalState.CLOSED); + return; + } + try { + + String oldFactoryID = configuration.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null); + workingCopy = configuration.getWorkingCopy(); + workingCopy.setAttribute(ATTR_CAPTURE_OUTPUT, true); + workingCopy.setAttribute(ATTR_CAPTURE_IN_CONSOLE, true); + workingCopy.setAttribute(ATTR_PROCESS_FACTORY_ID, LocalTerminalProcessFactory.ID); + configuration = workingCopy.doSave(); + try { + + launch = configuration.launch(ILaunchManager.RUN_MODE, null); + } + finally { + + // The process factory ID is used to distinguish between launches that originate + // from the terminal connector and launches that originate from the launch dialog. + // After launching, the original ID is restored so that the launch is not mistaken + // as originating from the terminal connector UI when it is launched via the launch + // dialog the next time: + // + workingCopy = configuration.getWorkingCopy(); + workingCopy.setAttribute(ATTR_PROCESS_FACTORY_ID, oldFactoryID); + workingCopy.doSave(); + } + + // To prevent a console from being allocated, the launch will actually not contain a + // reference to the runtime process. The process has to be obtained from the + // LocalTerminalProcessRegistry instead: + // + process = LocalTerminalProcessRegistry.getFromLaunch(launch); + IStreamsProxy streamsProxy = process.getStreamsProxy(); + + // Hook up standard input: + // + terminalToLocalProcessStream = new LocalTerminalOutputStream(process, settings); + + // Hook up standard output: + // + outputMonitor = streamsProxy.getOutputStreamMonitor(); + outputListener = new LocalTerminalOutputListener(control, settings); + outputMonitor.addListener(outputListener); + outputListener.streamAppended(outputMonitor.getContents(), outputMonitor); + + // Hook up standard error: + // + errorMonitor = streamsProxy.getErrorStreamMonitor(); + errorListener = new LocalTerminalOutputListener(control, settings); + errorMonitor.addListener(errorListener); + errorListener.streamAppended(errorMonitor.getContents(), errorMonitor); + // + // TODO: add proper synchronization for incoming data from stdout and stderr: + // currently, the data gets sometimes processed in the wrong order, for example, + // the next prompt (which shells like bash print to stderr) sometimes appears + // before the command's proper output that was sent to stdout. For example, + // you get: + // + // $ echo hello + // $ hello + // + // instead of the correct output of: + // + // $ echo hello + // hello + // $ + + // Listen for process termination and update the terminal state: + // + DebugPlugin.getDefault().addDebugEventListener(this); + control.setState(TerminalState.CONNECTED); + } + catch (CoreException exception) { + + control.setState(TerminalState.CLOSED); + Shell shell = LocalTerminalSettingsPage.getShell(); + ErrorDialog.openError(shell, null, null, exception.getStatus()); + Logger.logException(exception); + } + } + + /** + * Disconnects the connector if it is currently connected or does nothing otherwise. This method + * will try to terminate the underlying launched process and will remove all registered + * listeners. + */ + public void doDisconnect() { + + try { + + removeAllListeners(); + + // To prevent a console from being allocated, Terminal launches don't have an IProcess + // associated with them while they are running. However, to properly terminate a launch + // the launch has to contain at least one process that can be terminated (launches + // without processes effectively cannot be terminated): + // + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); + + // Now, terminate the process if it was ever started and hasn't been terminated already: + // + if (launch != null && launch.canTerminate()) { + + launch.terminate(); + // + // NOTE: canTerminate() merely indicates that the launch has not been terminated + // previously already + } + } + catch (DebugException couldNotTerminate) { + + Logger.logException(couldNotTerminate); + } + } + + /** + * Notifies the {@link PTY pty} that the size of the terminal has changed. + * This method gets called rather frequently, even if the terminal size has actually not + * changed. The method stores the last known width and height and will only call + * {@link PTY#setTerminalSize(int, int)} if it was different. + * + * @param width the new terminal width (in columns) + * @param height the new terminal height (in lines) + */ + public void setTerminalSize(int width, int height) { + if(process != null){ + PTY pty = process.getPTY(); + if (pty != null && (width != lastWidth || height != lastHeight)) { + + pty.setTerminalSize(width, height); + lastWidth = width; + lastHeight = height; + } + } + } + + /** + * Listens for self-induced termination of the launched process. For example, this method will + * be notified if a launched shell is terminated by pressing Control-D or by calling + * exit, or if a vi editor is terminated by means of a + * :q! command. + * + * @param event the debug events + * + * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[]) + */ + public void handleDebugEvents(DebugEvent[] event) { + + int numberOfEvents = event.length; + for (int index = 0; index < numberOfEvents; index++) { + + if (event[index].getSource().equals(process) + && (event[index].getKind() == DebugEvent.TERMINATE)) { + + fControl.setState(TerminalState.CLOSED); + removeAllListeners(); + return; + } + } + } + + /** + * Removes any listeners that the {@link LocalTerminalConnector} might have registered in its + * {@link #connect(ITerminalControl)} method. This method is necessary for clean-up when a + * connection is closed. It prevents that orphaned or meaningless listeners keep accumulating + * on certain objects. + */ + protected void removeAllListeners() { + + if (outputMonitor != null && outputListener != null) { + + outputMonitor.removeListener(outputListener); + } + if (errorMonitor != null && errorListener != null) { + + errorMonitor.removeListener(errorListener); + } + DebugPlugin.getDefault().removeDebugEventListener(this); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,72 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.jface.viewers.BaseLabelProvider; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; + +/** + * The class {@link LocalTerminalLaunchLabelProvider} is an {@link ILabelProvider} for lists (or + * tables) of {@link ILaunchConfiguration}s. It returns a configuration's name as the text label, + * and the configuration type's regular icon as the image label. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalLaunchLabelProvider extends BaseLabelProvider implements ILabelProvider { + + /** + * Creates a new {@link LocalTerminalLaunchLabelProvider}. + */ + public LocalTerminalLaunchLabelProvider() { + + super(); + } + + /** + * Returns the image for the label of the given element. + * + * @param element the element for which the image was requested + * @return the image, or null if no image could be found + * + * @see ILabelProvider#getImage(Object) + */ + public Image getImage(Object element) { + + if (element instanceof ILaunchConfiguration) { + + return LocalTerminalLaunchUtilities.getImage((ILaunchConfiguration)element); + } + return null; + } + + /** + * Returns the text for the label of the given element. + * + * @param element the element for which to provide the label text + * @return the text string used to label the element, or null if there is no text + * label for the given object + * + * @see ILabelProvider#getText(Object) + */ + public String getText(Object element) { + + if (element instanceof ILaunchConfiguration) { + + return ((ILaunchConfiguration)element).getName(); + } + return String.valueOf(element); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,90 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.jface.viewers.IStructuredContentProvider; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalLaunchListProvider} is a {@link IStructuredContentProvider} that + * provides a list of all {@link ILaunchConfiguration}s of the type "External Tools"/"Program". + * Those launch configurations can be used to start a new session in the Terminal View. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalLaunchListProvider implements IStructuredContentProvider { + + /** + * Creates a new {@link LocalTerminalLaunchListProvider}. + */ + public LocalTerminalLaunchListProvider() { + + super(); + } + + /** + * Returns the matching {@link ILaunchConfiguration}s for the given input element. This content + * provider does not really use the concept of "input" because the input can only be obtained in + * one way (from the {@link ILaunchManager}. + * + * @param input the input element (not checked or used by this method) + * @return the matching {@link ILaunchConfiguration}s + * + * @see IStructuredContentProvider#getElements(Object) + */ + public Object[] getElements(Object input) { + + ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); + ILaunchConfigurationType type = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE; + ILaunchConfiguration[] configurations = null; + try { + + configurations = launchManager.getLaunchConfigurations(type); + } + catch (CoreException couldNotObtainLaunchConfigurations) { + + Logger.logException(couldNotObtainLaunchConfigurations); + } + return configurations; + } + + /** + * Disposes of this {@link LocalTerminalLaunchListProvider}. Currently, there is no additional + * clean-up necessary, and this method is empty. + * + * @see org.eclipse.jface.viewers.IContentProvider#dispose() + */ + public void dispose() { + + // Does nothing... + } + + /** + * Notifies the {@link LocalTerminalLaunchListProvider} that its input has changed. This method + * is currently empty because {@link LocalTerminalLaunchListProvider} is not aware of the + * concept of "input" + * + * @see #getElements(Object) + * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object) + */ + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + + // Does nothing... + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,124 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.osgi.util.NLS; + +/** + * The class {@link LocalTerminalMessages} provides localization keys to internationalized display + * messages used by the Local Terminal Connector. + * + * @author Mirko Raner + * @version $Revision: 1.4 $ + */ +public class LocalTerminalMessages extends NLS { + + static { + + NLS.initializeMessages(LocalTerminalMessages.class.getName(), LocalTerminalMessages.class); + } + + private LocalTerminalMessages() { + + super(); + } + + /** The title for the launch configuration selection: "Launch configuration:". */ + public static String launchConfiguration; + + /** The label for the "New..." button. */ + public static String labelNew; + + /** The label for the "Edit..." button. */ + public static String labelEdit; + + /** The label for the "Delete" button. */ + public static String labelDelete; + + /** The label for the "Enable terminal echo" check box. */ + public static String enableLocalEcho; + + /** The label for the "Send SIGINT when Ctrl-C is pressed" check box. */ + public static String sendInterruptOnCtrlC; + + /** The line separator option "LF". */ + public static String lineSeparatorLF; + + /** The line separator option "CR". */ + public static String lineSeparatorCR; + + /** The line separator option "CRLF". */ + public static String lineSeparatorCRLF; + + /** The default line separator option. */ + public static String lineSeparatorDefault; + + /** The base name for new launch configurations. */ + public static String newTerminalLaunchName; + + /** The error message to be issued if a launch configuration could not be found. */ + public static String noSuchLaunchConfiguration; + + /** The message displayed while launching a configuration. */ + public static String launchingConfiguration; + + /** The error message displayed when process creation failed. */ + public static String couldNotCreateIProcess; + + /** The error message for a missing executable path. */ + public static String locationNotSpecified; + + /** The error message for a specified but invalid executable path. */ + public static String invalidLocation; + + /** The error message for an invalid working directory location. */ + public static String invalidWorkingDirectory; + + /** The question message for confirming deletion of a launch configuration. */ + public static String questionDeleteLaunchConfiguration; + + /** The question title for confirming deletion of a launch configuration. */ + public static String questionTitleDeleteLaunchConfiguration; + + /** The error message for platforms that don't support ptys. */ + public static String errorNoPTYSupport; + + /** The error message for attempting to directly launch a Terminal launch configuration. */ + public static String errorDirectLaunch; + + /** The error message for attempting to launch a no longer existing launch configuration. */ + public static String errorLaunchConfigurationNoLongerExists; + + /** The error dialog title for failed terminal connections. */ + public static String errorTitleCouldNotConnectToTerminal; + + /** The title string of the warning displayed when terminal launches are still running. */ + public static String warningTitleTerminalsStillRunning; + + /** The warning message displayed when terminal launches are still running. */ + public static String warningMessageTerminalsStillRunning; + + /** The label for the button that quits the workbench anyway. */ + public static String quitWorkbenchAnyway; + + /** The label for the button that vetoes a shutdown of the workbench. */ + public static String doNoQuitWorkbench; + + /** The label for a terminal process that was terminated during workbench shut-down. */ + public static String terminatedProcess; + + /** The name of the launch configuration tab for terminal settings. */ + public static String terminalTabName; + + /** The group label for the terminal settings on the launch configuration page. */ + public static String terminalSettings; +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,49 @@ +#################################################################################################### +# Copyright (c) 2008, 2010 Mirko Raner. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +launchConfiguration=Launch configuration\: +enableLocalEcho=Enable terminal echo +sendInterruptOnCtrlC=Send SIGINT when Ctrl-C is pressed +lineSeparatorDefault=Program uses default line separator - or\: +lineSeparatorCRLF=CRLF +lineSeparatorLF=LF +lineSeparatorCR=CR +labelNew=New... +labelEdit=Edit... +labelDelete=Delete +terminalTabName=Terminal +terminalSettings=Terminal settings\: +newTerminalLaunchName=Terminal ({0}) +noSuchLaunchConfiguration=A launch configuration called ''{0}'' does not exist +launchingConfiguration=Launching {0}... +couldNotCreateIProcess=The IProcess could not be created +locationNotSpecified=Executable location was not specified in configuration ''{0}'' +invalidLocation=Executable does not exist for the external tool named ''{0}'' +invalidWorkingDirectory=The path {0} is not a directory and cannot be used as working directory \ + for ''{1}'' +questionDeleteLaunchConfiguration=Do you wish to delete the selected launch configuration? +questionTitleDeleteLaunchConfiguration=Confirm Launch Configuration Deletion +errorNoPTYSupport=CDT PTY support is not available on your host ({0}.{1}).\n\n\ +The Local Terminal connector has been disabled. +errorDirectLaunch=Terminal launch configurations can only be launched from the Terminal view. \ + Please open the Terminal view and click the view's Settings button to select and launch a local \ + Terminal. +errorLaunchConfigurationNoLongerExists=The launch configuration ''{0}'' that is selected in the \ + Terminal Settings does no longer exist. Please open the Settings dialog to select a valid launch \ + configuration. +errorTitleCouldNotConnectToTerminal=Could not connect to Terminal +warningTitleTerminalsStillRunning=Warning: Terminals with active processes are still running +warningMessageTerminalsStillRunning=The workbench is about to shut down even though one or more \ + terminals with active processes are still running. Unsaved data may be lost if the shutdown \ + proceeds. +quitWorkbenchAnyway=Quit Workbench Anyways +doNoQuitWorkbench=Do Not Quit Workbench +terminatedProcess={0} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,90 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.PrintStream; +import org.eclipse.debug.core.IStreamListener; +import org.eclipse.debug.core.model.IStreamMonitor; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalOutputListener} is an {@link IStreamListener} that transfers output + * from a program's standard output and standard error streams to an {@link ITerminalControl}. + * It does so by listening for appended text and sending it to the terminal's + * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. The class also performs line + * separator conversions as specified by the {@link ILocalTerminalSettings}. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalOutputListener implements IStreamListener { + + private PrintStream printStream; + private String lineSeparator; + + /** + * Creates a new {@link LocalTerminalOutputListener}. + * + * @param control the {@link ITerminalControl} to which the received output is forwarded + * @param settings the {@link ILocalTerminalSettings} + */ + public LocalTerminalOutputListener(ITerminalControl control, ILocalTerminalSettings settings) { + + printStream = new PrintStream(control.getRemoteToTerminalOutputStream(), true); + lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); + if (lineSeparator == null) { + + String defaultLS = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); + if (LocalTerminalUtilities.CRLF.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; + } + else if (LocalTerminalUtilities.LF.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; + } + else if (LocalTerminalUtilities.CR.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; + } + else { + + Logger.log("Unknown default line separator: " + defaultLS); //$NON-NLS-1$ + } + } + } + + /** + * Processes new output that was appended to the intercepted stream. + * + * @param text the new output + * @param monitor the {@link IStreamMonitor} from which the output was received (this parameter + * is currently not evaluated because each {@link IStreamMonitor} has its own dedicated instance + * of {@link LocalTerminalOutputListener} attached) + */ + public void streamAppended(String text, IStreamMonitor monitor) { + + // The VT100TerminalControl apparently adheres to a strict interpretation of the CR and + // LF control codes, i.e., CR moves the caret to the beginning of the line (but does not + // move down to the next line), and LF moves down to the next line (but not to the + // beginning of the line). Therefore, if the program launched in the terminal does not use + // CRLF as its line terminator the line terminators have to be converted to CRLF before + // being passed on to the terminal control: + // + if (!ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(lineSeparator)) { + + text = text.replaceAll(lineSeparator, LocalTerminalUtilities.CRLF); + } + printStream.print(text); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,184 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.IOException; +import java.io.OutputStream; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; + +/** + * The class {@link LocalTerminalOutputStream} is an {@link OutputStream} that copies data that is + * typed into the terminal to the standard input of the active process. Data that is written to the + * stream is directly forwarded to the {@link IStreamsProxy} of the process. CRLF line separators + * that are received from the terminal will be automatically converted to the line separator that is + * specified in the {@link ILocalTerminalSettings}. The Terminal Control generally sends CR line + * separators if the local echo is disabled and CRLF if enabled. The reason for this idiosyncrasy + * is not entirely clear right now and the line separator behavior might change in the future. + * + * TODO: research as to whether the CR/CRLF distinction in VT100TerminalControl.TerminalKeyHandler + * (based on the local echo setting) is really necessary + * + * @author Mirko Raner + * @version $Revision: 1.4 $ + */ +public class LocalTerminalOutputStream extends OutputStream { + + private final static String NOTHING = ""; //$NON-NLS-1$ + private final static String CRLF = LocalTerminalUtilities.CRLF; + private final static char CR = '\r'; + private final static char LF = '\n'; + private final static char CTRL_C = '\03'; + private final static int TERMINAL_SENDS_CR = 0; + private final static int TERMINAL_SENDS_CRLF = 1; + private final static int PROGRAM_EXPECTS_LF = 0; + private final static int PROGRAM_EXPECTS_CRLF = 1; + private final static int PROGRAM_EXPECTS_CR = 2; + private final static int NO_CHANGE = 0; + private final static int CHANGE_CR_TO_LF = 1; + private final static int INSERT_LF_AFTER_CR = 2; + private final static int REMOVE_CR = 3; + private final static int REMOVE_LF = 4; + + // CRLF conversion table: + // + // Expected line separator --> | LF | CRLF | CR | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo off - control sends CR | change CR to LF | insert LF after CR | no change | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo on - control sends CRLF | remove CR | no change | remove LF | + // + private final static int[][] CRLF_REPLACEMENT = { + + {CHANGE_CR_TO_LF, INSERT_LF_AFTER_CR, NO_CHANGE}, + {REMOVE_CR, NO_CHANGE, REMOVE_LF} + }; + + private final boolean sendSIGINTOnCtrlC; + private IStreamsProxy streamsProxy; + private IProcess process; + private int replacement; + + /** + * Creates a new {@link LocalTerminalOutputStream}. + * + * @param process the {@link IProcess} object of the terminal process + * @param settings the {@link ILocalTerminalSettings} (currently only used for the line + * separator settings) + */ + public LocalTerminalOutputStream(IProcess process, ILocalTerminalSettings settings) { + + this.process = process; + streamsProxy = process.getStreamsProxy(); + sendSIGINTOnCtrlC = LocalTerminalUtilities.getCtrlC(settings); + boolean localEcho = LocalTerminalUtilities.getLocalEcho(settings); + int terminalSends = localEcho? TERMINAL_SENDS_CRLF:TERMINAL_SENDS_CR; + int programExpects; + String lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); + if (lineSeparator == null) { + + lineSeparator = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); + if (LocalTerminalUtilities.CR.equals(lineSeparator)) { + + programExpects = PROGRAM_EXPECTS_CR; + } + else if (LocalTerminalUtilities.LF.equals(lineSeparator)) { + + programExpects = PROGRAM_EXPECTS_LF; + } + else { + + programExpects = PROGRAM_EXPECTS_CRLF; + } + } + else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_LF)) { + + programExpects = PROGRAM_EXPECTS_LF; + } + else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_CR)) { + + programExpects = PROGRAM_EXPECTS_CR; + } + else { + + programExpects = PROGRAM_EXPECTS_CRLF; + } + replacement = CRLF_REPLACEMENT[terminalSends][programExpects]; + } + + /** + * Writes the specified byte to this output stream. + * + * @param data the byte + * @throws IOException if an I/O error occurs + */ + public void write(int data) throws IOException { + + write(new byte[] {(byte)data}, 0, 1); + } + + /** + * Writes a specified number of bytes from the specified byte array starting at a given offset. + * + * @param data the array containing the data + * @param offset the offset into the array + * @param length the number of bytes to be written + * @throws IOException of an I/O error occurs + */ + public void write(byte[] data, int offset, int length) throws IOException { + + String text = new String(data, offset, length); + // + // TODO: check whether this is correct! new String(byte[], int, int) always uses the default + // encoding! + + if (replacement == CHANGE_CR_TO_LF) { + + text = text.replace(CR, LF); + } + else if (replacement == INSERT_LF_AFTER_CR) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, CRLF); + } + else if (replacement == REMOVE_CR) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, NOTHING); + } + else if (replacement == REMOVE_LF) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_LF, NOTHING); + } + + // Process Ctrl-C in the proper order: + // + int positionOfCtrlC = -1; + while (sendSIGINTOnCtrlC && (positionOfCtrlC = text.indexOf(CTRL_C)) != -1) { + + // Send text up to (and including) the Ctrl-C to the process, then send a SIGINT: + // + streamsProxy.write(text.substring(0, positionOfCtrlC+1)); + if (process instanceof LocalTerminalProcess) { + + ((LocalTerminalProcess)process).interrupt(); + } + + // Remove the part of the text that was already sent: + // + text = text.substring(positionOfCtrlC+1); + } + if (text.length() > 0) { + + streamsProxy.write(text); + } + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettings + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.lang.reflect.Field; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalSettings} is the default implementation of the + * {@link ILocalTerminalSettings} interface. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public class LocalTerminalSettings implements ILocalTerminalSettings { + + private String launchConfiguration; + + /** + * Loads the settings from the given {@link ISettingsStore}. + * This method loads the store contents by means of reflection. This is clearly overkill for + * the few settings supported by this class, but the code is much more reusable. Pretty much + * every implementation of a custom settings store is implemented in the same fashion and + * might be replace by a single centralized implementation. + * + * TODO: check for possibilities to reuse this code! + * + * @param store the {@link ISettingsStore} + * @see ILocalTerminalSettings#load(ISettingsStore) + */ + public void load(ISettingsStore store) { + + Field[] declaredField = getClass().getDeclaredFields(); + int numberOfFields = declaredField.length; + for (int index = 0; index < numberOfFields; index++) { + + Field field = declaredField[index]; + Class type = field.getType(); + Object value = store.get(field.getName()); + if (type.equals(boolean.class)) { + + value = Boolean.valueOf((String)value); + } + // TODO: further conversions need to be added as new settings types are introduced + try { + + field.set(this, value); + } + catch (IllegalAccessException illegalAccess) { + + Logger.logException(illegalAccess); + } + } + } + + /** + * Saves the settings to the specified {@link ISettingsStore}. + * See {@link #load(ISettingsStore)} for further implementation notes. + * + * @param store the {@link ISettingsStore} + * + * @see ILocalTerminalSettings#save(ISettingsStore) + */ + public void save(ISettingsStore store) { + + Field[] declaredField = getClass().getDeclaredFields(); + int numberOfFields = declaredField.length; + for (int index = 0; index < numberOfFields; index++) { + + Field field = declaredField[index]; + try { + + field.setAccessible(true); + store.put(field.getName(), String.valueOf(field.get(this))); + } + catch (IllegalAccessException illegalAccess) { + + Logger.logException(illegalAccess); + } + } + } + + /** + * @see ILocalTerminalSettings#getLaunchConfigurationName() + */ + public String getLaunchConfigurationName() { + + return launchConfiguration; + } + + /** + * @see ILocalTerminalSettings#setLaunchConfigurationName(String) + */ + public void setLaunchConfigurationName(String launchConfiguration) { + + this.launchConfiguration = launchConfiguration; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,327 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2013 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettingsPage + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.debug.ui.ILaunchGroup; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Layout; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.Widget; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.local.ui.DependentHeightComposite; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; + +/** + * The class {@link LocalTerminalSettingsPage} is an implementation {@link ISettingsPage} for + * local program connections. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public class LocalTerminalSettingsPage extends AbstractSettingsPage +implements ISelectionChangedListener, SelectionListener { + + private ILocalTerminalSettings settings; + private TableViewer viewer; + private Button buttonEdit; + private Button buttonNew; + private Button buttonDelete; + + /** + * Creates a new {@link LocalTerminalSettingsPage} that reflects the settings of the specified + * {@link ILocalTerminalSettings} object. + * + * @param settings the {@link ILocalTerminalSettings} + */ + public LocalTerminalSettingsPage(ILocalTerminalSettings settings) { + + this.settings = settings; + } + + /** + * Creates the {@link org.eclipse.swt.widgets.Control} for the settings page. + * (NOTE: contrary to the common pattern, this method does not actually return the Control it + * created) + * + * @param parent the parent {@link Composite} into which the control is to be inserted + * + * @see ISettingsPage#createControl(Composite) + */ + public void createControl(Composite parent) { + + ILaunchConfiguration defaultConfiguration; + defaultConfiguration = LocalTerminalLaunchUtilities.createDefaultLaunchConfiguration(); + Composite enclosing = parent.getParent(); + Layout enclosingLayout = enclosing.getLayout(); + int extra = 0; + if (enclosingLayout instanceof GridLayout) { + + extra = -2*((GridLayout)enclosingLayout).marginHeight-2; + } + Composite composite = new DependentHeightComposite(parent, SWT.NONE, enclosing, extra); + // + // TODO: This is a HACK that ensures proper resizing of the settings page inside the + // StackLayout of the PageBook. The following code makes implicit assumptions about + // the internal layout of surrounding widgets. This is something that should be + // properly addressed in the framework (maybe in the PageBook class). + + GridLayout layout = new GridLayout(); + layout.marginWidth = layout.marginHeight = 0; + layout.horizontalSpacing = layout.verticalSpacing = 0; + composite.setLayout(layout); + composite.setLayoutData(new GridData(GridData.FILL_BOTH)); + Label label = new Label(composite, SWT.NONE); + label.setText(LocalTerminalMessages.launchConfiguration); + label.setLayoutData(new GridData()); + + // Create list of available launch configurations: + // + Composite tableAndButtons = new Composite(composite, SWT.NONE); + tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH)); + layout = new GridLayout(2, false); + layout.marginWidth = 0; + tableAndButtons.setLayout(layout); + Table table = new Table(tableAndButtons, SWT.BORDER); + viewer = new TableViewer(table); + viewer.setLabelProvider(new LocalTerminalLaunchLabelProvider()); + viewer.setContentProvider(new LocalTerminalLaunchListProvider()); + viewer.setInput(new Object()); + viewer.addSelectionChangedListener(this); + table.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 0, 3)); + buttonNew = pushButton(tableAndButtons, LocalTerminalMessages.labelNew, false); + buttonEdit = pushButton(tableAndButtons, LocalTerminalMessages.labelEdit, false); + buttonEdit.setEnabled(settings.getLaunchConfigurationName() != null); + buttonDelete = pushButton(tableAndButtons, LocalTerminalMessages.labelDelete, true); + buttonDelete.setEnabled(settings.getLaunchConfigurationName() != null); + // + // NOTE: echo and line separator settings were moved to the launch configuration! + + // NOTE: loadSettings() is actually NOT called by the framework but needs to be called + // by the settings page itself + // TODO: this should be fixed in the framework; otherwise there is really no point + // in having it be a part of the ISettingsPage interface + // + loadSettings(); + if (defaultConfiguration != null) { + + // If there is only one configuration (the default one), then make sure it gets + // selected: + // + viewer.setSelection(new StructuredSelection(defaultConfiguration), true); + } + } + + /** + * Loads the settings from the internal {@link ILocalTerminalSettings} object. + * This method will update the UI to reflect the current settings. + * + * @see ISettingsPage#loadSettings() + */ + public void loadSettings() { + + String configurationName = settings.getLaunchConfigurationName(); + ILaunchConfiguration configuration; + try { + + configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); + } + catch (CoreException couldNotFindLaunchConfiguration) { + + configuration = null; + } + if (settings.getLaunchConfigurationName() != null && configuration != null) { + + viewer.setSelection(new StructuredSelection(configuration), true); + } + } + + /** + * Saves the settings that are currently displayed in the UI to the internal + * {@link ILocalTerminalSettings} object. + * + * @see ISettingsPage#saveSettings() + */ + public void saveSettings() { + + if (viewer != null && !viewer.getSelection().isEmpty()) { + + IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); + Object element = selection.getFirstElement(); + if (element instanceof ILaunchConfiguration) { + + String launchConfiguration = ((ILaunchConfiguration)element).getName(); + settings.setLaunchConfigurationName(launchConfiguration); + } + } + } + + /** + * Checks if the current settings are valid for starting a terminal session. + * This method will only return true if a launch configuration is selected. + * + * @return true if a launch configuration has been selected, false + * otherwise + */ + public boolean validateSettings() { + + return viewer != null && !viewer.getSelection().isEmpty(); + } + + /** + * Enables or disables the Edit... and Delete buttons depending on whether a launch + * configuration is currently selected in the viewer. + * + * @see ISelectionChangedListener#selectionChanged(SelectionChangedEvent) + */ + public void selectionChanged(SelectionChangedEvent event) { + + buttonEdit.setEnabled(!event.getSelection().isEmpty()); + buttonDelete.setEnabled(!event.getSelection().isEmpty()); + } + + /** + * Handles default button clicks for the Edit... and New.. buttons. This method will simply + * pass on the call to {@link #widgetSelected(SelectionEvent)}. + * + * @param event the {@link SelectionEvent} + * + * @see SelectionListener#widgetDefaultSelected(SelectionEvent) + */ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + /** + * Handles default button clicks for the Edit... and New.. buttons. + * + * @param event the {@link SelectionEvent} + * + * @see SelectionListener#widgetSelected(SelectionEvent) + */ + public void widgetSelected(SelectionEvent event) { + + ILaunchConfiguration configuration = null; + Widget widget = event.widget; + if (widget == null) { + + return; + } + if (widget.equals(buttonNew)) { + + try { + + ILaunchConfigurationWorkingCopy newLaunch; + newLaunch = LocalTerminalLaunchUtilities.createNewLaunchConfigurationWorkingCopy(); + configuration = newLaunch.doSave(); + } + catch (CoreException couldNotCreateNewLaunchConfiguration) { + + Logger.logException(couldNotCreateNewLaunchConfiguration); + } + } + if (widget.equals(buttonEdit) || configuration != null) { + + ILaunchGroup group; + IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); + if (configuration == null) { + + configuration = (ILaunchConfiguration)selection.getFirstElement(); + } + group = DebugUITools.getLaunchGroup(configuration, ILaunchManager.RUN_MODE); + String groupID = group.getIdentifier(); + DebugUITools.openLaunchConfigurationDialog(getShell(), configuration, groupID, null); + // + // TODO: handle return value (maybe start terminal right away if "Run" was selected) + // - a return value of Window.CANCEL indicates that "Close" was selected + // - a return value of Window.OK indicates that "Run" was selected + + viewer.refresh(); + viewer.setSelection(new StructuredSelection(configuration), true); + // + // TODO: handle renamed configurations; setSelection(...) will not work if the user + // renamed the configuration in the dialog (apparently, because renaming actually + // creates a different ILaunchConfiguration object, rather than just renaming the + // existing one) + } + if (widget.equals(buttonDelete)) { + + String title = LocalTerminalMessages.questionTitleDeleteLaunchConfiguration; + String question = LocalTerminalMessages.questionDeleteLaunchConfiguration; + if (MessageDialog.openQuestion(getShell(), title, question)) { + + IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); + configuration = (ILaunchConfiguration)selection.getFirstElement(); + try { + + configuration.delete(); + } + catch (CoreException exception) { + + ErrorDialog.openError(getShell(), null, null, exception.getStatus()); + } + viewer.refresh(); + } + } + } + + static Shell getShell() { + + IWorkbench workbench = PlatformUI.getWorkbench(); + IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow(); + if (activeWindow != null) { + + return activeWindow.getShell(); + } + IWorkbenchWindow[] allWindows = workbench.getWorkbenchWindows(); + return allWindows.length > 0? allWindows[0].getShell():null; + } + + //------------------------------------ PRIVATE SECTION ---------------------------------------// + + private Button pushButton(Composite parent, String label, boolean grabVertical) { + + GridData layoutData; + Button button = new Button(parent, SWT.PUSH); + button.setText(label); + layoutData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING|GridData.HORIZONTAL_ALIGN_FILL); + layoutData.grabExcessVerticalSpace = grabVertical; + button.setLayoutData(layoutData); + button.addSelectionListener(this); + return button; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,158 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalUtilities} is a collection of commonly used constants and utility + * methods. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalUtilities { + + private static String NULL = null; + private static String LOCAL_TERMINAL = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; + + /** The name of the line separator system property (i.e., "line.separator"). */ + public final static String LINE_SEPARATOR_PROPERTY = "line.separator"; //$NON-NLS-1$ + + /** The line separator CRLF (i.e., "\r\n"). */ + public final static String CRLF = "\r\n"; //$NON-NLS-1$ + + /** The line separator CR (i.e., "\r"). */ + public final static String CR = "\r"; //$NON-NLS-1$ + + /** The line separator LF (i.e., "\n"). */ + public final static String LF = "\n"; //$NON-NLS-1$ + + private LocalTerminalUtilities() { + + super(); + } + + /** The {@link DebugPlugin}'s {@link ILaunchManager} instance. */ + public final static ILaunchManager LAUNCH_MANAGER = DebugPlugin.getDefault().getLaunchManager(); + + /** + * The {@link ILaunchConfigurationType} for "Terminal" launches (in the "External Tools" + * category). + */ + public final static ILaunchConfigurationType TERMINAL_LAUNCH_TYPE = + LAUNCH_MANAGER.getLaunchConfigurationType(LOCAL_TERMINAL); + + /** + * Finds a launch configuration by its name. + * + * @param name the name of the launch configuration + * @return the corresponding {@link ILaunchConfiguration} object or null if the + * configuration could not be found + * @throws CoreException if there was a general problem accessing launch configurations + */ + public static ILaunchConfiguration findLaunchConfiguration(String name) throws CoreException { + + ILaunchConfiguration[] configuration; + ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); + configuration = manager.getLaunchConfigurations(LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE); + int numberOfConfigurations = configuration.length; + for (int index = 0; index < numberOfConfigurations; index++) { + + if (configuration[index].getName().equals(name)) { + + return configuration[index]; + } + } + String error = NLS.bind(LocalTerminalMessages.noSuchLaunchConfiguration, name); + throw new CoreException(new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, error)); + } + + /** + * Gets the local echo setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return true for local echo enabled, false otherwise + */ + public static boolean getLocalEcho(ILocalTerminalSettings settings) { + + return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO); + } + + /** + * Gets the Ctrl-C/SIGINT setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return true if sending SIGINT for Ctrl-C is enabled, + * false otherwise + */ + public static boolean getCtrlC(ILocalTerminalSettings settings) { + + return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_CTRL_C); + } + + /** + * Gets the line separator setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return {@link ILocalTerminalSettings#LINE_SEPARATOR_LF}, + * {@link ILocalTerminalSettings#LINE_SEPARATOR_CRLF}, + * {@link ILocalTerminalSettings#LINE_SEPARATOR_CR}, or null for the platform's + * default line separator + */ + public static String getLineSeparator(ILocalTerminalSettings settings) { + + String configurationName = settings.getLaunchConfigurationName(); + try { + + String ls; + ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); + ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + return ls; + } + catch (CoreException exception) { + + Logger.logException(exception); + return null; + } + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static boolean getBooleanSetting(ILocalTerminalSettings settings, String attribute) { + + String configurationName = settings.getLaunchConfigurationName(); + try { + + ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); + return configuration.getAttribute(attribute, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + return false; + } + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,287 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.cdt.utils.spawner.ProcessFactory; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.LaunchConfigurationDelegate; +import org.eclipse.debug.ui.CommonTab; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.PlatformUI; + +/** + * The class {@link LocalTerminalLaunchDelegate} provides a launch configuration delegate for local + * terminal launches. It is based on the ProgramLaunchDelegate class in the + * org.eclipse.ui.externaltools plug-in. In contrast to the original class, + * {@link LocalTerminalLaunchDelegate} creates its low-level {@link Process} object using the CDT + * {@link ProcessFactory}, which allows the process to run with a pseudo-terminal ({@link PTY}). + * + * @author Mirko Raner and others + * @version $Revision: 1.4 $ + */ +public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { + + private final static String EMPTY = ""; //$NON-NLS-1$ + private final static String PLUGIN_ID = LocalTerminalActivator.PLUGIN_ID; + + /** + * The launch configuration type ID for terminal launches. + */ + public final static String LAUNCH_CONFIGURATION_TYPE_ID = PLUGIN_ID + ".launch"; //$NON-NLS-1$ + + private static LocalTerminalStillRunningListener workbenchCloseListener; + + /** + * Creates a new {@link LocalTerminalLaunchDelegate}. + */ + public LocalTerminalLaunchDelegate() { + + super(); + } + + /** + * Launches a new Local Terminal configuration in the specified mode. The launch object has + * already been registered with the launch manager. + * + * @param configuration the {@link ILaunchConfiguration} to launch + * @param mode the mode in which to launch; currently, Local Terminal launches only support the + * mode {@link org.eclipse.debug.core.ILaunchManager#RUN_MODE} + * @param progressMonitor an {@link IProgressMonitor}, or null for no progress + * monitoring + * @param launch the {@link ILaunch} object + * @exception CoreException if launching fails + */ + public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, + IProgressMonitor progressMonitor) throws CoreException { + + String processFactoryID; + processFactoryID = configuration.getAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, EMPTY); + if (!LocalTerminalProcessFactory.ID.equals(processFactoryID)) { + + // This launch was not launched via the terminal connector UI but via the launch dialog; + // the launch needs to be explicitly connected to a terminal (otherwise it will appear + // in the regular console), so launching from the launch dialog or from the launch + // history is not supported right now. + // + String message = LocalTerminalMessages.errorDirectLaunch; + IStatus status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message); + throw new CoreException(status); + } + + // Extract all relevant information from the ILaunchConfiguration; the original + // ProgramLaunchDelegate class checks for cancellation again and again after each step, + // which is a somewhat suspect pattern; however, for now, LocalTerminalLaunchDelegate + // handles cancellation in the same way: + // + if (progressMonitor.isCanceled()) { + + return; + } + IPath location = LocalTerminalLaunchUtilities.getLocation(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + IPath workingDirectory = LocalTerminalLaunchUtilities.getWorkingDirectory(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + String[] arguments = LocalTerminalLaunchUtilities.getArguments(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + String[] commandLine = new String[arguments != null? arguments.length+1:1]; + commandLine[0] = location.toOSString(); + if (arguments != null) { + + System.arraycopy(arguments, 0, commandLine, 1, arguments.length); + } + File workingDirectoryAsFile = null; + if (workingDirectory != null) { + + workingDirectoryAsFile = workingDirectory.toFile(); + } + if (progressMonitor.isCanceled()) { + + return; + } + String[] environment = LocalTerminalUtilities.LAUNCH_MANAGER.getEnvironment(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + // + // TODO: check if there is a better way of handling cancellation of terminal launches! + + // Install an IWindowListener that checks for left-over terminal processes when the + // workbench is closed: + // + if (workbenchCloseListener == null) { + + workbenchCloseListener = new LocalTerminalStillRunningListener(); + PlatformUI.getWorkbench().addWorkbenchListener(workbenchCloseListener); + } + + // Create the low-level Process object: + // + Process spawner; + PTY pty = null; + try { + + ProcessFactory factory = ProcessFactory.getFactory(); + if (PTY.isSupported()) { + + pty = new PTY(false); + spawner = factory.exec(commandLine, environment, workingDirectoryAsFile, pty); + } + else { + + spawner = factory.exec(commandLine, environment, workingDirectoryAsFile); + } + } + catch (IOException exception) { + + Status error; + String message = exception.getMessage(); + error = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message, exception); + throw new CoreException(error); + } + + // Use program name as "process type" attribute: + // + Map processAttributes = new HashMap(); + String programName = location.lastSegment(); + String extension = location.getFileExtension(); + if (extension != null) { + + programName = programName.substring(0, programName.length()-extension.length()-1); + } + processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName.toLowerCase()); + + // Create the IProcess: + // + IProcess process = null; + if (spawner != null) { + + String[] configurationName = {configuration.getName()}; + String task = NLS.bind(LocalTerminalMessages.launchingConfiguration, configurationName); + progressMonitor.beginTask(task, IProgressMonitor.UNKNOWN); + process = DebugPlugin.newProcess(launch, spawner, commandLine[0], processAttributes); + } + if (spawner == null || process == null) { + + if (spawner != null) { + + spawner.destroy(); + } + String pluginID = LocalTerminalActivator.PLUGIN_ID; + String errorMessage = LocalTerminalMessages.couldNotCreateIProcess; + Status error = new Status(IStatus.ERROR, pluginID, IStatus.ERROR, errorMessage, null); + throw new CoreException(error); + } + if (process instanceof LocalTerminalProcess) { + + ((LocalTerminalProcess)process).setPTY(pty); + } + process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(commandLine)); + + // Wait for process termination if necessary (though probably highly unusual for terminal + // launches); again, the busy waiting pattern was copied from ProgramLaunchDelegate and is + // somewhat suspect: + // + if (!CommonTab.isLaunchInBackground(configuration)) { + + while (!process.isTerminated()) { + + try { + + if (progressMonitor.isCanceled()) { + + process.terminate(); + break; + } + Thread.sleep(50); + } + catch (InterruptedException interrupt) { + + Logger.logException(interrupt); + } + } + } + // + // TODO: find a better replacement for the busy waiting loop + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private String generateCommandLine(String[] commandLine) { + + if (commandLine.length < 1) { + + return EMPTY; + } + StringBuffer buffer = new StringBuffer(); + for (int element = 0; element < commandLine.length; element++) { + + if (element > 0) { + + buffer.append(' '); + } + StringBuffer argument = new StringBuffer(); + char[] characters = commandLine[element].toCharArray(); + boolean argumentContainsSpace = false; + for (int index = 0; index < characters.length; index++) { + + char character = characters[index]; + if (character == '"') { + + argument.append('\\'); + } + else if (character == ' ') { + + argumentContainsSpace = true; + } + argument.append(character); + } + if (argumentContainsSpace) { + + buffer.append('"').append(argument).append('"'); + } + else { + + buffer.append(argument); + } + } + return buffer.toString(); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,304 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ExternalToolsUtil + * Mirko Raner - [314195] vi editor unusable in tcsh local terminal on Linux RHEL4 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.io.File; +import java.text.Format; +import java.text.MessageFormat; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.variables.IStringVariableManager; +import org.eclipse.core.variables.VariablesPlugin; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalLaunchUtilities} provides some utility methods that are used by the + * {@link LocalTerminalLaunchDelegate}. The class is based on the ExternalToolsUtil + * class in the org.eclipse.ui.externaltools plug-in. This code had to be duplicated + * because the original class is not part of the public API of its plug-in. + * + * @author Mirko Raner and others + * @version $Revision: 1.4 $ + */ +public class LocalTerminalLaunchUtilities { + + /** The launch configuration attribute for the local echo setting. */ + public final static String ATTR_LOCAL_ECHO = LocalTerminalActivator.PLUGIN_ID + + ".echo"; //$NON-NLS-1$ + + /** The launch configuration attribute for the Ctrl-C/SIGINT setting. */ + public final static String ATTR_CTRL_C = LocalTerminalActivator.PLUGIN_ID + + ".sigint"; //$NON-NLS-1$ + + /** The launch configuration attribute for the line terminator setting. */ + public final static String ATTR_LINE_SEPARATOR = LocalTerminalActivator.PLUGIN_ID + + ".lineseparator"; //$NON-NLS-1$ + + private final static String[] EMPTY = {}; + private final static String STRING = null; + private final static String TERM = "TERM"; //$NON-NLS-1$ + private final static String ANSI = "ansi"; //$NON-NLS-1$ + private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); + + // These constants were copied from IExternalToolConstants to avoid references to internal API: + // + private final static String XT = "org.eclipse.ui.externaltools"; //$NON-NLS-1$; + private final static String ATTR_LOCATION = XT+".ATTR_LOCATION"; //$NON-NLS-1$ + private final static String ATTR_TOOL_ARGUMENTS = XT+".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$ + private final static String ATTR_WORKING_DIRECTORY = XT+".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$ + + private LocalTerminalLaunchUtilities() { + + super(); + } + + /** + * Gets the image that should be used for representing the given launch configuration. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an SWT {@link Image} or null if no suitable image was found + */ + public static Image getImage(ILaunchConfiguration configuration) { + + String identifier; + try { + + identifier = configuration.getType().getIdentifier(); + } + catch (CoreException couldNotDetermineConfigurationType) { + + identifier = null; + Logger.logException(couldNotDetermineConfigurationType); + } + if (identifier != null) { + + return DebugUITools.getImage(identifier); + } + return null; + } + + /** + * Expands and returns the location attribute of the given launch configuration. The location is + * verified to point to an existing file in the local file system. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an absolute path to a file in the local file system + * @throws CoreException if unable to retrieve the associated launch configuration attribute, or + * if unable to resolve any variables, or if the resolved location does not point to an existing + * file in the local file system + */ + public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException { + + Object[] configurationName = {configuration.getName()}; + String location = configuration.getAttribute(ATTR_LOCATION, STRING); + if (location == null) { + + abort(NLS.bind(LocalTerminalMessages.locationNotSpecified, configurationName), null, 0); + } + String expandedLocation = getStringVariableManager().performStringSubstitution(location); + if (expandedLocation == null || expandedLocation.length() == 0) { + + abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); + } + File file = new File(expandedLocation); + if (!file.isFile()) { + + abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); + } + return new Path(expandedLocation); + } + + /** + * Expands and returns the working directory attribute of the given launch configuration. + * Returns null if a working directory is not specified. If specified, the working + * directory is guaranteed to point to an existing directory in the local file system. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an absolute path to a directory in the local file system, or null if + * no working directory was specified + * @throws CoreException if unable to retrieve the associated launch configuration attribute, + * or if unable to resolve any variables, or if the resolved location does not point to an + * existing directory in the local file system + */ + public static IPath getWorkingDirectory(ILaunchConfiguration configuration) + throws CoreException { + + String location = configuration.getAttribute(ATTR_WORKING_DIRECTORY, STRING); + if (location != null) { + + String expandedLocation; + expandedLocation = getStringVariableManager().performStringSubstitution(location); + if (expandedLocation.length() > 0) { + + File path = new File(expandedLocation); + if (!path.isDirectory()) { + + Object[] detail = {expandedLocation, configuration.getName()}; + abort(NLS.bind(LocalTerminalMessages.invalidWorkingDirectory, detail), null, 0); + } + } + return new Path(expandedLocation); + } + return null; + } + + /** + * Expands and returns the arguments attribute of the given launch configuration. Returns + * null if arguments were not specified. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an array of resolved arguments, or null if no arguments were specified + * @throws CoreException if unable to retrieve the associated launch configuration attribute, + * or if unable to resolve any variables + */ + public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException { + + String arguments = configuration.getAttribute(ATTR_TOOL_ARGUMENTS, STRING); + if (arguments != null) { + + String expanded = getStringVariableManager().performStringSubstitution(arguments); + return parseStringIntoList(expanded); + } + return null; + } + + /** + * Creates an initial default launch configuration for starting a shell if no terminal/program + * launch configurations are defined yet. + * + * @return new {@link ILaunchConfiguration}, or {@code null} if there were already some + * terminal/program launch configurations defined + */ + public static ILaunchConfiguration createDefaultLaunchConfiguration() { + + ILaunchConfiguration[] configs; + ILaunchManager manager = LocalTerminalUtilities.LAUNCH_MANAGER; + try { + + configs = manager.getLaunchConfigurations(LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE); + if (configs == null || configs.length == 0) { + + // Create a default launch configuration only if there aren't any terminal launch + // configurations defined at all: + // + ILaunchConfigurationWorkingCopy workingCopy; + workingCopy = createNewLaunchConfigurationWorkingCopy(); + return workingCopy.doSave(); + } + } + catch (CoreException exception) + { + exception.printStackTrace(); // TODO: implement proper exception handling + } + return null; + } + + /** + * Creates an {@link ILaunchConfigurationWorkingCopy} that uses the default shell as its + * executable and the user's home directory as the working directory. + * + * @return an unsaved {@link ILaunchConfigurationWorkingCopy} + * @throws CoreException if the {@link ILaunchConfigurationWorkingCopy} could not be + * instantiated + * @see #getDefaultShell() + */ + public static ILaunchConfigurationWorkingCopy createNewLaunchConfigurationWorkingCopy() + throws CoreException { + + ILaunchConfigurationWorkingCopy workingCopy; + ILaunchManager manager = LocalTerminalUtilities.LAUNCH_MANAGER; + String userHome = System.getProperty("user.home", "/"); //$NON-NLS-1$//$NON-NLS-2$ + String defaultShell = getDefaultShell().getAbsolutePath(); + String name = defaultShell.substring(defaultShell.lastIndexOf(File.separator) + 1); + Format terminalLaunchName = new MessageFormat(LocalTerminalMessages.newTerminalLaunchName); + name = terminalLaunchName.format(new Object[] {name}); + name = manager.generateLaunchConfigurationName(name); + workingCopy = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE.newInstance(null, name); + workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); + workingCopy.setAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, true); + workingCopy.setAttribute(ATTR_LOCATION, defaultShell); + workingCopy.setAttribute(ATTR_WORKING_DIRECTORY, userHome); + workingCopy.setAttribute(ATTR_LOCAL_ECHO, runningOnWindows()); + return workingCopy; + } + + /** + * Returns the system's default shell. First, this method will read the value of the environment + * variable {@code SHELL}. If that variable is not set, it will default to {@code cmd.exe} on + * Windows systems, and to {@code /bin/sh} on all other systems. + * + * @return a {@link File} pointing to the default shell (the underlying file is not guaranteed + * to exist in the file system) + */ + public static File getDefaultShell() { + + String shell = System.getenv("SHELL"); //$NON-NLS-1$ + if (shell == null) { + + if (runningOnWindows()) { + + shell = "C:\\Windows\\System32\\cmd.exe"; //$NON-NLS-1$ + } + else { + + shell = "/bin/sh"; //$NON-NLS-1$ + } + } + return new File(shell); + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static boolean runningOnWindows() { + + return Platform.OS_WIN32.equals(Platform.getOS()); + } + + private static IStringVariableManager getStringVariableManager() { + + return VariablesPlugin.getDefault().getStringVariableManager(); + } + + private static String[] parseStringIntoList(String arguments) { + + if (arguments == null || arguments.length() == 0) { + + return EMPTY; + } + return DebugPlugin.parseArguments(arguments); + } + + private static void abort(String text, Throwable exception, int code) throws CoreException { + + Status status; + status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, code, text, exception); + throw new CoreException(status); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,126 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.local.launch.ui.LocalTerminalStillRunningDialog; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchListener; +import org.eclipse.ui.IWorkbenchWindow; + +/** + * The class {@link LocalTerminalStillRunningListener} is an {@link IWorkbenchListener} that warns + * the user about any terminal launches that are still running when the workbench closes. The user + * might want to take specific action to deal with such left-over processes. Typically, this + * listener will trigger only on very rare cases because the + * {@link org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector} implementation will + * terminate left-over launches when the workbench window is closed. However, it is possible that + * a terminal launch does not get automatically terminated, for example, if it was started through + * an External Tools launch rather than through the terminal. + * + * The class {@link LocalTerminalStillRunningListener} is inspired by the + * ProgramLaunchWindowListener class inside ProgramLaunchDelegate in the + * org.eclipse.ui.externaltools plug-in, though it works through a slightly different + * mechanism. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalStillRunningListener implements IWorkbenchListener { + + /** + * Creates a new {@link LocalTerminalStillRunningListener}. + */ + public LocalTerminalStillRunningListener() { + + super(); + } + + /** + * Gets notified when the workbench is closed and informs the user about any left-over + * terminal launches. + * + * @param workbench the {@link IWorkbench} + * @param forced true if a forced shutdown occurred, false otherwise + * @return true to allow the workbench to proceed with shutdown, false + * to prevent a shutdown (only for non-forced shutdown) + */ + public boolean preShutdown(IWorkbench workbench, boolean forced) { + + if (forced) { + + return true; + } + IPreferenceStore store = LocalTerminalActivator.getDefault().getPreferenceStore(); + if (!store.getBoolean(LocalTerminalActivator.PREF_CONFIRM_TERMINATE_ON_SHUTDOWN)) { + + return true; + } + ILaunchConfigurationType launchType; + String launchTypeID = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; + launchType = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunchConfigurationType(launchTypeID); + if (launchType == null) { + + return true; + } + List notTerminated = new ArrayList(); + ILaunch launches[] = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunches(); + ILaunchConfigurationType configurationType; + ILaunchConfiguration configuration; + for (int launch = 0; launch < launches.length; launch++) { + + try { + + configuration = launches[launch].getLaunchConfiguration(); + if (configuration == null) { + + continue; + } + configurationType= configuration.getType(); + } + catch (CoreException exception) { + + Logger.logException(exception); + continue; + } + if (configurationType.equals(launchType) && !launches[launch].isTerminated()) { + + notTerminated.add(launches[launch]); + } + } + if (!notTerminated.isEmpty()) { + + IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); + ILaunch[] launch = (ILaunch[])notTerminated.toArray(new ILaunch[notTerminated.size()]); + return LocalTerminalStillRunningDialog.openDialog(window.getShell(), launch); + } + return true; + } + + /** + * Not implemented. + * @see IWorkbenchListener#postShutdown(IWorkbench) + */ + public void postShutdown(IWorkbench workbench) { + + // Not implemented + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,112 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.Platform; +import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; +import org.eclipse.debug.ui.CommonTab; +import org.eclipse.debug.ui.EnvironmentTab; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.debug.ui.ILaunchConfigurationDialog; +import org.eclipse.debug.ui.ILaunchConfigurationTab; +import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** +* The class {@link LocalTerminalLaunchTabGroup} defines the tabs for the launch configuration +* dialog that is used for terminal-based launches. The tab groups consists of the main tab for +* a standard program launch (lifted from the org.eclipse.ui.externaltools plug-in), the +* custom {@link LocalTerminalSettingsTab}, and the {@link EnvironmentTab} and {@link CommonTab}, +* which can be publicly accessed from the org.eclipse.debug.ui plug-in. +* +* @author Mirko Raner +* @version $Revision: 1.2 $ +**/ +public class LocalTerminalLaunchTabGroup extends AbstractLaunchConfigurationTabGroup { + + private final static String ID = "id"; //$NON-NLS-1$ + private final static String CLASS = "class"; //$NON-NLS-1$ + private final static String PROGRAM_TAB_GROUP = + "org.eclipse.ui.externaltools.launchConfigurationTabGroup.program"; //$NON-NLS-1$ + + /** + * Creates a new {@link LocalTerminalLaunchTabGroup}. + **/ + public LocalTerminalLaunchTabGroup() { + + super(); + } + + /** + * Creates the tabs contained in the local terminal launch configuration dialog for the specified + * launch mode. The tabs control's are not yet created. This is the first method called in the + * life-cycle of a tab group. + * + * @param dialog the launch configuration dialog this tab group is contained in + * @param mode the mode the launch configuration dialog was opened in + * @see AbstractLaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) + **/ + public void createTabs(ILaunchConfigurationDialog dialog, String mode) { + + ILaunchConfigurationTab main = getMainTab(dialog, mode); + ILaunchConfigurationTab terminal = new LocalTerminalSettingsTab(); + ILaunchConfigurationTab environment = new EnvironmentTab(); + ILaunchConfigurationTab common = new CommonTab(); + ILaunchConfigurationTab[] tabs = {main, terminal, environment, common}; + setTabs(tabs); + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private ILaunchConfigurationTab getMainTab(ILaunchConfigurationDialog dialog, String mode) { + + // Find the main tab for the external program launch in the registry (a direct search is + // only possible for extensions that actually declare a unique ID, which most extensions + // don't; the search for the "id" attribute of a configuration element has to be done + // manually): + // + IConfigurationElement[] element; + IExtensionRegistry registry = Platform.getExtensionRegistry(); + final String TAB_GROUPS = IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS; + element = registry.getConfigurationElementsFor(IDebugUIConstants.PLUGIN_ID, TAB_GROUPS); + int numberOfElements = element.length; + for (int index = 0; index < numberOfElements; index++) { + + if (element[index].getAttribute(ID).equals(PROGRAM_TAB_GROUP)) { + + try { + + ILaunchConfigurationTabGroup tabGroup; + Object executable = element[index].createExecutableExtension(CLASS); + tabGroup = (ILaunchConfigurationTabGroup)executable; + tabGroup.createTabs(dialog, mode); + + // It's not possible to make assumptions about the class name of the program + // main tab (without over-stepping API boundaries), but it's usually the very + // first tab in the group (which is an assumption that actually also over-steps + // API boundaries, but it's the best possible solution, short of copying the + // whole source code): + // + return tabGroup.getTabs()[0]; + } + catch (CoreException exception) { + + Logger.logException(exception); + } + } + } + return null; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,282 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.tm.internal.terminal.local.ILocalTerminalSettings; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalSettingsTab} provides the UI for custom settings that are specific + * to terminal-based launches. Currently, the tab allows the user to control the local echo settings + * and the line separator string. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + **/ +public class LocalTerminalSettingsTab extends AbstractLaunchConfigurationTab +implements SelectionListener { + + private final static String NULL = null; + + private Button buttonEcho; + private Button buttonCtrlC; + private Button separatorDefault; + private Button separatorLF; + private Button separatorCRLF; + private Button separatorCR; + + /** + * Creates a new {@link LocalTerminalSettingsTab}. + **/ + public LocalTerminalSettingsTab() { + + super(); + } + + /** + * Creates the top-level control for this launch configuration tab under the given parent + * composite. This method is called once on tab creation. + * + * @param parent the parent {@link Composite} + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) + **/ + public void createControl(Composite parent) { + + Composite container = new Composite(parent, SWT.NONE); + setControl(container); + container.setLayout(new GridLayout()); + Group composite = new Group(container, SWT.NONE); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + composite.setText(LocalTerminalMessages.terminalSettings); + composite.setLayout(new GridLayout()); + + // Create echo check box: + // + buttonEcho = button(composite, LocalTerminalMessages.enableLocalEcho, SWT.CHECK); + buttonEcho.setLayoutData(new GridData()); + + // Create Ctrl-C/SIGINT check box: + // + buttonCtrlC = button(composite, LocalTerminalMessages.sendInterruptOnCtrlC, SWT.CHECK); + buttonCtrlC.setLayoutData(new GridData()); + + // Create radio buttons for line separator settings: + // + Composite separator = new Composite(composite, SWT.NONE); + RowLayout rowLayout = new RowLayout(); + rowLayout.wrap = false; + separator.setLayout(rowLayout); + separatorDefault = button(separator, LocalTerminalMessages.lineSeparatorDefault, SWT.RADIO); + separatorLF = button(separator, LocalTerminalMessages.lineSeparatorLF, SWT.RADIO); + separatorCRLF = button(separator, LocalTerminalMessages.lineSeparatorCRLF, SWT.RADIO); + separatorCR = button(separator, LocalTerminalMessages.lineSeparatorCR, SWT.RADIO); + separator.setLayoutData(new GridData()); + } + + /** + * Returns the name of this tab. + * + * @return the name of this tab + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName() + **/ + public String getName() { + + return LocalTerminalMessages.terminalTabName; + } + + /** + * Returns the image for this tab, or null if none + * + * @return the image for this tab, or null if none + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage() + **/ + public Image getImage() { + + return DebugUITools.getImage(LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID); + } + + /** + * Initializes this tab's controls with values from the given launch configuration. This method + * is called when a configuration is selected to view or edit, after the tab's control has been + * created. + * + * @param configuration the launch configuration + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration) + **/ + public void initializeFrom(ILaunchConfiguration configuration) { + + boolean echo; + try { + + echo = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + echo = false; + } + boolean ctrlC; + try { + + ctrlC = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + ctrlC = false; + } + String ls; + try { + + ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + } + catch (CoreException exception) { + + Logger.logException(exception); + ls = null; + } + buttonEcho.setSelection(echo); + buttonCtrlC.setSelection(ctrlC); + if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { + + separatorLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { + + separatorLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(ls)) { + + separatorCRLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_CR.equals(ls)) { + + separatorCR.setSelection(true); + } + else { + + separatorDefault.setSelection(true); + } + } + + /** + * Copies values from this tab into the given launch configuration. + * + * @param configuration the launch configuration + * @see AbstractLaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy) + **/ + public void performApply(ILaunchConfigurationWorkingCopy configuration) { + + boolean echo = buttonEcho.getSelection(); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, echo); + boolean ctrlC = buttonCtrlC.getSelection(); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, ctrlC); + String lineSeparator = null; + if (separatorCRLF.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; + } + else if (separatorCR.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; + } + else if (separatorLF.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; + } + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, lineSeparator); + } + + /** + * Initializes the given launch configuration with default values for this tab. This method is + * called when a new launch configuration is created such that the configuration can be + * initialized with meaningful values. This method may be called before the tab's control is + * created. + * + * @param configuration the launch configuration + * @see AbstractLaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy) + **/ + public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { + + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + } + + /** + * Prevents Terminal launch configurations from being started directly from the launch + * configuration dialog. The Run button in the dialog will only be enabled if all tabs + * consider a launch configuration valid. + * + * TODO: previously used launches can still be launched via the launch history + * (see {@code ExternalToolMenuDelegate#fillMenu(Menu)}) + * + * @param configuration the {@link ILaunchConfiguration} + * @return always {@code false} + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) + */ + public boolean isValid(ILaunchConfiguration configuration) { + + return false; + } + + /** + * Handles selection of any of the buttons in the tab. + * + * @param event the {@link SelectionEvent} + * @see SelectionListener#widgetSelected(SelectionEvent) + **/ + public void widgetSelected(SelectionEvent event) { + + setDirty(true); + getLaunchConfigurationDialog().updateButtons(); + } + + /** + * Handles default selection of any of the buttons in the tab. + * + * @param event the {@link SelectionEvent} + * @see SelectionListener#widgetDefaultSelected(SelectionEvent) + **/ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private Button button(Composite parent, String label, int buttonType) { + + Button button = new Button(parent, buttonType); + button.addSelectionListener(this); + button.setText(label); + return button; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,298 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchesListener2; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalStillRunningDialog} is a dialog that is shown when the workbench is + * about to exit and one or more terminal launches are still running. It gives the user a choice + * between aborting the workbench shut-down, proceeding, or terminating the outstanding launches + * individually. When no more launches are running the dialog will automatically disappear and + * workbench shut-down will proceed. + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class LocalTerminalStillRunningDialog extends MessageDialog +implements Runnable, SelectionListener, ILaunchesListener2 { + + private final static String TITLE = LocalTerminalMessages.warningTitleTerminalsStillRunning; + private final static String MESSAGE = LocalTerminalMessages.warningMessageTerminalsStillRunning; + private final static String QUIT_ANYWAY = LocalTerminalMessages.quitWorkbenchAnyway; + private final static String DO_NOT_QUIT = LocalTerminalMessages.doNoQuitWorkbench; + private final static String[] BUTTONS = {QUIT_ANYWAY, DO_NOT_QUIT}; + private final static RGB WHITE = new RGB(255, 255, 255); + private final static int SCROLLABLE_HEIGHT = 100; + + // Image key copied from IInternalDebugUIConstants: + // + private final static String IMG_LCL_TERMINATE = "IMG_LCL_TERMINATE"; //$NON-NLS-1$ + + private ILaunch[] unterminated; + private Composite content; + + private LocalTerminalStillRunningDialog(Shell parentShell, ILaunch[] launches) { + + super(parentShell, TITLE, null, MESSAGE, WARNING, BUTTONS, 0); + setShellStyle(SWT.BORDER|SWT.TITLE|SWT.APPLICATION_MODAL|SWT.RESIZE|SWT.MAX); + unterminated = launches; + } + + /** + * Opens a dialog that lists all terminal launches that have not yet terminated. + * + * @param shell the parent {@link Shell} for the dialog + * @param launches the launches that have not yet terminated + * @return true to allow the workbench to proceed with shutdown, false + * to prevent a shutdown (only for non-forced shutdown) + */ + public static boolean openDialog(Shell shell, ILaunch[] launches) { + + LocalTerminalStillRunningDialog dialog; + dialog = new LocalTerminalStillRunningDialog(shell, launches); + dialog.setBlockOnOpen(true); + try { + + LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(dialog); + return dialog.open() == 0; + } + finally { + + LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(dialog); + } + } + + /** + * Creates the dialog buttons and sets the focus on the default button. This is done because + * otherwise the focus might land on one of the stop buttons of the unterminated launches, which + * looks somewhat funny. + * + * @param parent the parent {@link Composite} + */ + protected void createButtonsForButtonBar(Composite parent) { + + super.createButtonsForButtonBar(parent); + getButton(1).forceFocus(); + } + + /** + * Creates the custom area of the dialog that shows the list of terminal launches that have not + * yet been terminated. + * + * @param parent the parent {@link Composite} into which the custom area is inserted + * @return the {@link ScrolledComposite} for the custom area + * + * @see MessageDialog#createCustomArea(Composite) + */ + protected Control createCustomArea(Composite parent) { + + ScrolledComposite scrollable = new ScrolledComposite(parent, SWT.BORDER|SWT.V_SCROLL); + GridData gridData = new GridData(GridData.FILL_BOTH); + gridData.heightHint = SCROLLABLE_HEIGHT; + scrollable.setLayoutData(gridData); + scrollable.setExpandHorizontal(true); + scrollable.setExpandVertical(true); + GridLayout gridLayout = new GridLayout(); + gridLayout.marginWidth = gridLayout.marginHeight = gridLayout.verticalSpacing = 0; + content = new Composite(scrollable, SWT.NONE); + content.setLayout(gridLayout); + content.setBackground(new Color(parent.getDisplay(), WHITE)); + scrollable.setContent(content); + for (int index = 0; index < unterminated.length; index++) { + + Composite item = createItem(content, unterminated[index]); + item.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + } + content.pack(); + scrollable.setMinHeight(content.getBounds().height); + return scrollable; + } + + /** + * Handles the {@link SelectionEvent}s that are sent when the user clicks the stop button of a + * launch. The stop button will immediately be disabled to indicate that the stop request is + * being processed. The actual launch termination will be confirmed in an asynchronous fashion + * by the {@link #launchesTerminated(ILaunch[])} method. + * + * @param event the {@link SelectionEvent} + * + * @see #launchesTerminated(ILaunch[]) + */ + public void widgetSelected(SelectionEvent event) { + + ToolItem item = (ToolItem)event.widget; + ILaunch launch = (ILaunch)item.getParent().getParent().getData(); + item.setEnabled(false); + try { + + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); + launch.terminate(); + } + catch (DebugException exception) { + + Logger.logException(exception); + } + } + + /** + * Handles default selection events by passing them to {@link #widgetSelected(SelectionEvent)}. + * + * @param event the {@link SelectionEvent} + * + * @see #widgetSelected(SelectionEvent) + * @see SelectionListener#widgetSelected(SelectionEvent) + */ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + /** + * Removes terminated launches from the list displayed by the dialog and closes the dialog once + * all outstanding launches have been terminated. + * + * @see #launchesTerminated(ILaunch[]) + */ + public void run() { + + boolean allLaunchesTerminated = true; + Control[] child = content.getChildren(); + int numberOfChildren = child.length; + for (int number = 0; number < numberOfChildren; number++) { + + ILaunch launch = (ILaunch)child[number].getData(); + if (launch != null && launch.isTerminated()) { + + child[number].setData(null); + String exitValue; + try { + + exitValue = String.valueOf(launch.getProcesses()[0].getExitValue()); + } + catch (DebugException couldNotGetExitValue) { + + exitValue = '(' + couldNotGetExitValue.getMessage() + ')'; + } + Label label = (Label)((Composite)child[number]).getChildren()[1]; + String process = label.getText(); + process = NLS.bind(LocalTerminalMessages.terminatedProcess, process, exitValue); + label.setText(process); + + // In case the launch terminated by itself (and not because the user pressed the + // stop button) disable the stop button so that no attempt can be made to stop the + // process twice: + // + ((Composite)child[number]).getChildren()[2].setEnabled(false); + } + if (child[number].getData() != null) { + + allLaunchesTerminated = false; + } + } + if (allLaunchesTerminated) { + + setReturnCode(0); + close(); + } + } + + /** + * Removes a recently terminated launch from the list displayed by the dialog. The actual work + * needs to be done in the UI thread and is performed by the {@link #run()} method. + * + * @param terminated a list of terminated launches + * + * @see #run() + */ + public void launchesTerminated(ILaunch[] terminated) { + + Display.getDefault().syncExec(this); + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesAdded(ILaunch[]) + */ + public void launchesAdded(ILaunch[] launches) { + + // Not implemented... + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesChanged(ILaunch[]) + */ + public void launchesChanged(ILaunch[] launches) { + + // Not implemented... + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesRemoved(ILaunch[]) + */ + public void launchesRemoved(ILaunch[] launches) { + + // Not implemented... + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private Composite createItem(Composite parent, ILaunch launch) { + + Composite item = new Composite(parent, SWT.NULL); + GridLayout gridLayout = new GridLayout(3, false); + item.setData(launch); + item.setLayout(gridLayout); + Image processImage = LocalTerminalLaunchUtilities.getImage(launch.getLaunchConfiguration()); + Label icon = new Label(item, SWT.NULL); + icon.setImage(processImage); + Label label = new Label(item, SWT.NULL); + label.setText(launch.getLaunchConfiguration().getName()); + ToolItem stopButton = new ToolItem(new ToolBar(item, SWT.FLAT), SWT.PUSH); + stopButton.addSelectionListener(this); + Image deleteImage = DebugUITools.getImage(IMG_LCL_TERMINATE); + stopButton.setImage(deleteImage); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.verticalAlignment = GridData.CENTER; + gridData.grabExcessHorizontalSpace = true; + label.setLayoutData(gridData); + return item; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,190 @@ +/*************************************************************************************************** + * Copyright (c) 2008, 2010 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + * Mirko Raner - [314607] Launching a terminal also pops up the console view + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.HashMap; +import java.util.Map; +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.cdt.utils.spawner.Spawner; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.debug.core.model.RuntimeProcess; + +/** + * The class {@link LocalTerminalProcess} is a customized {@link RuntimeProcess} for use by the + * {@link org.eclipse.tm.internal.terminal.local.LocalTerminalConnector}. It serves the purpose of + * preventing the {@link org.eclipse.debug.internal.ui.DebugUIPlugin DebugUIPlugin}'s + * {@link org.eclipse.debug.internal.ui.views.console.ProcessConsoleManager ProcessConsoleManager} + * from allocating a Console view in addition to the Terminal view that serves as the program's main + * I/O device.

    + * Unfortunately, the Process Console Manager determines the need for a Console view by checking the + * {@link IStreamsProxy} of the process for null. If the process has a non-null + * {@link IStreamsProxy} a console will be automatically allocated. This is problematic because + * the Local Terminal Connector requires an {@link IStreamsProxy} but obviously not an additional + * console view. It would have been better if the Process Console Manager would check the + * corresponding attributes in the launch configuration rather than checking the + * {@link IStreamsProxy} of the process. The work-around for now is to remove the underlying + * process from the launch. No console will be allocated for a launch that doesn't have a process + * associated with it. Consequently, a currently running terminal launch will appear in the Debug + * view's list of active launches but the view will not show any child elements (and the element + * cannot be expanded, either). The {@link LocalTerminalProcessRegistry} keeps track of which + * {@link LocalTerminalProcess} is associated with a particular launch. Client code that needs to + * find the process of a launch can obtain it through that registry.

    + * However, for a launch to be properly terminated it needs to have at least one process that can + * be terminated. Launches that do not have any processes associated with them are not considered + * terminated and actually terminating them is not possible. To work around this secondary issue, + * the process is added back to its launch just before the launch is terminated. This activity is + * performed by {@link LocalTerminalProcessRegistry#addProcessBackToFinishedLaunch(ILaunch)}. To + * prevent a console allocation during this last step, the {@link #resetStreamsProxy()} method will + * be invoked, which will cause subsequent calls to {@link IProcess#getStreamsProxy()} to return + * null. After the launch is terminated it will appear in the Debug view with the + * terminated process as its child element. The exit value of the terminal process can also be seen + * in that view.

    + * {@link #getStreamsProxy()} will also return null during initialization of a + * {@link LocalTerminalProcess} object until after the + * {@link RuntimeProcess#RuntimeProcess(ILaunch, Process, String, Map) super constructor} invocation + * has been completed. This disables a code path that caused a Console view to pop up when the + * {@link org.eclipse.debug.core.model.IStreamMonitor IStreamMonitor} already contained data (like, + * for example, a shell's initial prompt) when the ProcessConsoleManager received an + * {@link org.eclipse.debug.core.ILaunchListener#launchChanged(ILaunch)} notification (which cannot + * be avoided). See https://bugs.eclipse.org/314607 + * for additional details.

    + * + * This solution for preventing standard consoles from being opened does certainly not deserve the + * cleanliness award for straightforward coding, but at least it doesn't rely on internal API at + * this point. Ideally, the whole issue should be resolved with some sort of console renderer + * extension point as proposed in bug 242373 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=242373). + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public final class LocalTerminalProcess extends RuntimeProcess { + + /** + * The process type ID of processes produced by this factory. + */ + public final static String PROCESS_TYPE = "org.eclipse.tm.terminal.localProcess"; //$NON-NLS-1$ + + private boolean enableStreamsProxy; + private boolean resetStreamsProxy; + private PTY pty; + + /** + * Creates a new {@link LocalTerminalProcess}. + * + * @param launch the current {@link ILaunch} + * @param process the underlying low-level {@link Process} + * @param name the process name + * @param attributes additional attributes of the process + */ + protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { + + super(launch, process, name, setProcessType(attributes)); + enableStreamsProxy = true; + LocalTerminalProcessRegistry.registerWithLaunch(launch, this); + launch.removeProcess(this); + } + + /** + * Sends a SIGINT signal to the underlying system {@link Process}. This is roughly + * equivalent to the user pressing Ctrl-C. + * + * @return true if the interrupt signal was sent successfully; false + * if the signal was not sent successfully or if no signal was sent because the underlying + * process is not a CDT {@link Spawner} + */ + public boolean interrupt() { + + Process process = getSystemProcess(); + if (process instanceof Spawner) { + + return ((Spawner)process).interrupt() == 0; + } + return false; + } + + /** + * Returns the {@link IStreamsProxy} of the process. + * + * @return the original result of {@link RuntimeProcess#getStreamsProxy()}, or null + * after {@link #resetStreamsProxy()} has been called. + */ + public IStreamsProxy getStreamsProxy() { + + if (resetStreamsProxy || !enableStreamsProxy) { + + return null; + } + return super.getStreamsProxy(); + } + + /** + * Resets the {@link IStreamsProxy} of this process. After calling this method, + * {@link #getStreamsProxy()} will always return null. + */ + protected void resetStreamsProxy() { + + resetStreamsProxy = true; + } + + /** + * Sets the pseudo-terminal associated with this process. + * + * @param pty the {@link PTY} + */ + public void setPTY(PTY pty) { + + this.pty = pty; + } + + /** + * Gets the pseudo-terminal associated with this process. + * + * @return the {@link PTY} + */ + public PTY getPTY() { + + return pty; + } + + /** + * Re-attaches the process to its launch and completes termination of the process. This ensures + * that the launch can properly terminate. + * + * @see RuntimeProcess#terminated() + */ + protected void terminated() { + + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(getLaunch()); + super.terminated(); + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static Map setProcessType(Map attributes) { + + // The process type used to be set by the LocalTerminalProcessFactory. However, if some + // client code managed to instantiate a LocalTerminalProcess directly (instead of going + // through the factory) this would result in IProcess objects with an incorrect process type + // attribute. A better solution is to set the process type attribute at the time when the + // LocalTerminalProcess object is actually created: + // + if (attributes == null) { + + attributes = new HashMap(1); + } + attributes.put(IProcess.ATTR_PROCESS_TYPE, PROCESS_TYPE); + return attributes; + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,40 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.Map; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.IProcessFactory; +import org.eclipse.debug.core.model.IProcess; + +/** + * The class {@link LocalTerminalProcessFactory} is an {@link IProcessFactory} that produces + * {@link LocalTerminalProcess} objects. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalProcessFactory implements IProcessFactory { + + /** + * The ID of this factory (as used in plugin.xml). + */ + public final static String ID = "org.eclipse.tm.terminal.localProcess.factory"; //$NON-NLS-1$ + + /** + * @see IProcessFactory#newProcess(ILaunch, Process, String, Map) + */ + public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { + + return new LocalTerminalProcess(launch, process, label, attributes); + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,158 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.IdentityHashMap; +import java.util.Map; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchesListener2; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; + +/** + * The {@link LocalTerminalProcessRegistry} keeps a map between {@link ILaunch} objects and the + * {@link LocalTerminalProcess} objects that were associated with them. To prevent standard consoles + * from being opened, a {@link LocalTerminalProcess} is immediately removed from its {@link ILaunch} + * when the process is created (see {@link LocalTerminalProcess} for details). + * {@link LocalTerminalProcessRegistry} is a singleton (without lazy initialization). + * + * @author mirko + * @version $Revision: 1.1 $ + */ +public class LocalTerminalProcessRegistry implements ILaunchesListener2 { + + private final static LocalTerminalProcessRegistry INSTANCE = new LocalTerminalProcessRegistry(); + + private Map processes; + + private LocalTerminalProcessRegistry() { + + // The ILaunch interface does not make any statements about the suitability of implementing + // objects as hash keys. There might be ILaunch implementations that return a different + // hash code value if the object changes internally. To be safe in those cases, an + // IdentityHashMap is used: + // + processes = new IdentityHashMap(); + } + + /** + * Gets the {@link LocalTerminalProcess} that was originally associated with a given + * {@link ILaunch} object. + * + * @param launch the {@link ILaunch} that was used for creating the process + * @return the corresponding {@link LocalTerminalProcess}, or null if no process + * could be found + */ + public static LocalTerminalProcess getFromLaunch(ILaunch launch) { + + return (LocalTerminalProcess)INSTANCE.processes.get(launch); + } + + /** + * Adds a {@link LocalTerminalProcess} object back to its original {@link ILaunch}. This method + * will also perform a {@link LocalTerminalProcess#resetStreamsProxy()} on the process. + * The {@link #addProcessBackToFinishedLaunch(ILaunch)} method is necessary for properly + * terminating the launch of a terminal application (see {@link LocalTerminalProcess} for + * details). + * + * @param launch the {@link ILaunch} whose original process is to be re-attached + */ + public static void addProcessBackToFinishedLaunch(ILaunch launch) { + + LocalTerminalProcess process = getFromLaunch(launch); + if (process == null) { + + // Maybe the process wasn't actually started in a terminal (can happen when a Terminal + // is launched from the External Tools menu): + // + return; + } + process.resetStreamsProxy(); + if (launch.getProcesses().length == 0) { + + launch.addProcess(process); + } + } + + /** + * Registers a {@link LocalTerminalProcess} with a given {@link ILaunch} so that the process can + * be safely removed from the launch. + * + * @param launch the {@link ILaunch} + * @param process the {@link LocalTerminalProcess} originally associated with that launch + */ + public static void registerWithLaunch(ILaunch launch, LocalTerminalProcess process) { + + synchronized (INSTANCE) { + + if (INSTANCE.processes.isEmpty()) { + + // Start listening to terminated launches as soon as the first launch/process pair + // is registered: + // + LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(INSTANCE); + } + INSTANCE.processes.put(launch, process); + } + } + + /** + * Handles the termination of launches. The {@link LocalTerminalProcessRegistry} acts as a + * {@link ILaunchesListener2} if there are monitored launches outstanding. It will automatically + * de-register itself (as a listener) when the last monitored launch was terminated. + * + * @param terminated the launches that were terminated + */ + public void launchesTerminated(ILaunch[] terminated) { + + synchronized (INSTANCE) { + + int numberOfTerminatedLaunches = terminated.length; + for (int launch = 0; launch < numberOfTerminatedLaunches; launch++) { + + INSTANCE.processes.remove(terminated[launch]); + } + if (INSTANCE.processes.isEmpty()) { + + // If there are no more outstanding launches the listener can be removed again: + // + LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(INSTANCE); + } + } + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesAdded(ILaunch[]) + */ + public void launchesAdded(ILaunch[] launches) { + + // Not implemented. + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesRemoved(ILaunch[]) + */ + public void launchesRemoved(ILaunch[] launches) { + + // Not implemented. + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesChanged(ILaunch[]) + */ + public void launchesChanged(ILaunch[] launches) { + + // Not implemented. + } +} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,88 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.ui; + +import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.ControlListener; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Composite; + +/** + * The class {@link DependentHeightComposite} is a special kind of SWT {@link Composite} whose + * height depends on the height of some master {@link Composite} that does not have to be a direct + * parent or child of it. This class was introduced as a work-around for UI resizing problems with + * the Terminal API's PageBook class (which uses a StackLayout). + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class DependentHeightComposite extends Composite implements ControlListener { + + private Composite master; + private int preferredHeight = -1; + private int extraHeight; + + /** + * Creates a new {@link DependentHeightComposite}. + * + * @param parent the parent {@link Composite} + * @param style the SWT style + * @param master the master {@link Composite} that determines the height + * @param extra the additional height in pixels (may be negative, to create a smaller height + * than the master {@link Composite}) + */ + public DependentHeightComposite(Composite parent, int style, Composite master, int extra) { + + super(parent, style); + this.master = master; + this.extraHeight = extra; + master.addControlListener(this); + } + + /** + * This method does nothing. + * + * @see ControlListener#controlMoved(ControlEvent) + */ + public void controlMoved(ControlEvent event) { + + // Does nothing... + } + + /** + * Adjusts the {@link DependentHeightComposite} height if the master {@link Composite}'s size + * changed. + * + * @param event the {@link ControlEvent} + */ + public void controlResized(ControlEvent event) { + + setSize(getSize().x, master.getClientArea().height+extraHeight); + preferredHeight = master.getClientArea().height+extraHeight; + master.layout(); + } + + /** + * Computes the preferred size of this {@link DependentHeightComposite}. + * + * @see Composite#computeSize(int, int, boolean) + */ + public Point computeSize(int widthHint, int heightHint, boolean changed) { + + Point size = super.computeSize(widthHint, heightHint, changed); + if (preferredHeight != -1) { + + size.y = preferredHeight; + } + return size; + } +} Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.local/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.local/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/.project eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/.project --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.local-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ +#################################################################################################### +# Copyright (c) 2008, 2011 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### + +bin.includes = feature.xml,\ + feature.properties,\ + epl-v10.html,\ + license.html,\ + eclipse_update_120.jpg Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,170 @@ +#################################################################################################### +# Copyright (c) 2008, 2012 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Local Terminal (Incubation) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "description" property - description of the feature +description=A terminal emulation for local shells and external tools.\n\ +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2008, 2012 Mirko Raner and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,57 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.local + 0.2.200.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/.project eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/.project --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/.project 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/.project 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.local.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/build.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,18 @@ +#################################################################################################### +# Copyright (c) 2008, 2011 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### + +bin.includes = feature.xml,\ + feature.properties,\ + epl-v10.html,\ + license.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/feature.properties 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,171 @@ +#################################################################################################### +# Copyright (c) 2008, 2012 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse TM +#################################################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Local Terminal SDK (Incubation) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "description" property - description of the feature +description=A terminal emulation for local shells and external tools.\n\ +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source,\ +and the Terminal View required to drive the plugin. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2008, 2012 Mirko Raner and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/feature.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,64 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/license.html 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    February 1, 2011

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.local.sdk-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.local.sdk-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.local.sdk + 0.3.1.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/feature.properties 2009-05-13 22:22:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,14 +22,14 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -43,8 +43,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -52,42 +52,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -96,47 +92,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/feature.xml 2009-11-05 17:37:50.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,8 +1,19 @@ - + + @@ -19,8 +30,8 @@ - - + + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/license.html 2007-06-04 16:09:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.sdk-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.sdk-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.sdk + 3.3.2.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/.cvsignore 2007-02-08 23:50:32.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF 2009-02-01 15:15:25.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.0.100.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/README.txt eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/README.txt --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/README.txt 2008-07-09 14:46:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/README.txt 2013-02-12 20:26:45.000000000 +0000 @@ -3,7 +3,7 @@ This README is for terminal.serial version 1.0.0 and later, corresponding to RSE downloads after 2.0M4. Instructions for previous versions (using Sun javacomm / javax.comm package instead of gnu.io) are still available from -http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 +http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=Tools_Project&view=markup&pathrev=R1_0_1 Prerequisites: diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/about.ini 2009-05-13 22:22:35.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/about.properties 2009-02-01 15:15:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/build.properties 2009-05-13 22:43:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,6 +22,6 @@ plugin.properties,\ README.txt,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png src.includes = README.txt,\ about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/plugin.properties 2009-05-13 22:43:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,5 +15,5 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### pluginName = Target Management Terminal Serial Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project serialConnection = Serial \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal.serial + 2.1.200.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java 2008-07-15 22:40:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,15 +21,19 @@ import java.util.List; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class SerialSettingsPage implements ISettingsPage { +public class SerialSettingsPage extends AbstractSettingsPage { private Combo fSerialPortCombo; private Combo fBaudRateCombo; private Combo fDataBitsCombo; @@ -137,6 +141,11 @@ new Label(composite, SWT.RIGHT).setText(SerialMessages.TIMEOUT + ":"); //$NON-NLS-1$ fTimeout = new Text(composite, SWT.BORDER); fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fTimeout.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fTimeout); + } + }); loadSettings(); } @@ -148,8 +157,20 @@ int flags=SWT.DROP_DOWN; if(readonly) flags|=SWT.READ_ONLY; - Combo combo = new Combo(composite, flags); + final Combo combo = new Combo(composite, flags); combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + if (!readonly) { + combo.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(combo); + } + }); + } + combo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + fireListeners(combo); + } + }); return combo; } Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/feature.properties 2009-05-13 22:22:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Serial Connector # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/feature.xml 2009-05-13 22:43:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,8 +1,18 @@ - + + @@ -18,14 +28,14 @@ - - + + - + - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.serial + 2.1.200.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:22:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Serial Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:22:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:14:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties 2009-05-13 22:43:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:43:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Serial Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/.cvsignore 2007-02-08 23:50:36.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF 2009-02-01 15:15:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.100.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/about.ini 2009-05-13 22:23:13.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/about.properties 2009-02-01 15:15:18.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/build.properties 2009-05-13 22:43:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,5 +16,5 @@ plugin.xml,\ plugin.properties,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png src.includes = about.html Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/plugin.properties 2009-05-13 22:43:47.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,5 +9,5 @@ # Martin Oberhuber (Wind River) - initial API and implementation ############################################################################### pluginName = Target Management Terminal SSH Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project sshConnection = SSH \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal.ssh + 2.1.200.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java 2008-03-12 12:07:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Mikhail Kalugin - [201867] Improve Terminal SSH connection summary string * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives + * Bryan Hunt - [313991] cannot programatically pass password to SshConnector *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -41,6 +42,10 @@ public void load(ISettingsStore store) { fHost = store.get("Host");//$NON-NLS-1$ fUser = store.get("User");//$NON-NLS-1$ + // ISettingsStore providers have to make sure that + // the password is not saved in some as plain text + // on disk. [bug 313991] + fPassword = store.get("Password");//$NON-NLS-1$ fPort = store.get("Port");//$NON-NLS-1$ fTimeout = store.get("Timeout");//$NON-NLS-1$ fKeepalive = store.get("Keepalive");//$NON-NLS-1$ @@ -51,6 +56,9 @@ store.put("Host", fHost);//$NON-NLS-1$ store.put("User", fUser);//$NON-NLS-1$ store.put("Port", fPort);//$NON-NLS-1$ + // We do *not* store the password in the settings because + // this can cause the password to be stored as plain text + // in some settings file store.put("Timeout", fTimeout);//$NON-NLS-1$ store.put("Keepalive", fKeepalive);//$NON-NLS-1$ } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java 2008-07-15 22:40:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,15 +13,19 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class SshSettingsPage implements ISettingsPage { +public class SshSettingsPage extends AbstractSettingsPage { private Text fHostText; private Text fUser; private Text fTimeout; @@ -58,34 +62,76 @@ return value; } public boolean validateSettings() { + String message = null; + int messageType = IMessageProvider.NONE; + boolean valid = true; + if (fHostText.getText().trim().length() == 0) { - return false; + String m = "Please enter a host IP or name."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fHostText, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fHostText, null, IMessageProvider.NONE); } if (fUser.getText().trim().length() == 0) { - return false; + String m = "Please enter a username."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fUser, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fUser, null, IMessageProvider.NONE); } try { int p = Integer.parseInt(fPort.getText().trim()); if (p <= 0 || p > 65535) { - return false; + String m = "Invalid network port. Must be between 0 and 65535."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fPort, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fPort, null, IMessageProvider.NONE); } p = Integer.parseInt(fTimeout.getText().trim()); if (p < 0) { - return false; + String m = "Invalid timeout. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fTimeout, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fTimeout, null, IMessageProvider.NONE); } p = Integer.parseInt(fKeepalive.getText().trim()); if (p < 0) { - return false; + String m = "Invalid keep alive. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fKeepalive, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fKeepalive, null, IMessageProvider.NONE); } } catch (Exception e) { - return false; + valid = false; } - return true; + + setMessage(message, messageType); + return valid; } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalIndent = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); composite.setLayout(gridLayout); composite.setLayoutData(gridData); @@ -107,8 +153,14 @@ // Add control gridData = new GridData(GridData.FILL_HORIZONTAL); - Text text= new Text(composite, SWT.BORDER | textOptions); + final Text text= new Text(composite, SWT.BORDER | textOptions); text.setLayoutData(gridData); + text.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(text); + } + }); + createControlDecoration(text); return text; } private Text createTextField(Composite composite, String labelTxt) { Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/feature.properties 2009-05-13 22:21:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal SSH Connector # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/feature.xml 2009-07-10 12:45:34.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,6 @@ - - @@ -28,14 +28,14 @@ - - + + - + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/license.html 2007-06-04 16:09:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.ssh + 2.1.200.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:21:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal SSH Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html 2007-06-04 16:09:27.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:21:22.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:14:26.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2000, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties 2009-05-13 22:43:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:43:10.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal SSH Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/.cvsignore 2007-06-05 12:48:23.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF 2009-07-09 16:47:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.0.101.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/about.ini 2009-05-13 22:20:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/about.properties 2009-02-01 15:15:21.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/build.properties 2009-05-13 22:43:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -19,9 +19,12 @@ plugin.xml,\ plugin.properties,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png source.. = src/ output.. = bin/ src.includes = about.html +javacTarget = 1.4 +javacSource = 1.4 +javacErrors.. = -assertIdentifier Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/plugin.properties 2009-05-13 22:43:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,5 +15,5 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### pluginName = Target Management Terminal Telnet Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project telnetConnection = Telnet diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal.telnet + 2.1.200.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java 2009-08-19 09:51:41.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Alex Panchenko (Xored) - [277061] TelnetConnection.isConnected() should check if socket was not closed * Uwe Stieber (Wind River) - [281329] Telnet connection not handling "SocketException: Connection reset" correct + * Nils Hagge (Siemens AG) - [276023] close socket streams after connection is disconnected *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -336,11 +337,13 @@ Logger.logException(ex); } - // Tell the ITerminalControl object that the connection is - // closed. - terminalControl.setState(TerminalState.CLOSED); } catch (Exception ex) { Logger.logException(ex); + } finally { + // Tell the ITerminalControl object that the connection is closed. + terminalControl.setState(TerminalState.CLOSED); + try { inputStream.close(); } catch(IOException ioe) { /*ignore*/ } + try { outputStream.close(); } catch(IOException ioe) { /*ignore*/ } } } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java 2008-07-15 22:40:40.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,16 +21,22 @@ import java.util.Iterator; import java.util.List; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class TelnetSettingsPage implements ISettingsPage { +public class TelnetSettingsPage extends AbstractSettingsPage { private Text fHostText; private Combo fNetworkPortCombo; private Text fTimeout; @@ -89,28 +95,59 @@ } public boolean validateSettings() { + String message = null; + int messageType = IMessageProvider.NONE; + boolean valid = true; + if (fHostText.getText().trim().length() == 0) { - return false; + String m = "Please enter a host IP or name."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fHostText, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fHostText, null, IMessageProvider.NONE); } + try { int p = Integer.parseInt(getNetworkPort().trim()); if (p <= 0 || p > 65535) { - return false; + String m = "Invalid network port. Must be between 0 and 65535."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fNetworkPortCombo, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fNetworkPortCombo, null, IMessageProvider.NONE); } + p = Integer.parseInt(fTimeout.getText().trim()); if (p < 0) { - return false; + String m = "Invalid timeout. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fTimeout, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; + } else { + updateControlDecoration(fTimeout, null, IMessageProvider.NONE); } + } catch (Exception e) { - return false; + valid = false; } - return true; + + setMessage(message, messageType); + return valid; } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalIndent = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); composite.setLayout(gridLayout); composite.setLayoutData(gridData); @@ -123,6 +160,12 @@ gridData = new GridData(GridData.FILL_HORIZONTAL); fHostText = new Text(composite, SWT.BORDER); fHostText.setLayoutData(gridData); + fHostText.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fHostText); + } + }); + createControlDecoration(fHostText); // Add label ctlLabel = new Label(composite, SWT.RIGHT); @@ -131,8 +174,18 @@ // Add control gridData = new GridData(GridData.FILL_HORIZONTAL); fNetworkPortCombo = new Combo(composite, SWT.DROP_DOWN); - fNetworkPortCombo.setLayoutData(gridData); + fNetworkPortCombo.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fNetworkPortCombo); + } + }); + fNetworkPortCombo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + fireListeners(fNetworkPortCombo); + } + }); + createControlDecoration(fNetworkPortCombo); List table = getNetworkPortMap().getNameTable(); Collections.sort(table); @@ -141,6 +194,12 @@ new Label(composite, SWT.RIGHT).setText(TelnetMessages.TIMEOUT + ":"); //$NON-NLS-1$ fTimeout = new Text(composite, SWT.BORDER); fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fTimeout.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fTimeout); + } + }); + createControlDecoration(fTimeout); loadSettings(); } Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/feature.properties 2009-05-13 22:21:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Telnet Connector # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/feature.xml 2009-07-10 12:45:31.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,18 @@ - + + @@ -17,14 +28,14 @@ - - + + - + - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.telnet + 2.1.200.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties 2009-05-13 22:21:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Telnet Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html 2008-02-13 14:04:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini 2009-05-13 22:21:01.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties 2009-02-01 15:14:56.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties 2009-05-13 22:42:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:42:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Telnet Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/.cvsignore 2008-04-11 19:33:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF 2009-07-10 12:48:02.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,15 +2,14 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.0.101.qualifier +Bundle-Version: 2.2.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)", + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", org.eclipse.core.runtime, org.eclipse.ui -Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, - J2SE-1.4 +Bundle-RequiredExecutionEnvironment: J2SE-1.5 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/about.ini 2009-05-13 22:22:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/about.properties 2009-02-01 15:14:52.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2007, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2007, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/build.properties 2009-05-13 22:43:42.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ about.properties,\ about.mappings,\ about.ini,\ - dsdp32.png,\ + tm32.png,\ test.xml,\ about.html javacSource=1.4 Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/plugin.properties 2009-05-13 22:43:43.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,4 +14,4 @@ # Michael Scharf (Wind River) - initial API and implementation ############################################################################### pluginName = Target Management Terminal Tests -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/plugin.xml 2009-07-09 10:59:55.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,7 @@ + + - + + - + + @@ -39,13 +43,20 @@ + + + + + + + + + - + Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.test/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.test/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/feature.properties 2009-05-13 22:21:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal Unit Tests # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=TM Terminal Unit Tests. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2007, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/feature.xml 2009-05-13 22:43:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,18 @@ - + + @@ -17,14 +28,14 @@ - - + + - + @@ -33,8 +44,7 @@ id="org.eclipse.tm.terminal.test" download-size="0" install-size="0" - version="0.0.0" - unpack="false"/> + version="0.0.0"/> - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.test + 2.1.1.qualifier + eclipse-feature + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html 2008-02-13 14:01:48.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html 2013-02-12 20:26:45.000000000 +0000 @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    February 1, 2011

    Usage Of Content

    @@ -24,15 +25,15 @@ ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and @@ -40,14 +41,14 @@ including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,51 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties 2009-05-13 22:43:39.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Unit Tests Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/.cvsignore eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/.cvsignore --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/.cvsignore 2007-02-08 23:50:28.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/.cvsignore 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -bin diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF 2009-07-10 12:48:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF 2013-02-12 20:26:45.000000000 +0000 @@ -2,12 +2,12 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.0.101.qualifier +Bundle-Version: 2.4.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/about.ini eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/about.ini --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/about.ini 2009-05-13 22:22:29.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/about.ini 2013-02-12 20:26:45.000000000 +0000 @@ -11,7 +11,7 @@ # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/about.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/about.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/about.properties 2009-02-01 15:15:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/about.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/build.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/build.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/build.properties 2009-05-13 22:43:19.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/build.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,7 +25,7 @@ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ HelpContexts.xml,\ doc/,\ toc.xml,\ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html 2008-07-16 00:05:05.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html 2013-02-12 20:26:45.000000000 +0000 @@ -4,12 +4,12 @@ - + Terminal View Quick Reference

    Legal Notice

    -The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2008. +The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012.

    Terms and conditions regarding the use of this guide. Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/dsdp32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/dsdp32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/plugin.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/plugin.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/plugin.properties 2009-05-13 22:43:20.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/plugin.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ########################################################################## -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,10 +13,9 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ########################################################################## pluginName = Target Management Terminal View -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project terminal.views.category.name = Terminal terminal.views.view.name = Terminal -terminal.views.view.font.description = The font for the terminal console. -terminal.views.view.font.label = Terminal Console Font diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/plugin.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/plugin.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/plugin.xml 2008-07-15 21:56:58.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/plugin.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,7 +1,7 @@ - - - - - - - - - %terminal.views.view.font.description - - - - - - diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/pom.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/pom.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/pom.xml 1970-01-01 00:00:00.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/pom.xml 2013-02-12 20:26:45.000000000 +0000 @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm + org.eclipse.tm.terminal.view + 2.4.1.qualifier + eclipse-plugin + diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java 2008-07-08 20:18:15.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,19 +10,33 @@ * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + public interface ITerminalView { /** * Create a new terminal connection within the view. */ void onTerminalNewTerminal(); + + /** + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + void newTerminal(ITerminalConnector c); + /** - * Create a new Terminal view. + * Create a new Terminal view. */ void onTerminalNewView(); + void onTerminalConnect(); void onTerminalDisconnect(); void onTerminalSettings(); diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java 2008-07-07 20:38:03.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -75,4 +76,13 @@ * @param summary */ void setSummary(String summary); + /** + * @param encoding the encoding of this connection + */ + void setEncoding(String encoding); + + /** + * @return the encoding of this connection + */ + String getEncoding(); } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java 2007-10-13 02:19:54.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; - -public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { - - public TerminalPreferenceInitializer() { - } - - public void initializeDefaultPreferences() { - Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); - store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); - store.setDefault(TerminalPreferencePage.PREF_INVERT_COLORS, TerminalPreferencePage.DEFAULT_INVERT_COLORS); - store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); - } - -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java 2007-10-13 03:29:53.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.IntegerFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -public class TerminalPreferencePage extends FieldEditorPreferencePage implements - IWorkbenchPreferencePage { - public static final String PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ - public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ - public static final String PREF_INVERT_COLORS = "TerminalPrefInvertColors"; //$NON-NLS-1$ - public static final boolean DEFAULT_LIMITOUTPUT = true; - public static final int DEFAULT_BUFFERLINES = 1000; - public static final int DEFAULT_TIMEOUT_SERIAL = 5; - public static final int DEFAULT_TIMEOUT_NETWORK = 5; - public static final boolean DEFAULT_INVERT_COLORS = false; - - - protected BooleanFieldEditor fInvertColors; - - protected IntegerFieldEditor fEditorBufferSize; - - protected IntegerFieldEditor fEditorSerialTimeout; - - protected IntegerFieldEditor fEditorNetworkTimeout; - public TerminalPreferencePage() { - super(GRID); - } - protected void createFieldEditors() { - setupPage(); - } - public void init(IWorkbench workbench) { - // do nothing - } - protected void setupPage() { - setupData(); - setupEditors(); - } - protected void setupData() { - TerminalViewPlugin plugin; - IPreferenceStore preferenceStore; - - plugin = TerminalViewPlugin.getDefault(); - preferenceStore = plugin.getPreferenceStore(); - setPreferenceStore(preferenceStore); - } - protected void setupEditors() { - fInvertColors = new BooleanFieldEditor( - PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS, - getFieldEditorParent()); - fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, - ViewMessages.BUFFERLINES, getFieldEditorParent()); - fEditorSerialTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_SERIAL, ViewMessages.SERIALTIMEOUT, - getFieldEditorParent()); - fEditorNetworkTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_NETWORK, ViewMessages.NETWORKTIMEOUT, - getFieldEditorParent()); - - fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); - fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); - fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); - - addField(fInvertColors); - addField(fEditorBufferSize); - addField(fEditorSerialTimeout); - addField(fEditorNetworkTimeout); - } -} diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java 2009-07-09 11:00:06.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,9 +19,13 @@ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; + +import java.nio.charset.Charset; +import java.nio.charset.IllegalCharsetNameException; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; @@ -51,6 +55,7 @@ import org.eclipse.ui.PlatformUI; class TerminalSettingsDlg extends Dialog { + private Combo fEncodingCombo; private Combo fCtlConnTypeCombo; private Text fTerminalTitleText; private final ITerminalConnector[] fConnectors; @@ -65,6 +70,7 @@ private IDialogSettings fDialogSettings; private String fTerminalTitle; private String fTitle=ViewMessages.TERMINALSETTINGS; + private String fEncoding; public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { super(shell); @@ -116,6 +122,8 @@ public void loadSettings() {} public void saveSettings() {} public boolean validateSettings() {return false;} + public void addListener(Listener listener) {} + public void removeListener(Listener listener) {} }; } else { fPages[i]=fConnectors[i].makeSettingsPage(); @@ -151,17 +159,18 @@ protected void okPressed() { if (!validateSettings()) { - String strTitle = ViewMessages.TERMINALSETTINGS; - MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); - mb.setText(strTitle); - mb.setMessage(ViewMessages.INVALID_SETTINGS); - mb.open(); + showErrorMessage(ViewMessages.INVALID_SETTINGS); + return; + } + if (!updateValidState()) { + showErrorMessage(ViewMessages.ENCODING_NOT_AVAILABLE); return; } if(fSelectedConnector>=0) { getPage(fSelectedConnector).saveSettings(); } fTerminalTitle=fTerminalTitleText.getText(); + fEncoding = fEncodingCombo.getText(); super.okPressed(); } protected void cancelPressed() { @@ -202,6 +211,8 @@ fCtlConnTypeCombo.select(selectedConnector); selectPage(selectedConnector); } + doLoad(); + setCombo(fEncodingCombo, fEncoding); } /** * @return the connector to show when the dialog opens @@ -227,6 +238,7 @@ } private void setupPanel(Composite wndParent) { setupSettingsTypePanel(wndParent); + //setupEncodingPanel(wndParent); if(fConnectors.length>0) { setupConnTypePanel(wndParent); setupSettingsGroup(wndParent); @@ -250,6 +262,13 @@ fTerminalTitleText = new Text(wndGroup, SWT.BORDER); fTerminalTitleText.setText(fTerminalTitle); fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Label encodingLabel=new Label(wndGroup,SWT.NONE); + encodingLabel.setText(ViewMessages.ENCODING); + encodingLabel.setLayoutData(new GridData(GridData.BEGINNING)); + + fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN); + fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); } private void setupConnTypePanel(Composite wndParent) { Group wndGroup; @@ -278,6 +297,7 @@ fPageBook=new PageBook(group,SWT.NONE); fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); } + private void setupListeners() { if(fCtlConnTypeCombo==null) return; @@ -331,4 +351,73 @@ public String getTerminalTitle() { return fTerminalTitle; } + private void doLoad() { + if (fEncodingCombo != null) { + List encodings = new ArrayList(); + encodings.add("ISO-8859-1"); //$NON-NLS-1$ + encodings.add("UTF-8"); //$NON-NLS-1$ + //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding + //String hostEncoding =Charset.defaultCharset().displayName(); + String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); + if (!encodings.contains(hostEncoding)) + encodings.add(hostEncoding); + populateEncodingsCombo(encodings); + + } + } + private void populateEncodingsCombo(List encodings) { + String[] encodingStrings = new String[encodings.size()]; + encodings.toArray(encodingStrings); + fEncodingCombo.setItems(encodingStrings); + } + private boolean isEncodingValid() { + return isValidEncoding(fEncodingCombo.getText()); + } + private boolean isValidEncoding(String enc) { + try { + return Charset.isSupported(enc); + } catch (IllegalCharsetNameException e) { + return false; + } + + } + private boolean updateValidState() { + boolean isValid = true; + boolean isValidNow = isEncodingValid(); + if (isValidNow != isValid) { + isValid = isValidNow; + } + return isValid; + } + private void showErrorMessage(String message) { + String strTitle = ViewMessages.TERMINALSETTINGS; + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(strTitle); + mb.setMessage(message); + mb.open(); + return; + } + + private void setCombo(Combo combo,String value) { + if(value==null) + return; + int nIndex = combo.indexOf(value); + if (nIndex == -1) { + if((combo.getStyle() & SWT.READ_ONLY)==0) { + combo.add(value); + nIndex = combo.indexOf(value); + } else { + return; + } + } + + combo.select(nIndex); + + } + public String getEncoding() { + return fEncoding; + } + public void setEncoding(String fEncoding) { + this.fEncoding = fEncoding; + } } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java 2009-02-01 12:40:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,15 +22,18 @@ * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference + * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED + * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; import java.util.HashSet; import java.util.Set; -import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; @@ -44,7 +47,6 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; @@ -54,6 +56,7 @@ import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; +import org.eclipse.tm.internal.terminal.actions.TerminalActionScrollLock; import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; @@ -65,6 +68,7 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; +import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.LayeredSettingsStore; @@ -89,22 +93,22 @@ private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - + private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ - public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; protected ITerminalViewControl fCtlTerminal; // TODO (scharf): this decorator is only there to deal wit the common // actions. Find a better solution. TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); - + protected TerminalAction fActionTerminalNewTerminal; protected TerminalAction fActionTerminalConnect; -// private TerminalAction fActionTerminalScrollLock; + private TerminalAction fActionTerminalScrollLock; protected TerminalAction fActionTerminalDisconnect; @@ -132,23 +136,11 @@ private SettingsStore fStore; private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); - /** - * Listens to changes in the preferences - */ - private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if(event.getProperty().equals(TerminalPreferencePage.PREF_LIMITOUTPUT) - || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES) - || event.getProperty().equals(TerminalPreferencePage.PREF_INVERT_COLORS)) { - updatePreferences(); - } - } - }; private PageBook fPageBook; /** - * This listener updates both, the view and the + * This listener updates both, the view and the * ITerminalViewConnection. * */ @@ -189,9 +181,9 @@ PlatformUI.getWorkbench().getDisplay().syncExec(runnable); // else should not happen and we ignore it... } - + } - + public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ @@ -227,23 +219,7 @@ uniqueTitle=title+" "+i++; //$NON-NLS-1$ } } - /** - * Update the text limits from the preferences - */ - private void updatePreferences() { - Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); -// boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); -// if(!limitOutput) -// bufferLineLimit=-1; - int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); - boolean invert=preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS); - // update the preferences for all controls - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().setBufferLineLimit(bufferLineLimit); - conn[i].getCtlTerminal().setInvertedColors(invert); - } - } + /** * Display a new Terminal view. This method is called when the user clicks the New * Terminal button in any Terminal view's toolbar. @@ -256,6 +232,21 @@ } } + /** + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + public void newTerminal(ITerminalConnector c) { + this.setupControls(); + if(c!=null) { + this.setConnector(c); + this.onTerminalConnect(); + } + } + public void onTerminalNewView() { try { // The second argument to showView() is a unique String identifying the @@ -282,13 +273,14 @@ } } - + public void onTerminalConnect() { //if (isConnected()) if (fCtlTerminal.getState()!=TerminalState.CLOSED) return; if(fCtlTerminal.getTerminalConnector()==null) setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS)); + setEncoding(getActiveConnection().getEncoding()); fCtlTerminal.connectTerminal(); } @@ -297,6 +289,7 @@ updateTerminalDisconnect(); updateTerminalSettings(); fActionToggleCommandInputField.setChecked(hasCommandInputField()); + fActionTerminalScrollLock.setChecked(isScrollLock()); updateSummary(); } @@ -343,11 +336,12 @@ // load the state from the settings // first load from fStore and then from the preferences. ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); - // if we have no connector show the one from the settings + // if we have no connector show the one from the settings if(fCtlTerminal.getTerminalConnector()!=null) c=fCtlTerminal.getTerminalConnector(); TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); + dlgTerminalSettings.setEncoding(getActiveConnection().getEncoding()); if(title!=null) dlgTerminalSettings.setTitle(title); Logger.log("opening Settings dialog."); //$NON-NLS-1$ @@ -366,9 +360,15 @@ saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector()); setViewTitle(dlgTerminalSettings.getTerminalTitle()); + setEncoding(dlgTerminalSettings.getEncoding()); return dlgTerminalSettings.getConnector(); } + private void setEncoding(String encoding) { + getActiveConnection().setEncoding(encoding); + updateSummary(); + } + private void setConnector(ITerminalConnector connector) { fCtlTerminal.setConnector(connector); } @@ -385,19 +385,14 @@ getViewSite().getActionBars().getStatusLineManager().setMessage( summary); setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ - + } public void updateSummary() { setViewSummary(getActiveConnection().getFullSummary()); } public void onTerminalFontChanged() { - // set the font for all - Font font=JFaceResources.getFont(FONT_DEFINITION); - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().setFont(font); - } + // set the font for all - empty hook for extenders } // ViewPart interface @@ -436,8 +431,6 @@ legacyLoadState(); legacySetTitle(); - // make sure we take the values defined in the preferences - updatePreferences(); refresh(); onTerminalFontChanged(); @@ -447,10 +440,8 @@ public void dispose() { Logger.log("entered."); //$NON-NLS-1$ - TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - + // dispose all connections ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); for (int i = 0; i < conn.length; i++) { @@ -473,14 +464,12 @@ fMultiConnectionManager.addConnection(conn); fMultiConnectionManager.setActiveConnection(conn); setupContextMenus(fCtlTerminal.getControl()); - // make sure we take the values defined in the preferences - updatePreferences(); } private ITerminalViewConnection makeViewConnection() { ITerminalConnector[] connectors = makeConnectors(); TerminalListener listener=new TerminalListener(); - ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors); + ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true); setTerminalControl(ctrl); ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); listener.setConnection(conn); @@ -490,8 +479,6 @@ // set the connector.... ctrl.setConnector(connector); - TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); - return conn; } @@ -521,9 +508,9 @@ /** * The preference setting store is used to save the settings that are - * shared between all views. + * shared between all views. * @return the settings store for the connection based on the preferences. - * + * */ private PreferenceSettingStore getPreferenceSettingsStore() { return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); @@ -538,7 +525,7 @@ // the last saved connector becomes the default store.put(STORE_CONNECTION_TYPE,connector.getId()); } - + } public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); @@ -558,7 +545,7 @@ fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); -// fActionTerminalScrollLock = new TerminalActionScrollLock(this); + fActionTerminalScrollLock = new TerminalActionScrollLock(this); fActionTerminalConnect = new TerminalActionConnect(this); fActionTerminalDisconnect = new TerminalActionDisconnect(this); fActionTerminalSettings = new TerminalActionSettings(this); @@ -572,11 +559,11 @@ protected void setupLocalToolBars() { IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); -// toolBarMgr.add(fActionTerminalScrollLock); toolBarMgr.add(fActionTerminalConnect); toolBarMgr.add(fActionTerminalDisconnect); toolBarMgr.add(fActionTerminalSettings); toolBarMgr.add(fActionToggleCommandInputField); + toolBarMgr.add(fActionTerminalScrollLock); toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ toolBarMgr.add(fActionTerminalDropDown); toolBarMgr.add(fActionTerminalNewTerminal); @@ -606,7 +593,7 @@ menuMgr.add(fActionEditSelectAll); menuMgr.add(new Separator()); menuMgr.add(fActionToggleCommandInputField); -// menuMgr.add(fActionTerminalScrollLock); + menuMgr.add(fActionTerminalScrollLock); // Other plug-ins can contribute there actions here @@ -679,7 +666,7 @@ setTerminalControl(ctrl); refresh(); } - } + } } /** diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java 2009-02-01 12:40:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,19 +9,25 @@ * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED + * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding *******************************************************************************/ -/** - * - */ package org.eclipse.tm.internal.terminal.view; +import java.io.UnsupportedEncodingException; + import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -35,22 +41,32 @@ private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ - + private static final String STORE_ENCODING="Encoding"; //$NON-NLS-1$ final private ITerminalViewControl fCtlTerminal; private String fTitle; private String fSummary; private String fHistory; private CommandInputFieldWithHistory fCommandInputField; private String fPartName; - + private String fEncoding; + public TerminalViewConnection(ITerminalViewControl ctl) { fCtlTerminal = ctl; fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){ - public void mouseUp(MouseEvent e) { + public void mouseDown(MouseEvent e) { // paste when the middle button is clicked - if(e.button==2) // middle button - fCtlTerminal.paste(); - }}); + if (e.button == 2) { // middle button + int clipboardType = DND.SELECTION_CLIPBOARD; + Clipboard clipboard = fCtlTerminal.getClipboard(); + if (clipboard.getAvailableTypes(clipboardType).length == 0) + // use normal clipboard if selection clipboard is not available + clipboardType = DND.CLIPBOARD; + String text = (String) clipboard.getContents(TextTransfer.getInstance(), clipboardType); + if (text != null && text.length() > 0) + fCtlTerminal.pasteString(text); + } + } + }); } /* (non-Javadoc) @@ -80,7 +96,7 @@ fPartName=store.get(STORE_PART_NAME); fSummary=store.get(STORE_SUMMARY); fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); - + fEncoding=store.get(STORE_ENCODING); // load the state of the connection types ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); String connectionType=store.get(STORE_CONNECTION_TYPE); @@ -99,6 +115,7 @@ store.put(STORE_PART_NAME, fPartName); store.put(STORE_SUMMARY,fSummary); store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_ENCODING, fEncoding); if(fCommandInputField!=null) store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); else @@ -163,6 +180,7 @@ // display in the content description line. String strConnected = getStateDisplayName(fCtlTerminal.getState()); String summary = getSettingsSummary(); + String encoding=getEncoding(); //TODO Title should use an NLS String and com.ibm.icu.MessageFormat //In order to make the logic of assembling, and the separators, better adapt to foreign languages if(summary.length()>0) @@ -171,7 +189,11 @@ if(name.length()>0) { name+=": "; //$NON-NLS-1$ } - strTitle = name + "("+ summary + strConnected + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + if (encoding.length()>0) { + encoding = NLS.bind(ViewMessages.ENCODING_WITH_PARENTHESES, encoding); + //encoding=ViewMessages.ENCODING+" "+"("+encoding+")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + } + strTitle = name + "("+ summary + strConnected + ")"+" - "+encoding; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } return strTitle; } @@ -199,5 +221,17 @@ fPartName=name; } + public String getEncoding() { + return fEncoding==null?fCtlTerminal.getEncoding():fEncoding; + } + public void setEncoding(String fEncoding) { + try { + fCtlTerminal.setEncoding(fEncoding); + this.fEncoding = fEncoding; + } catch (UnsupportedEncodingException uex) { + Logger.logException(uex); + } + + } } \ No newline at end of file diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java 2008-07-08 16:28:33.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -149,6 +150,10 @@ fViewContoler.setFont(font); } + public void setFont(String fontName) { + fViewContoler.setFont(fontName); + } + public void setInvertedColors(boolean invert) { fViewContoler.setInvertedColors(invert); } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java 2009-02-01 12:40:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,8 @@ * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -36,11 +38,8 @@ public static String VIEW_TITLE; public static String VIEW_SETTINGS; public static String INVALID_SETTINGS; - - public static String INVERT_COLORS; - public static String BUFFERLINES; - public static String SERIALTIMEOUT; - public static String NETWORKTIMEOUT; + public static String ENCODING; + public static String ENCODING_WITH_PARENTHESES; public static String STATE_CONNECTED; public static String STATE_CONNECTING; @@ -48,5 +47,5 @@ public static String CANNOT_INITIALIZE; public static String CONNECTOR_NOT_AVAILABLE; - + public static String ENCODING_NOT_AVAILABLE; } diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties 2009-02-01 12:40:14.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,6 +16,8 @@ # Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button # Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings # Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED +# Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### NO_CONNECTION_SELECTED = No Connection Selected PROP_TITLE = Terminal @@ -28,15 +30,13 @@ VIEW_TITLE = View Title: VIEW_SETTINGS = View Settings: INVALID_SETTINGS = The specified settings are invalid, please review or cancel. - -INVERT_COLORS = Invert terminal colors -BUFFERLINES = Terminal buffer lines: -SERIALTIMEOUT = Serial timeout (seconds): -NETWORKTIMEOUT = Network timeout (seconds): +ENCODING = Encoding: +ENCODING_WITH_PARENTHESES = Encoding: ({0}) STATE_CONNECTED = CONNECTED STATE_CONNECTING = CONNECTING... STATE_CLOSED = CLOSED CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} -CONNECTOR_NOT_AVAILABLE = Connector {0} not available! +CONNECTOR_NOT_AVAILABLE = Connector {0} is not available! +ENCODING_NOT_AVAILABLE = Encoding is not available! \ No newline at end of file Binary files /tmp/0BBfBDFTtF/eclipse-rse-3.1.2/org.eclipse.tm.terminal.view/tm32.png and /tmp/vOjMoYHP4e/eclipse-rse-3.4.2/org.eclipse.tm.terminal.view/tm32.png differ diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view-feature/feature.properties eclipse-rse-3.4.2/org.eclipse.tm.terminal.view-feature/feature.properties --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view-feature/feature.properties 2009-05-13 22:22:04.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view-feature/feature.properties 2013-02-12 20:26:45.000000000 +0000 @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,17 +18,17 @@ featureName=Target Management Terminal View # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ @@ -42,8 +42,8 @@ # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,42 +51,38 @@ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ @@ -95,47 +91,78 @@ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ Cryptography\n\ \n\ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n ########### end of license property ########################################## diff -Nru eclipse-rse-3.1.2/org.eclipse.tm.terminal.view-feature/feature.xml eclipse-rse-3.4.2/org.eclipse.tm.terminal.view-feature/feature.xml --- eclipse-rse-3.1.2/org.eclipse.tm.terminal.view-feature/feature.xml 2009-07-09 16:46:51.000000000 +0000 +++ eclipse-rse-3.4.2/org.eclipse.tm.terminal.view-feature/feature.xml 2013-02-12 20:26:45.000000000 +0000 @@ -1,6 +1,6 @@