Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Alexander Kuppe2012-10-24 15:39:15 +0000
committerMarkus Alexander Kuppe2012-10-24 15:39:15 +0000
commit92138f7263c6dddc4fed568ea3c492f638d9722d (patch)
tree84a413e05e02527657bb7c59d9c9d9984ca59472
parent99e0c3da567e527957e95361e7cf05f858aeafbc (diff)
parent75e169d2bc69328428723c81c895384416d0552e (diff)
downloadorg.eclipse.ecf-92138f7263c6dddc4fed568ea3c492f638d9722d.tar.gz
org.eclipse.ecf-92138f7263c6dddc4fed568ea3c492f638d9722d.tar.xz
org.eclipse.ecf-92138f7263c6dddc4fed568ea3c492f638d9722d.zip
Merge branch 'master' into 326228
Conflicts: providers/bundles/org.eclipse.ecf.provider.jmdns/.settings/org.eclipse.jdt.core.prefs providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/JMDNSDiscoveryContainer.java releng/features/org.eclipse.ecf.discovery.jmdns.feature/feature.xml releng/org.eclipse.ecf.releng.bm/ecf.rmap
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.classpath7
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.settings/org.eclipse.jdt.core.prefs69
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/META-INF/MANIFEST.MF18
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/about.html66
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/build.properties11
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-generic.xml11
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-r-osgi.xml11
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/plugin.properties10
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Activator.java165
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/BundleTrackerImpl.java279
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DSTTracker.java203
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveredServiceNotificationImpl.java67
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveryCommandProvider.java85
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/FileBasedDiscoveryImpl.java474
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/IServiceEndpointDescriptionPublisher.java29
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Messages.java22
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/OneInterfaceSED.java200
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionParser.java170
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionPublisher.java111
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceEndpointDescriptionImpl.java456
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServicePublicationTracker.java104
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.classpath7
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.options19
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.project34
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.core.prefs88
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.ui.prefs57
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.api.tools.prefs91
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/META-INF/MANIFEST.MF22
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/plugin.properties10
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/Activator.java262
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/DiscoveredServiceNotificationImpl.java70
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/LogUtility.java46
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/RemoteServiceEndpointDescriptionImpl.java144
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePropertyUtils.java93
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePublicationHandler.java618
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/AbstractDiscoveryListener.java190
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceNotification.java110
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceTracker.java84
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IHostDiscoveryListener.java23
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IProxyDiscoveryListener.java19
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IRemoteServiceEndpointDescription.java72
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingHostDiscoveryListener.java49
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingProxyDiscoveryListener.java37
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServiceEndpointDescription.java227
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServicePublication.java87
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServiceEndpointDescription.java133
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServicePublication.java149
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.classpath14
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.settings/org.eclipse.jdt.core.prefs185
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/META-INF/MANIFEST.MF22
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/build.properties4
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java252
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/BasicTopologyManager.java158
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DebugOptions.java33
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java834
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DistributionProviderImpl.java107
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/EventHookImpl.java557
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/LogUtility.java68
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/RemoteServiceRegistration.java154
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/AbstractContainerFinder.java240
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/AbstractDistributionListener.java133
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/AbstractHostContainerFinder.java355
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/AbstractProxyContainerFinder.java238
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/DefaultHostContainerFinder.java77
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/DefaultProxyContainerFinder.java67
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IDistributionConstants.java184
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IHostContainerFinder.java63
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IHostDistributionListener.java62
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IProxyContainerFinder.java54
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IProxyDistributionListener.java112
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/LoggingHostDistributionListener.java58
-rw-r--r--compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/LoggingProxyDistributionListener.java107
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/build.properties6
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/buildapitoc.xml12
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/javadoc.xml2
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/plugin.xml8
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/toc.xml14
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/tocapi.xml248
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/topics_Reference.xml15
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/topics_Reference_RemoteServices.xml10
-rw-r--r--doc/bundles/org.eclipse.ecf.doc/topics_Tutorials.xml2
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.loadbalancing.consumer/.settings/org.eclipse.jdt.core.prefs82
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.loadbalancing.ds.consumer/build.properties3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.loadbalancing.server/.settings/org.eclipse.jdt.core.prefs82
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/.classpath (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/.classpath)14
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/.project (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.project)56
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/.settings/org.eclipse.pde.core.prefs (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/.settings/org.eclipse.pde.core.prefs)8
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/META-INF/MANIFEST.MF22
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/build.properties (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/build.properties)12
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/plugin.properties12
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/plugin.xml20
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/src/org/eclipse/ecf/examples/provider/remoteservice/identity/RSExampleID.java24
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/src/org/eclipse/ecf/examples/provider/remoteservice/identity/RSExampleNamespace.java43
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/src/org/eclipse/ecf/internal/examples/provider/remoteservice/container/RSExampleContainer.java281
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.remoteservice/src/org/eclipse/ecf/internal/examples/provider/remoteservice/container/RSExampleContainerInstantiator.java47
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/META-INF/MANIFEST.MF9
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/build.properties3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.provider.trivial/bundle.properties12
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/plugin.xml2
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/examples/provider/trivial/identity/TrivialID.java (renamed from examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/internal/examples/provider/trivial/identity/TrivialID.java)12
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/examples/provider/trivial/identity/TrivialNamespace.java (renamed from examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/internal/examples/provider/trivial/identity/TrivialNamespace.java)5
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/internal/examples/provider/trivial/container/TrivialContainer.java2
-rw-r--r--[-rwxr-xr-x]examples/bundles/org.eclipse.ecf.examples.provider.trivial/src/org/eclipse/ecf/internal/examples/provider/trivial/container/TrivialContainerInstantiator.java3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/.classpath3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/.project28
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/META-INF/MANIFEST.MF8
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/about.html (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/about.html)0
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/build.properties6
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.edef/generic_hello.xml34
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer.rs/products/Hello Service Consumer RS.product97
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/META-INF/MANIFEST.MF3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/OSGI-INF/remote-service/hello-service-description-generic.xml11
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/build.properties1
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (edef,generic).product (renamed from examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (localfile,generic).product)111
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (zeroconf,generic).product106
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (zeroconf,r-osgi).product115
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (zookeeper,generic).product119
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/products/Hello Service Consumer (zookeeper,r-osgi).product120
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.consumer/src/org/eclipse/ecf/internal/examples/remoteservices/hello/consumer/HelloConsumerApplication.java38
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.consumer/build.properties3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.consumer/products/Hello Service Consumer DS (zeroconf,generic).product130
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host/META-INF/MANIFEST.MF10
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host/OSGI-INF/hello.xml3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host/build.properties9
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host/products/Hello Service DS Host (zeroconf,generic).product128
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.ds.host/src/org/eclipse/ecf/examples/internal/remoteservices/hello/ds/host/HelloComponent.java1
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host.rs/products/Hello Service Host RS.product99
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/META-INF/MANIFEST.MF3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/products/Hello Service Host (edef,generic).product62
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/products/Hello Service Host (zeroconf,generic).product116
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/products/Hello Service Host (zeroconf,rosgi).product110
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/products/Hello Service Host (zookeeper,generic).product133
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/products/Hello Service Host (zookeeper,rosgi).product120
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello.host/src/org/eclipse/ecf/internal/examples/remoteservices/hello/host/HelloHostApplication.java30
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.hello/META-INF/MANIFEST.MF3
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.rest.rss/.settings/org.eclipse.jdt.core.prefs (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/.settings/org.eclipse.jdt.core.prefs)141
-rw-r--r--examples/bundles/org.eclipse.ecf.examples.remoteservices.rest.rss/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.console/META-INF/MANIFEST.MF4
-rw-r--r--framework/bundles/org.eclipse.ecf.console/plugin.properties4
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui.properties.tabbed/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui.userinput/build.properties1
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui.userinput/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/.settings/org.eclipse.jdt.core.prefs330
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/.settings/org.eclipse.jdt.ui.prefs5
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/plugin.properties3
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/plugin.xml20
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/src/org/eclipse/ecf/discovery/ui/DiscoveryHandlerUtil.java14
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/src/org/eclipse/ecf/internal/discovery/ui/DiscoveryUIPlugin.java18
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/src/org/eclipse/ecf/internal/discovery/ui/property/ServiceTypeTester.java25
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/src/org/eclipse/ecf/internal/discovery/ui/statusline/AdapterFactoryStatuslineProvider.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery.ui/src/org/eclipse/ecf/internal/discovery/ui/views/DiscoveryView.java175
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/discovery/ServiceContainerEvent.java18
-rw-r--r--framework/bundles/org.eclipse.ecf.discovery/src/org/eclipse/ecf/discovery/ServiceTypeContainerEvent.java18
-rw-r--r--framework/bundles/org.eclipse.ecf.filetransfer/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/.settings/.api_filters11
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/META-INF/MANIFEST.MF2
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/IDFactory.java1
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/identity/URIID.java49
-rw-r--r--framework/bundles/org.eclipse.ecf.identity/src/org/eclipse/ecf/core/util/Trace.java16
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/MultiRosterView.java3
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/.settings/org.eclipse.jdt.core.prefs709
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/chatroom/ChatRoomMessageEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/ChatMessageEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/TypingMessageEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/XHTMLChatMessageEvent.java5
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/Roster.java13
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/search/UserSearchCompleteEvent.java4
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/.settings/org.eclipse.jdt.core.prefs701
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/META-INF/MANIFEST.MF2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/AsynchEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/ConnectionEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/DisconnectEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/SynchEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/comm/tcp/Client.java20
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/ClientSOContainer.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/GenericContainerInstantiator.java91
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOWrapper.java3
-rw-r--r--framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/TCPServerSOContainer.java7
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest.synd/META-INF/MANIFEST.MF4
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest.synd/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/META-INF/MANIFEST.MF4
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/plugin.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/src/org/eclipse/ecf/remoteservice/rest/RestException.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/src/org/eclipse/ecf/remoteservice/rest/client/AbstractEntityRequestType.java6
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/src/org/eclipse/ecf/remoteservice/rest/client/RestClientContainer.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rest/src/org/eclipse/ecf/remoteservice/rest/client/RestClientService.java50
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/.settings/org.eclipse.jdt.core.prefs724
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/.settings/org.eclipse.jdt.ui.prefs120
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/META-INF/MANIFEST.MF27
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/build.properties11
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/plugin.properties3
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/internal/remoteservice/rpc/Activator.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/internal/remoteservice/rpc/Messages.java29
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/internal/remoteservice/rpc/RpcClientContainerInstantiator.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/internal/remoteservice/rpc/messages.properties3
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/RpcException.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/client/RpcClientContainer.java33
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/client/RpcClientService.java131
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/client/TrivialParameterServializer.java34
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/identity/RpcId.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.rpc/src/org/eclipse/ecf/remoteservice/rpc/identity/RpcNamespace.java15
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.soap/build.properties2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui.dosgi/META-INF/MANIFEST.MF4
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui.dosgi/fragment.xml2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui.dosgi/src/org/eclipse/ecf/remoteservice/ui/dosgi/handlers/DOSGiReflectiveRemoteServiceHandler.java13
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/launch/ECF Discovery and Remote Service UI.launch65
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/Activator.java19
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/RemoteServiceHandlerUtil.java92
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/handlers/ConnectRemoteServicehandler.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/handlers/ConnectionHandler.java18
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/handlers/DisonnectRemoteServicehandler.java19
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/handlers/ReflectiveRemoteServiceHandler.java63
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/property/ConnectedTester.java49
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/remoteservices/ui/MethodInvocationDialog.java95
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/.settings/.api_filters31
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/.settings/org.eclipse.jdt.core.prefs701
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/META-INF/MANIFEST.MF12
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/AbstractRemoteService.java135
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/Constants.java192
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/IRemoteService.java27
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/IRemoteServiceCallPolicy.java37
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/IRemoteServiceContainerAdapter.java9
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/client/AbstractClientContainer.java114
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/client/RemoteServiceClientRegistration.java5
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/client/RemoteServiceClientRegistry.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/util/RemoteFilterImpl.java10
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/ContainerSharedObjectMessageReceivingEvent.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/ContainerSharedObjectMessageSendingEvent.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectActivatedEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectCallEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectDeactivatedEvent.java5
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectManagerAddEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectManagerConnectEvent.java8
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectManagerCreateEvent.java5
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectManagerDisconnectEvent.java11
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/events/SharedObjectManagerRemoveEvent.java5
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/sharedobject/util/SimpleFIFOQueue.java37
-rw-r--r--framework/bundles/org.eclipse.ecf.sharedobject/src/org/eclipse/ecf/core/util/reflection/ClassUtil.java75
-rw-r--r--framework/bundles/org.eclipse.ecf.ssl/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--framework/bundles/org.eclipse.ecf/.settings/org.eclipse.jdt.core.prefs707
-rw-r--r--framework/bundles/org.eclipse.ecf/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--framework/bundles/org.eclipse.ecf/META-INF/MANIFEST.MF4
-rw-r--r--framework/bundles/org.eclipse.ecf/javadoc.xml11
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerConnectedEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerConnectingEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerDisconnectedEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerDisconnectingEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerDisposeEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/events/ContainerEjectedEvent.java2
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/provider/BaseContainerInstantiator.java3
-rw-r--r--framework/bundles/org.eclipse.ecf/src/org/eclipse/ecf/core/util/ContainerFactoryTracker.java3
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/build.properties7
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/Activator.java198
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/EndpointDescriptionBundleTrackerCustomizer.java194
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/EndpointListenerTrackerCustomizer.java60
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/LocatorServiceListener.java165
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractRemoteServiceAdmin.java649
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractTopologyManager.java263
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescription.java120
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionReader.java221
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionWriter.java138
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ExportReference.java44
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ExportRegistration.java83
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IConsumerContainerSelector.java19
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IEndpointDescriptionAdvertiser.java22
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IEndpointDescriptionReader.java21
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IEndpointDescriptionWriter.java20
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IHostContainerSelector.java19
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IServiceInfoFactory.java30
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ImportReference.java45
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ImportRegistration.java102
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteConstants.java51
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java316
-rw-r--r--incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/TopologyManager.java238
-rw-r--r--incubation/bundles/org.eclipse.ecf.provider.endpointdescription.localdiscovery/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--incubation/bundles/org.eclipse.ecf.provider.endpointdescription.localdiscovery/META-INF/MANIFEST.MF2
-rw-r--r--incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.gitignore1
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/.classpath (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/.classpath)13
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/.project28
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/META-INF/MANIFEST.MF7
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/about.html (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/about.html)0
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy/build.properties4
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.classpath (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.classpath)0
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.gitignore (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.gitignore)0
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.options (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.options)7
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.project (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.project)2
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.settings/org.eclipse.jdt.core.prefs (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.settings/org.eclipse.jdt.core.prefs)154
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.prefs (renamed from providers/bundles/org.eclipse.ecf.provider.localdiscovery/.settings/org.eclipse.pde.prefs)64
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF)26
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/about.html (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/about.html)0
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/buckminster.cspex41
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/build.properties9
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/bundle.properties (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/bundle.properties)2
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/Activator.java324
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/DebugOptions.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/DebugOptions.java)17
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/EndpointDescriptionParser.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/EndpointDescriptionParser.java)216
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/IDUtil.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/IDUtil.java)41
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/LogUtility.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/LogUtility.java)12
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/PropertiesUtil.java)178
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractConsumerContainerSelector.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractConsumerContainerSelector.java)33
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractContainerSelector.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractContainerSelector.java)96
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractHostContainerSelector.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractHostContainerSelector.java)186
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractMetadataFactory.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractMetadataFactory.java)254
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/AbstractTopologyManager.java435
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ConsumerContainerSelector.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ConsumerContainerSelector.java)40
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/DiscoveredEndpointDescription.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/DiscoveredEndpointDescription.java)8
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/DiscoveredEndpointDescriptionFactory.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/DiscoveredEndpointDescriptionFactory.java)18
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescription.java252
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionAdvertiser.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionAdvertiser.java)110
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionLocator.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/internal/osgi/services/remoteserviceadmin/Discovery.java)484
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionParseException.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionParseException.java)15
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionReader.java56
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/EndpointDescriptionWriter.java332
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/HostContainerSelector.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/HostContainerSelector.java)37
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IConsumerContainerSelector.java52
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IDiscoveredEndpointDescriptionFactory.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IDiscoveredEndpointDescriptionFactory.java)56
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IEndpointDescriptionAdvertiser.java80
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IEndpointDescriptionReader.java53
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IHostContainerSelector.java79
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/IServiceInfoFactory.java88
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteConstants.java186
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteReferenceNotFoundException.java68
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdmin.java2177
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/RemoteServiceAdminEvent.java46
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/SelectContainerException.java32
-rw-r--r--osgi/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ServiceInfoFactory.java (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/osgi/services/remoteserviceadmin/ServiceInfoFactory.java)31
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/.classpath14
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/.settings/org.eclipse.jdt.core.prefs166
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF8
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/build.properties6
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/bundle.properties4
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription$1.classbin1518 -> 1518 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription$UnmodifiableDictionary.classbin2394 -> 2394 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointDescription.classbin11624 -> 11688 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointPermission.classbin7369 -> 7369 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/EndpointPermissionCollection.classbin5741 -> 5741 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/RemoteConstants.classbin1280 -> 1280 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/org/osgi/service/remoteserviceadmin/RemoteServiceAdmin.classbin861 -> 844 bytes
-rw-r--r--osgi/bundles/org.eclipse.osgi.services.remoteserviceadmin/src.zipbin31418 -> 34353 bytes
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java53
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceReferenceImpl.java14
-rw-r--r--protocols/bundles/org.apache.zookeeper/.classpath7
-rw-r--r--protocols/bundles/org.apache.zookeeper/META-INF/MANIFEST.MF28
-rw-r--r--protocols/bundles/org.apache.zookeeper/build.properties6
-rw-r--r--protocols/bundles/org.apache.zookeeper/conf/log4j.properties49
-rw-r--r--protocols/bundles/org.apache.zookeeper/overview.html9
-rw-r--r--protocols/bundles/org.apache.zookeeper/zookeeper-3.3.0.jarbin1004009 -> 0 bytes
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.msn/src/org/eclipse/ecf/protocol/msn/NotificationSession.java4
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.msn/src/org/eclipse/ecf/protocol/msn/internal/encode/MD5HashImpl.java30
-rw-r--r--protocols/bundles/org.jivesoftware.smack/META-INF/MANIFEST.MF2
-rw-r--r--protocols/bundles/org.jivesoftware.smack/META-INF/eclipse.inf1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.bittorrent/src/org/eclipse/ecf/internal/provider/bittorrent/BitTorrentContainer.java2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.bittorrent/src/org/eclipse/ecf/internal/provider/bittorrent/TorrentFileTransfer.java4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.datashare/.settings/org.eclipse.jdt.core.prefs684
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.datashare/src/org/eclipse/ecf/provider/datashare/BaseChannel.java6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/META-INF/MANIFEST.MF1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/about.html (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/about.html)0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/build.properties6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.dnssd/plugin.properties10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.efs/src/org/eclipse/ecf/internal/provider/filetransfer/efs/RetrieveFileTransfer.java2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient.ssl/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.classpath14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/.settings/org.eclipse.pde.prefs10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/META-INF/MANIFEST.MF5
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient/Activator.java15
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient/ConnectionManagerHelper.java172
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient/ConnectionOptions.java127
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientBrowseFileTransferFactory.java6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientFileSystemBrowser.java15
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransfer.java123
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient/src/org/eclipse/ecf/provider/filetransfer/httpclient/HttpClientRetrieveFileTransferFactory.java10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/.classpath (renamed from tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/.classpath)14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/.gitignore (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.gitignore)0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/.project (renamed from tests/bundles/org.eclipse.ecf.tests.discovery.all/.project)56
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/.settings/org.eclipse.jdt.core.prefs (renamed from tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/.settings/org.eclipse.jdt.core.prefs)15
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/.settings/org.eclipse.pde.core.prefs (renamed from protocols/bundles/org.apache.zookeeper/.settings/org.eclipse.pde.core.prefs)7
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/META-INF/MANIFEST.MF9
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/about.html274
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/asl-v20.txt (renamed from protocols/bundles/org.apache.zookeeper/asl-v20.txt)0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/build.properties (renamed from tests/bundles/org.eclipse.ecf.tests.discovery.all/build.properties)9
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/plugin.properties (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/plugin.properties)4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ssl/SSLSocketFactoryModifier.java50
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.classpath (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/.classpath)14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.gitignore1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.options16
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.project (renamed from providers/bundles/org.eclipse.ecf.provider.localdiscovery/.project)68
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.settings/org.eclipse.jdt.core.prefs (renamed from protocols/bundles/org.apache.zookeeper/.settings/org.eclipse.jdt.core.prefs)694
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.settings/org.eclipse.jdt.launching.prefs (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.launching.prefs)6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.settings/org.eclipse.jdt.ui.prefs (renamed from protocols/bundles/org.apache.zookeeper/.settings/org.eclipse.jdt.ui.prefs)123
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.settings/org.eclipse.pde.api.tools.prefs (renamed from providers/bundles/org.eclipse.ecf.provider.localdiscovery/.settings/org.eclipse.pde.api.tools.prefs)191
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/.settings/org.eclipse.pde.prefs (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.prefs)53
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/META-INF/MANIFEST.MF36
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/about.html (renamed from protocols/bundles/org.apache.zookeeper/about.html)517
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/asl-v20.txt202
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/build.properties (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/build.properties)21
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/plugin.properties (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/plugin.properties)22
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/plugin.xml32
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/Activator.java130
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/CloseMonitoringSocket.java69
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ConnectingSocketMonitor.java46
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/DebugOptions.java (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/DebugOptions.java)52
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ECFHttpClientProtocolSocketFactory.java132
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ECFHttpClientSecureProtocolSocketFactory.java176
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/HttpClientProxyCredentialProvider.java77
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ISSLSocketFactoryModifier.java30
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/ISocketConnectionCallback.java24
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/Messages.java46
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/internal/provider/filetransfer/httpclient4/messages.properties16
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientBrowseFileTransferFactory.java72
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientDefaultSSLSocketFactoryModifier.java79
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientFileSystemBrowser.java377
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientOptions.java47
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransfer.java1120
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientRetrieveFileTransferFactory.java24
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/HttpClientSslTrustManager.java57
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.httpclient4/src/org/eclipse/ecf/provider/filetransfer/httpclient4/NTLMProxyDetector.java64
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer.ssl/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer/.settings/org.eclipse.jdt.core.prefs710
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer/.settings/org.eclipse.pde.api.tools.prefs191
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer/META-INF/MANIFEST.MF4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/provider/filetransfer/outgoing/AbstractOutgoingFileTransfer.java6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/provider/filetransfer/retrieve/AbstractRetrieveFileTransfer.java10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.irc.ui/src/org/eclipse/ecf/internal/irc/ui/wizards/IRCConnectWizardPage.java3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.irc/META-INF/MANIFEST.MF3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.irc/src/org/eclipse/ecf/internal/provider/irc/Activator.java63
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.irc/src/org/eclipse/ecf/internal/provider/irc/container/IRCChannelContainer.java2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.irc/src/org/eclipse/ecf/internal/provider/irc/container/IRCRootContainer.java111
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/META-INF/MANIFEST.MF2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/build.properties1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/internal/provider/jmdns/JMDNSPlugin.java64
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jmdns/src/org/eclipse/ecf/provider/jmdns/container/JMDNSDiscoveryContainer.java14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/build.properties1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/plugin.properties2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.jslp/src/org/eclipse/ecf/internal/provider/jslp/Activator.java61
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.local/META-INF/MANIFEST.MF2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.local/src/org/eclipse/ecf/internal/provider/local/container/LocalRemoteServiceContainer.java4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/.classpath7
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/.gitignore1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/.settings/org.eclipse.jdt.core.prefs77
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/.settings/org.eclipse.pde.core.prefs5
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/META-INF/MANIFEST.MF12
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/OSGI-INF/l10n/bundle.properties3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/about.html66
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/build.properties10
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/plugin.xml14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/src/org/eclipse/ecf/provider/localdiscovery/RemoteServiceEndpointDescriptionImpl.java148
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.localdiscovery/src/org/eclipse/ecf/provider/localdiscovery/ServiceEndpointDescriptionFactory.java76
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/META-INF/MANIFEST.MF2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/Activator.java44
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiContainerInstantiator.java14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java34
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceImpl.java30
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/RemoteServiceRegistrationImpl.java6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/META-INF/MANIFEST.MF8
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/AbstractRemoteServiceDescription.java90
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/ServiceTypeListener.java138
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RegistrySharedObject.java121
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteCallImpl.java11
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteServiceContainer.java7
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteServiceReferenceImpl.java9
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteServiceRegistrationImpl.java20
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.remoteservice/src/org/eclipse/ecf/provider/remoteservice/generic/RemoteServiceRegistryImpl.java3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.datashare/META-INF/MANIFEST.MF1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.datashare/about.html (renamed from tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/about.html)0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.datashare/build.properties5
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.datashare/plugin.properties2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice/META-INF/MANIFEST.MF1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice/about.html (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/about.html)0
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice/build.properties5
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.remoteservice/plugin.properties2
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.ui/src/org/eclipse/ecf/internal/provider/xmpp/ui/Messages.java169
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.ui/src/org/eclipse/ecf/internal/provider/xmpp/ui/messages.properties109
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.ui/src/org/eclipse/ecf/internal/provider/xmpp/ui/wizards/XMPPConnectWizard.java602
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.ui/src/org/eclipse/ecf/internal/provider/xmpp/ui/wizards/XMPPSConnectWizard.java169
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp.ui/src/org/eclipse/ecf/internal/provider/xmpp/ui/wizards/XMPPSConnectWizardPage.java277
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/events/ChatMembershipEvent.java43
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/events/IQEvent.java32
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/events/InvitationReceivedEvent.java16
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/events/MessageEvent.java47
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/events/PresenceEvent.java32
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/filetransfer/XMPPFileTransferRequestListener.java218
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/filetransfer/XMPPIncomingFileTransfer.java102
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/filetransfer/XMPPOutgoingFileTransfer.java15
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/smack/ECFConnection.java1030
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/smack/ECFConnectionObjectPacketEvent.java22
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/internal/provider/xmpp/smack/ECFConnectionPacketEvent.java14
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.xmpp/src/org/eclipse/ecf/provider/xmpp/XMPPSContainer.java112
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/META-INF/MANIFEST.MF4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/buckminster.cspex34
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/bundle.properties4
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/DiscoveryActivator.java237
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/AdvertisedService.java151
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/DiscoverdService.java68
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/ZooDiscoveryContainer.java1
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/internal/Configuration.java6
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/core/internal/IService.java39
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/INode.java3
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/NodeReader.java65
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/NodeWriter.java8
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/ReadRoot.java170
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/WatchManager.java28
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/node/internal/WriteRoot.java311
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.zookeeper/src/org/eclipse/ecf/provider/zookeeper/util/Logger.java19
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/build.properties6
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/feature.xml167
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/sourceTemplateFeature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.core.featurepatch/sourceTemplateFeature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.core/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.core/feature.properties9
-rw-r--r--releng/features/org.eclipse.ecf.core/feature.xml614
-rw-r--r--releng/features/org.eclipse.ecf.core/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.core/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.core/sourceTemplateFeature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.datashare.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.datashare.feature/feature.properties7
-rw-r--r--releng/features/org.eclipse.ecf.datashare.feature/feature.xml85
-rw-r--r--releng/features/org.eclipse.ecf.datashare.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.datashare.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/build.properties6
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/epl-v10.html (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/epl-v10.html)3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/feature.properties305
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/feature.xml76
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/license.html545
-rw-r--r--releng/features/org.eclipse.ecf.discovery.dnssd.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.discovery.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.feature/feature.xml84
-rw-r--r--releng/features/org.eclipse.ecf.discovery.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.discovery.jmdns.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.jmdns.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.discovery.jmdns.feature/feature.xml24
-rw-r--r--releng/features/org.eclipse.ecf.discovery.jmdns.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.jmdns.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.discovery.local.feature/feature.xml46
-rw-r--r--releng/features/org.eclipse.ecf.discovery.local.feature/org.eclipse.ecf.discovery.local.cquery19
-rw-r--r--releng/features/org.eclipse.ecf.discovery.local.feature/org.eclipse.ecf.discovery.local.mspec16
-rw-r--r--releng/features/org.eclipse.ecf.discovery.slp.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.slp.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.slp.feature/feature.xml77
-rw-r--r--releng/features/org.eclipse.ecf.discovery.slp.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.slp.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/build.properties6
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/feature.xml102
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.discovery.zookeeper.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.examples.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.examples.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.examples.feature/feature.xml64
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.examples.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.examples.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.feature/feature.xml84
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.eventadmin.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.examples/feature.xml212
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/feature.xml133
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/.project (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/.project)34
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/about.html (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/about.html)30
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/asl-v20.txt (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/asl-v20.txt)0
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/buckminster.cspex39
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/build.properties (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/build.properties)26
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/feature.properties (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/feature.properties)6
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/feature.xml (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/feature.xml)131
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/license.html (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/license.html)0
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/notice.html (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/notice.html)0
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/org.eclipse.ecf.filetransfer.httpclient.cquery13
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient.feature/org.eclipse.ecf.filetransfer.httpclient.mspec11
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/.project17
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/about.html275
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/asl-v20.txt202
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/buckminster.cspex36
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/build.properties (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/build.properties)28
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/epl-v10.html261
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/feature.xml62
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/license.html108
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/org.eclipse.ecf.filetransfer.httpclient4.cquery13
-rw-r--r--releng/features/org.eclipse.ecf.filetransfer.httpclient4.feature/org.eclipse.ecf.filetransfer.httpclient4.mspec11
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/feature.xml93
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/org.eclipse.ecf.osgi.services.cquery1
-rw-r--r--releng/features/org.eclipse.ecf.osgi.services.feature/org.eclipse.ecf.osgi.services.mspec1
-rw-r--r--releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/feature.properties219
-rw-r--r--releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/license.html541
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.examples.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.examples.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.examples.feature/feature.xml139
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.examples.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.examples.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.feature/feature.xml118
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rest.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rest.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rest.feature/feature.xml118
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rest.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rest.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/feature.xml92
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rosgi.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/.project (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/.project)34
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/about.html (renamed from tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/about.html)0
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/buckminster.cspex (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/buckminster.cspex)8
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/build.properties13
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/epl-v10.html261
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/feature.xml59
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/license.html108
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/org.eclipse.ecf.remoteservice.rpc.cquery17
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.rpc.feature/org.eclipse.ecf.remoteservice.rpc.mspec14
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/build.properties1
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/feature.properties5
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/feature.xml168
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/about.html28
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/epl-v10.html (renamed from releng/features/org.eclipse.ecf.discovery.local.feature/epl-v10.html)0
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/feature.xml92
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/license.html107
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.sdk.feature/sourceTemplateFeature/notice.html (renamed from releng/features/org.eclipse.ecf.provider.filetransfer.httpclient.feature/notice.html)0
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/build.properties11
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/feature.xml130
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/license.html108
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soa.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soap.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soap.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soap.feature/feature.xml64
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soap.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.remoteservice.soap.feature/notice.html96
-rw-r--r--releng/features/org.eclipse.ecf.sdk/build.properties28
-rw-r--r--releng/features/org.eclipse.ecf.sdk/feature.xml68
-rw-r--r--releng/features/org.eclipse.ecf.sdk/org.eclipse.ecf.sdk.cquery2
-rw-r--r--releng/features/org.eclipse.ecf.sdk/org.eclipse.ecf.sdk.mspec2
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/build.properties11
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/feature.xml340
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/license.html108
-rw-r--r--releng/features/org.eclipse.ecf.tests.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/build.properties11
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/feature.properties142
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/feature.xml120
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/license.html108
-rw-r--r--releng/features/org.eclipse.ecf.tests.filetransfer.feature/notice.html108
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/build.properties13
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/epl-v10.html3
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/feature.properties3
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/feature.xml113
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/license.html3
-rw-r--r--releng/features/org.eclipse.ecf.xmpp.feature/notice.html96
-rw-r--r--releng/org.eclipse.ecf.releng.bm/ECF3-5Baseline.target17
-rw-r--r--releng/org.eclipse.ecf.releng.bm/ECF3-6Baseline.target17
-rw-r--r--releng/org.eclipse.ecf.releng.bm/ecf.b3aggr14
-rw-r--r--releng/org.eclipse.ecf.releng.bm/ecf.rmap264
-rw-r--r--releng/org.eclipse.ecf.releng.bm/rmap2b3aggr.xsl57
-rw-r--r--releng/org.eclipse.ecf.releng/projectSet-anonymous.psf1
-rw-r--r--releng/org.eclipse.ecf.releng/projectSet-extssh.psf1
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/.settings/.api_filters11
-rw-r--r--server-side/bundles/org.eclipse.ecf.remoteservice.eventadmin/META-INF/MANIFEST.MF4
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/META-INF/MANIFEST.MF2
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch23
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml11
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/internal/server/generic/Activator.java7
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/GenericServerContainerGroup.java9
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/IGenericServerContainerGroup.java91
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/IGenericServerContainerGroupFactory.java58
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/ServerManager.java2
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java14
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/ClientApplication.java42
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java38
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/META-INF/MANIFEST.MF9
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/build.properties5
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/launch/Generic Remote EnvironmentInfo Server.launch23
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/launch/r-OSGi Remote EnvironmentInfo Server.launch22
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/plugin.xml11
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/readme.txt2
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/src/org/eclipse/ecf/internal/examples/remoteservices/server/Activator.java103
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/src/org/eclipse/ecf/internal/examples/remoteservices/server/DiscoverableServer.java182
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/src/org/eclipse/ecf/internal/examples/remoteservices/server/DiscoveryProperties.java49
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.remoteservices.server/src/org/eclipse/ecf/internal/examples/remoteservices/server/RemoteEnvironmentInfoImpl.java107
-rw-r--r--server-side/examples/bundles/org.eclipse.ecf.examples.updatesite.server/launch/Remote Updatesite Server.launch46
-rw-r--r--server-side/features/org.eclipse.ecf.server.feature/feature.xml62
-rw-r--r--server-side/features/org.eclipse.ecf.server.generic.feature/epl-v10.html3
-rw-r--r--server-side/features/org.eclipse.ecf.server.generic.feature/feature.properties3
-rw-r--r--server-side/features/org.eclipse.ecf.server.generic.feature/feature.xml78
-rw-r--r--server-side/features/org.eclipse.ecf.server.generic.feature/license.html3
-rw-r--r--server-side/features/org.eclipse.ecf.server.generic.feature/notice.html96
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/.settings/org.eclipse.pde.core.prefs5
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/META-INF/MANIFEST.MF17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.all/src/org/eclipse/ecf/tests/discovery/all/AllTests.java76
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/.project34
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/.settings/org.eclipse.jdt.core.prefs73
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/.settings/org.eclipse.pde.core.prefs5
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/META-INF/MANIFEST.MF14
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/OSGI-INF/l10n/bundle.properties3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/build.properties8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.discovery.remote-extender/src/org/eclipse/ecf/tests/discovery/remote_extender/Activator.java122
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/.project (renamed from protocols/bundles/org.apache.zookeeper/.project)56
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/.settings/org.eclipse.jdt.core.prefs (renamed from tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/.settings/org.eclipse.jdt.core.prefs)15
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/.settings/org.eclipse.pde.core.prefs (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.core.prefs)7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/META-INF/MANIFEST.MF13
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/build.properties (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/build.properties)9
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient/src/org/eclipse/ecf/tests/filetransfer/httpclient/HttpClientGetPortFromURLTest.java77
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/.project (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.project)56
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/.settings/org.eclipse.pde.core.prefs (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.core.prefs)7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/META-INF/MANIFEST.MF14
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/build.properties4
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.httpclient4/src/org/eclipse/ecf/tests/filetransfer/httpclient4/HttpClientGetPortFromURLTest.java77
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer.jreprovider/build.properties1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/.settings/.api_filters50
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/ECF Filetransfer Tests- Httpclient.launch1030
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/ECF Filetransfer Tests- Httpclient4 - No Proxy API.launch515
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/ECF Filetransfer Tests- Httpclient4.launch515
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/ECF Filetransfer Tests- URLConnection - No Proxy API.launch1030
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/ECF Filetransfer Tests- URLConnection.launch1030
-rw-r--r--[-rwxr-xr-x]tests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF2
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/org.eclipse.ecf.tests.filetransfer.httpclient.launch591
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/org.eclipse.ecf.tests.filetransfer.httpclient4.launch43
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/org.eclipse.ecf.tests.filetransfer.launch1107
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractRetrieveTestCase.java16
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLBrowseTest.java12
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLCancelTest.java3
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLPartialRetrieveTest.java2
-rw-r--r--[-rwxr-xr-x]tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLRetrievePauseResumeTest.java7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLRetrieveTest.java4
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLRetrieveTestCancelConnectJob.java80
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/URLRetrieveTestUnknownHost.java26
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.httpservice/.settings/org.eclipse.jdt.core.prefs82
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/.project28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/META-INF/MANIFEST.MF9
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/OSGI-INF/remote-service/HelloWorld.xml8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/plugin.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted/src/org/eclipse/ecf/tests/osgi/services/discovery/local/poststarted/Activator.java36
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/.project28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/META-INF/MANIFEST.MF10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/META-INF/osgi/services.remote8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/plugin.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local.poststarted2/src/org/eclipse/ecf/tests/osgi/services/discovery/local/poststarted2/Activator.java40
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/.project28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/.settings/org.eclipse.jdt.core.prefs77
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/META-INF/MANIFEST.MF15
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/OSGI-INF/remote-service/GreeterService.xml17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/build.properties8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/config.ini64
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/data/HelloGalileoService.xml8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/data/HelloGanymedeService.xml8
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/plugin.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/src/org/eclipse/ecf/tests/osgi/services/discovery/local/Activator.java82
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/src/org/eclipse/ecf/tests/osgi/services/discovery/local/DiscoveredServiceTrackerImpl.java94
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/src/org/eclipse/ecf/tests/osgi/services/discovery/local/DistributedOSGiBasedStaticInformationTest.java282
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.classpath7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.settings/org.eclipse.jdt.core.prefs73
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.settings/org.eclipse.pde.api.tools.prefs91
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/META-INF/MANIFEST.MF19
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/build.properties7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/src/org/eclipse/ecf/tests/internal/osgi/discovery/Activator.java38
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/src/org/eclipse/ecf/tests/osgi/services/discovery/ListenerTest.java45
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery/src/org/eclipse/ecf/tests/osgi/services/discovery/PublishTest.java88
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic/META-INF/MANIFEST.MF1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic/src/org/eclipse/ecf/tests/osgi/services/distribution/generic/GenericServicePublicationTest.java29
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic/src/org/eclipse/ecf/tests/osgi/services/distribution/generic/GenericTwoRemoteServiceAccessTest.java (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.generic/src/org/eclipse/ecf/tests/osgi/services/distribution/generic/GenericServiceRegisterListenerTest.java)11
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/.project28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/GenericMultiServiceHostApplication.launch32
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/GenericMultiServiceProxyTest.launch45
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/META-INF/MANIFEST.MF24
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/build.properties12
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/genericmultiservicehost.xml17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/plugin.xml17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/src/org/eclipse/ecf/tests/internal/osgi/services/distribution/localdiscovery/Activator.java39
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/src/org/eclipse/ecf/tests/osgi/services/distribution/localdiscovery/AbstractMultiServiceProxyTest.java96
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/src/org/eclipse/ecf/tests/osgi/services/distribution/localdiscovery/DiscoveryCommandProviderServiceTracker.java40
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/src/org/eclipse/ecf/tests/osgi/services/distribution/localdiscovery/generic/GenericMultiServiceHostApplication.java85
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.localdiscovery/src/org/eclipse/ecf/tests/osgi/services/distribution/localdiscovery/generic/GenericMultiServiceProxyTest.java66
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi/META-INF/MANIFEST.MF3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi/src/org/eclipse/ecf/tests/osgi/services/distribution/r_osgi/R_OSGiServicePublicationTest.java34
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi/src/org/eclipse/ecf/tests/osgi/services/distribution/r_osgi/R_OSGiTwoRemoteServiceAccessTest.java (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution.r-osgi/src/org/eclipse/ecf/tests/osgi/services/distribution/r_osgi/R_OSGiServiceRegisterListenerTest.java)10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/META-INF/MANIFEST.MF10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractDistributionTest.java15
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractRemoteServiceAccessTest.java18
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractRemoteServiceRegisterTest.java22
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractServicePublicationTest.java135
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractServiceRegisterListenerTest.java87
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/AbstractTwoRemoteServiceAccessTest.java163
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/TestService1.java6
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/TestServiceInterface2.java6
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.distribution/src/org/eclipse/ecf/tests/osgi/services/distribution/async/TestServiceInterface1Async.java20
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.classpath (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.classpath)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.gitignore (renamed from incubation/bundles/org.eclipse.ecf.osgi.services.remoteserviceadmin/.gitignore)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.project (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.project)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.jdt.core.prefs (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.core.prefs (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.core.prefs)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.prefs (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/.settings/org.eclipse.pde.prefs)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/META-INF/MANIFEST.MF)6
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/about.html28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/build.properties (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/build.properties)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/bundle.properties (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/bundle.properties)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/ecf-remote-service-extra.xml (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/ecf-remote-service-extra.xml)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/ecf-remote-service-minimal.xml (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/ecf-remote-service-minimal.xml)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/osgi-remote-service-extra.xml (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/osgi-remote-service-extra.xml)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/osgi-remote-service-minimal.xml (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/rsvcs/osgi-remote-service-minimal.xml)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractDistributionTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractDistributionTest.java)3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractEndpointDescriptionWriterTest.java90
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractMetadataFactoryTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractMetadataFactoryTest.java)17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractRemoteServiceAccessTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractRemoteServiceAccessTest.java)1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractRemoteServiceRegisterTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractRemoteServiceRegisterTest.java)47
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/AbstractTwoRemoteServiceAccessTest.java158
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/Activator.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/Activator.java)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/EndpointDescriptionFactoryTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/EndpointDescriptionFactoryTest.java)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/EndpointListenerTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/EndpointListenerTest.java)3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/ServiceInfoFactoryTest.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/ServiceInfoFactoryTest.java)11
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestService1.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestService1.java)6
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestServiceInterface1.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestServiceInterface1.java)0
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestServiceInterface2.java (renamed from incubation/bundles/org.eclipse.ecf.tests.osgi.services.remoteserviceadmin/src/org/eclipse/ecf/tests/osgi/services/remoteserviceadmin/TestServiceInterface2.java)7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/.gitignore1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/.project28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/META-INF/MANIFEST.MF16
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/build.properties9
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/plugin.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/service-descriptions/hello-service-description-generic.xml11
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/service-descriptions/hello-service-description-rosgi.xml11
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/src/org/eclipse/ecf/internal/tests/provider/discovery/local/Activator.java30
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/src/org/eclipse/ecf/tests/provider/discovery/local/AbstractServiceDescriptionPublishTest.java53
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.discovery.local/src/org/eclipse/ecf/tests/provider/discovery/local/ServiceEndpoingDescriptionFilePublishTest.java41
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.dnssd/build.properties1
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.xmpp/src/org/eclipse/ecf/tests/provider/xmpp/RosterTest.java7
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.provider.zookeeper/META-INF/MANIFEST.MF2
-rw-r--r--[-rwxr-xr-x]tests/bundles/org.eclipse.ecf.tests.remoteservice.generic/.gitignore2
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.remoteservice.generic/src/org/eclipse/ecf/tests/remoteservice/generic/ServiceTrackerTest.java112
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.generic/src/org/eclipse/ecf/tests/remoteservice/generic/SimpleConcatClient.java4
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.generic/src/org/eclipse/ecf/tests/remoteservice/generic/SimpleConcatServer.java5
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.generic/src/org/eclipse/ecf/tests/remoteservice/generic/SimpleTest.java21
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.remoteservice.generic/src/org/eclipse/ecf/tests/remoteservice/generic/TransparentProxyTest.java106
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rest/src/org/eclipse/ecf/tests/remoteservice/rest/RestPutServiceTest.java82
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/.settings/org.eclipse.jdt.ui.prefs10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/META-INF/MANIFEST.MF15
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/about.html28
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/build.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/org.eclipse.ecf.tests.remoteservice.rpc.launch (renamed from tests/bundles/org.eclipse.ecf.tests.osgi.services.discovery.local/org.eclipse.ecf.tests.osgi.services.discovery.local.launch)86
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/plugin.properties9
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/apache/xmlrpc/webserver/XmlRpcServlet.properties10
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/internal/tests/remoteservice/rpc/Activator.java37
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/internal/tests/remoteservice/rpc/HttpServiceConnector.java58
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/internal/tests/remoteservice/rpc/server/CalcHandler.java21
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/internal/tests/remoteservice/rpc/server/EchoHandler.java20
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/AbstractRpcTestCase.java47
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcConstants.java37
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcContainerInstantiatorTest.java (renamed from tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RPCContainerInstantiatorTest.java)17
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcContainerTest.java53
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcNamespaceTest.java43
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcRemoteServiceAdapterTest.java99
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/RpcRemoteServiceTest.java143
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice.rpc/src/org/eclipse/ecf/tests/remoteservice/rpc/common/IEcho.java (renamed from compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/osgi/services/distribution/IDistributionProvider.java)32
-rw-r--r--[-rwxr-xr-x]tests/bundles/org.eclipse.ecf.tests.remoteservice/META-INF/MANIFEST.MF3
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.remoteservice/src/org/eclipse/ecf/tests/remoteservice/AbstractRemoteServiceTest.java24
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.server.generic/.settings/org.eclipse.jdt.core.prefs82
-rw-r--r--tests/bundles/org.eclipse.ecf.tests.sharedobject/src/org/eclipse/ecf/tests/sharedobject/util/reflection/ClassUtilTest.java126
-rw-r--r--tests/bundles/org.eclipse.ecf.tests/src/org/eclipse/ecf/tests/core/identity/URIIDTest.java135
915 files changed, 33751 insertions, 32506 deletions
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.classpath b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.classpath
deleted file mode 100644
index 2fbb7a23e..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.settings/org.eclipse.jdt.core.prefs b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5eedff0b9..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Tue Sep 15 21:51:34 PDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-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=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-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=ignore
-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=ignore
-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 --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/META-INF/MANIFEST.MF b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/META-INF/MANIFEST.MF
deleted file mode 100644
index 4916da622..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ecf.osgi.services.discovery.local
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ecf.osgi.services.discovery.local.Activator
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Import-Package: javax.xml.parsers,
- org.eclipse.ecf.osgi.services.discovery,
- org.eclipse.osgi.framework.console;version="1.0.0",
- org.osgi.framework;version="1.4.0",
- org.osgi.service.log;version="1.3.0",
- org.osgi.util.tracker;version="1.4.0",
- org.w3c.dom
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: %pluginProvider
-Export-Package: org.eclipse.ecf.osgi.services.discovery.local
-Bundle-Localization: plugin
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/about.html b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/about.html
deleted file mode 100644
index ada977b1a..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/about.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>August 25, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) 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 <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you
-did not receive this Content directly from the Eclipse Foundation, the following is provided
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for
-terms and conditions of use.</p>
-
-<h4>OSGi Materials</h4>
-
-<p>All files in the following sub-directories (and their sub-directories):</p>
-
-<ul>
- <li>org/osgi</li>
-</ul>
-
-<p>shall be defined as the &quot;OSGi Materials.&quot; The OSGi Materials are:</p>
-
-<blockquote>
-Copyright (c) 2000, 2006
-<br /><br />
-OSGi Alliance
-Bishop Ranch 6<br/>
-2400 Camino Ramon, Suite 375<br/>
-San Ramon, CA 94583 USA
-<br /><br />
-All Rights Reserved.
-</blockquote>
-
-<p>The OSGi Materials are provided to you under the terms and conditions of the Apache License, Version 2.0. A copy of the license is contained
-in the file <a href="about_files/LICENSE-2.0.txt" target="_blank">LICENSE-2.0.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>.</p>
-
-<p>Implementation of certain elements of the OSGi Materials may be subject to third party intellectual property rights, including without limitation, patent rights (such a third party may
-or may not be a member of the OSGi Alliance). The OSGi Alliance and its members are not responsible and shall not be held responsible in any manner for identifying or failing to identify any or all such third party
-intellectual property rights.</p>
-
-<small>OSGi&trade; is a trademark, registered trademark, or service mark of The OSGi Alliance in the US and other countries. Java is a trademark,
-registered trademark, or service mark of Sun Microsystems, Inc. in the US and other countries. All other trademarks, registered trademarks, or
-service marks used in the Content are the property of their respective owners and are hereby recognized.</small>
-</body>
-</html> \ No newline at end of file
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/build.properties b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/build.properties
deleted file mode 100644
index 3a2416a21..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html,\
- example-service-description-generic.xml,\
- example-service-description-r-osgi.xml
-src.includes = about.html,\
- example-service-description-generic.xml,\
- example-service-description-r-osgi.xml
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-generic.xml b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-generic.xml
deleted file mode 100644
index b46e9e1e4..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-generic.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
- <service-descriptions xmlns="http://www.osgi.org/xmlns/sd/v1.0.0">
- <service-description>
- <provide
-interface="org.eclipse.ecf.examples.remoteservices.hello.IHello"/>
- <property
-name="ecf.sp.cid">ecftcp://localhost:3787/server</property>
- <property name="ecf.sp.cns">org.eclipse.ecf.core.identity.StringID</property>
- <property name="ecf.sp.ect">ecf.generic.server</property>
- </service-description>
-</service-descriptions>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-r-osgi.xml b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-r-osgi.xml
deleted file mode 100644
index fdd42a572..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/example-service-description-r-osgi.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
- <service-descriptions xmlns="http://www.osgi.org/xmlns/sd/v1.0.0">
- <service-description>
- <provide
-interface="org.eclipse.ecf.examples.remoteservices.hello.IHello"/>
- <property
-name="ecf.sp.cid">r-osgi://localhost</property>
- <property name="ecf.sp.cns">ecf.namespace.r_osgi</property>
- <property name="ecf.sp.ect">ecf.r_osgi.peer</property>
- </service-description>
-</service-descriptions>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/plugin.properties b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/plugin.properties
deleted file mode 100644
index c6cce3317..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/plugin.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-#################################################################################
-# Copyright (c) 2009 Markus Alexander Kuppe and others. All rights reserved. This
-# program and the accompanying materials are made available under the terms of
-# the Eclipse Public License v1.0 which accompanies this distribution, and is
-#
-# Contributors:
-# Markus Alexander Kuppe - initial API and implementation
-#################################################################################
-pluginName=ECF OSGi R4.2 Compendium Local Discovery
-pluginProvider=Eclipse.org - ECF \ No newline at end of file
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Activator.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Activator.java
deleted file mode 100644
index e9314e38d..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Activator.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator implements BundleActivator {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.ecf.osgi.services.discovery.local";
-
- // The shared instance
- private static Activator plugin;
-
- private LogService logService = null;
- private ServiceTracker logServiceTracker;
-
- private BundleContext context = null;
-
- private FileBasedDiscoveryImpl discovery = null;
-
- private ServiceRegistration commandProviderRegistration;
-
- private ServiceDescriptionPublisher serviceDescriptionPublisher;
- private ServiceRegistration serviceDescriptionPublisherRegistration;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bc) throws Exception {
- plugin = this;
- context = bc;
- logServiceTracker = new ServiceTracker(bc, LogService.class.getName(),
- new ServiceTrackerCustomizer() {
-
- private LogService logger = null;
-
- public Object addingService(ServiceReference reference) {
- if (logger == null) {
- LogService logger = (LogService) context
- .getService(reference);
- setLogService(logger);
- return logger;
- }
- return null;
- }
-
- public void modifiedService(ServiceReference reference,
- Object service) {
- }
-
- public void removedService(ServiceReference reference,
- Object service) {
- context.ungetService(reference);
- ServiceReference serviceRef = context
- .getServiceReference(LogService.class.getName());
- if (serviceRef == null) {
- setLogService(null);
- } else {
- setLogService((LogService) context
- .getService(serviceRef));
- }
- }
-
- });
- logServiceTracker.open();
- discovery = new FileBasedDiscoveryImpl(bc, logService);
- discovery.init();
-
- commandProviderRegistration = context.registerService(
- CommandProvider.class.getName(), new DiscoveryCommandProvider(
- discovery), null);
-
- // Register servicedescription publisher
- serviceDescriptionPublisher = new ServiceDescriptionPublisher(discovery);
- serviceDescriptionPublisherRegistration = context.registerService(
- IServiceEndpointDescriptionPublisher.class.getName(),
- serviceDescriptionPublisher, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- if (commandProviderRegistration != null) {
- commandProviderRegistration.unregister();
- commandProviderRegistration = null;
- }
- if (serviceDescriptionPublisherRegistration != null) {
- serviceDescriptionPublisherRegistration.unregister();
- serviceDescriptionPublisherRegistration = null;
- }
- if (serviceDescriptionPublisher != null) {
- serviceDescriptionPublisher.close();
- serviceDescriptionPublisher = null;
- }
- logServiceTracker.close();
- logServiceTracker = null;
- discovery.destroy();
- discovery = null;
- plugin = null;
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- *
- * @param loggerLogService
- * instance to set
- */
- void setLogService(LogService logger) {
- logService = logger;
- FileBasedDiscoveryImpl.setLogService(logService);
- }
-
- LogService getLogService() {
- return logService;
- }
-
- public BundleContext getBundleContext() {
- return context;
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/BundleTrackerImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/BundleTrackerImpl.java
deleted file mode 100644
index 731df7169..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/BundleTrackerImpl.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleEvent;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.BundleTrackerCustomizer;
-import org.xml.sax.SAXException;
-
-public class BundleTrackerImpl implements BundleTrackerCustomizer {
-
- private FileBasedDiscoveryImpl discovery = null;
-
- private static final String REMOTESERVICE_LOCATION = "OSGI-INF"
- + File.separator + "remote-service";
-
- private static final String REMOTESERVICE_MANIFESTHEADER = "Remote-Service";
-
- // stores the bundle ids of the bundles that are checked for the static
- // discovery informations
- private Collection checkedBundles = Collections
- .synchronizedList(new ArrayList());
-
- private Map publishedServicesPerBundle = Collections
- .synchronizedMap(new HashMap());
-
- /**
- *
- * @param disco
- * the FileBasedDiscovery implementation that publishes and
- * unpublishes file based seds.
- */
- public BundleTrackerImpl(FileBasedDiscoveryImpl disco) {
- discovery = disco;
- }
-
- /**
- * @see org.osgi.util.tracker.BundleTrackerCustomizer#addingBundle(org.osgi.framework.Bundle,
- * org.osgi.framework.BundleEvent)
- */
- public Object addingBundle(Bundle bundle, BundleEvent event) {
- FileBasedDiscoveryImpl.log(LogService.LOG_INFO, "Adding bundle "
- + bundle.getSymbolicName() + " with event " + event);
- checkedBundles.add(String.valueOf(bundle.getBundleId()));
- return checkBundleAndPublishServices(bundle);
- }
-
- /**
- * @param bundle
- * @return
- */
- private Bundle checkBundleAndPublishServices(Bundle bundle) {
- Collection /* <URL> */remoteServiceFiles = null;
- Collection /* <ServiceEndpointDescription> */publishedServices = null;
- if ((remoteServiceFiles = getRemoteServiceInformationFilesFromBundle(bundle))
- .size() == 0) {
- return null;
- }
- Iterator/* <URL> */it = remoteServiceFiles.iterator();
- publishedServices = new ArrayList();
- while (it.hasNext()) {
- // each file may contain more than ServiceDescription
- Collection seds = createSEDsFromFile((URL) it.next());
- Iterator /* <ServiceEndpointDescription> */sedIterator = seds
- .iterator();
- while (sedIterator.hasNext()) {
- // publish each of them
- ServiceEndpointDescription next = (ServiceEndpointDescription) sedIterator
- .next();
- discovery.publishService(next);
- publishedServices.add(next);
- }
- }
- publishedServicesPerBundle.put(bundle, publishedServices);
- return bundle;
- }
-
- /**
- * @see org.osgi.util.tracker.BundleTrackerCustomizer#modifiedBundle(org.osgi.framework.Bundle,
- * org.osgi.framework.BundleEvent, java.lang.Object)
- */
- public void modifiedBundle(Bundle bundle, BundleEvent event, Object object) {
- // ignored
-
- }
-
- /**
- * @see org.osgi.util.tracker.BundleTrackerCustomizer#removedBundle(org.osgi.framework.Bundle,
- * org.osgi.framework.BundleEvent, java.lang.Object)
- */
- public void removedBundle(Bundle bundle, BundleEvent event, Object object) {
- FileBasedDiscoveryImpl.log(LogService.LOG_INFO, "Removing bundle "
- + bundle.getSymbolicName() + " with event " + event);
- Collection publishedServices = (Collection) publishedServicesPerBundle
- .get(bundle);
- if (publishedServices != null) {
- Iterator it = publishedServices.iterator();
- while (it.hasNext()) {
- discovery.unpublishService((ServiceEndpointDescription) it
- .next());
- }
- }
- publishedServicesPerBundle.remove(bundle);
- checkedBundles.remove(String.valueOf(bundle.getBundleId()));
- }
-
- /**
- *
- * @param bundle
- * the bundle to check
- * @return the URL list of Distributed OSGi compliant xml files. The list is
- * empty if none are found.
- */
- private Collection getRemoteServiceInformationFilesFromBundle(
- final Bundle bundle) {
- Collection result = new ArrayList();
- String remote_services = (String) bundle.getHeaders().get(
- REMOTESERVICE_MANIFESTHEADER);
- if (remote_services != null) {
- // the default has been overwritten
- StringTokenizer tokenizer = new StringTokenizer(remote_services,
- ",");
- while (tokenizer.hasMoreElements()) {
- handleRemoteService(bundle, result, tokenizer);
- }
- } else {
- // default location
- Enumeration bundleEntries = bundle.findEntries(
- REMOTESERVICE_LOCATION, "*.xml", true);
- if (bundleEntries != null) {
- while (bundleEntries.hasMoreElements()) {
- result.add(bundleEntries.nextElement());
- }
- }
- }
- return result;
- }
-
- /**
- * @param bundle
- * @param result
- * @param tokenizer
- */
- private void handleRemoteService(final Bundle bundle, Collection result,
- StringTokenizer tokenizer) {
- String token = tokenizer.nextToken().trim();
- // fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=325664
- int lastSlash = token.lastIndexOf("/");
- // We set the path to '/' is not present at all in token (lastSlash == -1)
- // or if the slash is first char (lastSlash==0)
- String path = (lastSlash <= 0)?"/":token.substring(0,lastSlash);
- int start = path.indexOf("${");
- if (start >= 0) {
- int end = path.indexOf("}");
- String substring = path.substring(start + 2, end);
- String property = System.getProperty(substring);
- path = path.replaceAll("\\$\\{" + substring + "\\}", property);
- }
- // Also be sure to use lastSlash to get files
- String files = token.substring(lastSlash+1,
- token.length());
- Enumeration enumeration = bundle.findEntries(path, files, false);
- if (enumeration == null) {
- // that was maybe an absolute file path so lets check that.
- File f = new File(path + File.separator + files);
- if (f.isFile() && f.exists()) {
- try {
- // we have file given
- result.add(f.toURL());
- } catch (MalformedURLException e) {
- // ignore that location
- }
- } else if (f.isDirectory() && f.exists()) {
- // if it is a directory and it does exist
- addFilesToResult(result, f);
- } else if (new File(path).isDirectory()) {
- // if we have a directory extended with a wildcard file
- // selector given
- File directory = new File(path);
- if (directory.exists() && files.equals("*.xml")) {
- addFilesToResult(result, directory);
- }
- }
- } else {
- while (enumeration.hasMoreElements()) {
- result.add(enumeration.nextElement());
- }
- }
- }
-
- /**
- * @param result
- * @param f
- */
- private void addFilesToResult(Collection result, File f) {
- File[] filesInTheDirectory = f.listFiles(new FilenameFilter() {
-
- public boolean accept(File directory, String fileName) {
- return (fileName.endsWith(".xml")) ? true : false;
- }
- });
- for (int i = 0; i < filesInTheDirectory.length; i++) {
- try {
- result.add(filesInTheDirectory[i].toURL());
- } catch (MalformedURLException e) {
- // ignore the file and go on with the next one
- }
- }
- }
-
- /**
- *
- * @param file
- * the xml file containing valid Distributed OSGi service
- * information
- * @return a ServiceEndpointDescription object containing the information
- * from the file
- */
- private Collection/* <ServiceEndpointDescription> */createSEDsFromFile(
- final URL file) {
- try {
- InputStream inputStream = file.openStream();
- return new ServiceDescriptionParser().load(inputStream);
- } catch (FileNotFoundException e) {
- log(file, e);
- } catch (ParserConfigurationException e) {
- log(file, e);
- } catch (SAXException e) {
- log(file, e);
- } catch (IOException e) {
- log(file, e);
- }
- return new ArrayList();
- }
-
- /**
- * @param file
- * @param e
- */
- private void log(URL file, Exception e) {
- e.printStackTrace();
- FileBasedDiscoveryImpl.log(LogService.LOG_ERROR,
- "Error during loading and reading of service descriptions from file "
- + file.getFile(), e);
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DSTTracker.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DSTTracker.java
deleted file mode 100644
index 14a8e0827..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DSTTracker.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-/**
- * This class monitors the lifecycle of DiscoveredServiceTrackers. They will be
- * notified on registration and modification if any service has been published.
- *
- * TODO: replace arg0 arg names with more descriptive ones
- */
-public class DSTTracker implements ServiceTrackerCustomizer {
-
- // Map of DiscoveredServiceTracker, property map
- private Map /* <DiscoveredServiceTracker, Map> */dsTrackers = null;
-
- private BundleContext context = null;
-
- /**
- *
- * @param ctx
- */
- public DSTTracker(final BundleContext ctx) {
- context = ctx;
- dsTrackers = Collections.synchronizedMap(new HashMap());
- }
-
- /**
- * @return a new instance of dsTracker map
- */
- public Map getDsTrackers() {
- return new HashMap(dsTrackers);
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.osgi.framework.ServiceReference)
- */
- public Object addingService(final ServiceReference dstTrackerReference) {
- DiscoveredServiceTracker tracker = (DiscoveredServiceTracker) context
- .getService(dstTrackerReference);
- if (!dsTrackers.keySet().contains(tracker)) {
- FileBasedDiscoveryImpl.log(LogService.LOG_INFO,
- "adding service tracker " + tracker);
- addTracker(dstTrackerReference);
- Map changedFilterCriteria = determineChangedFilterProperties(
- tracker, dstTrackerReference);
- FileBasedDiscoveryImpl.notifyOnAvailableSEDs(tracker,
- changedFilterCriteria);
- return tracker;
- }
- return null;
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#modifiedService(org.osgi.framework.ServiceReference,
- * java.lang.Object)
- */
- public void modifiedService(final ServiceReference dstTrackerReference,
- final Object arg1) {
- DiscoveredServiceTracker tracker = (DiscoveredServiceTracker) context
- .getService(dstTrackerReference);
- Map changedFilterCriteria = determineChangedFilterProperties(tracker,
- dstTrackerReference);
- FileBasedDiscoveryImpl.log(LogService.LOG_INFO,
- "modified service tracker " + tracker + " ;changedFilter = "
- + changedFilterCriteria);
- dsTrackers.remove(tracker);
- addTracker(dstTrackerReference);
- FileBasedDiscoveryImpl.notifyOnAvailableSEDs(tracker,
- changedFilterCriteria);
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#removedService(org.osgi.framework.ServiceReference,
- * java.lang.Object)
- */
- public void removedService(final ServiceReference dstTrackerReference,
- final Object arg1) {
- DiscoveredServiceTracker tracker = (DiscoveredServiceTracker) context
- .getService(dstTrackerReference);
- FileBasedDiscoveryImpl.log(LogService.LOG_INFO,
- "removing service tracker " + tracker);
- dsTrackers.remove(tracker);
- }
-
- /**
- * This method fills a map with key value pairs, where the key is
- * {@link#DiscoveredServiceTracker.PROP_KEY_MATCH_CRITERIA_INTERFACES} or
- * {@linkDiscoveredServiceTracker.PROP_KEY_MATCH_CRITERIA_FILTERS} and the
- * value is the list of new entries or empty if nothing is new.
- *
- * @param tracker
- * the registered or modified tracker registration
- * @param serviceReference
- * @return a map that contains two entries where the value contains the
- * added properties. It returns empty values if no new properties
- * have been found. It returns null values if the new properties are
- * null or empty
- */
- private Map determineChangedFilterProperties(
- DiscoveredServiceTracker tracker, ServiceReference serviceReference) {
- Map result = new HashMap();
-
- Map props = (Map) dsTrackers.get(tracker);
- if (props != null) {
- Collection oldInterfaceCriteria = (Collection) props
- .get(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA);
- Collection oldFilterCriteria = (Collection) props
- .get(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA);
-
- Collection newInterfaceCriteria = (Collection) serviceReference
- .getProperty(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA);
- Collection newFilterCriteria = (Collection) serviceReference
- .getProperty(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA);
-
- result.put(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA,
- getAddedEntries(oldInterfaceCriteria, newInterfaceCriteria));
- result.put(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA,
- getAddedEntries(oldFilterCriteria, newFilterCriteria));
- } else {
- // set empty lists as values
- result.put(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA,
- new ArrayList());
- result.put(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA,
- new ArrayList());
- }
- return result;
- }
-
- /**
- * Compares to list and returns only those who are not in the old list. Or
- * it returns an empty list if nothing has been found.
- *
- * @param oldList
- * the existing set of properties
- * @param newList
- * the new set of properties
- * @return a list of only new properties; empty list if no new has been
- * found; null if newList is null or empty
- */
- private Collection getAddedEntries(Collection oldList, Collection newList) {
- ArrayList result = new ArrayList();
- if (newList == null || newList.isEmpty()) {
- return null;
- }
- if (oldList == null) {
- return newList;
- }
- Iterator it = newList.iterator();
- while (it.hasNext()) {
- Object val = it.next();
- if (!oldList.contains(val)) {
- result.add(val);
- }
- }
- return result;
- }
-
- /**
- * Adds a DiscoveredServiceTracker with its properties to our map.
- *
- * @param ref
- * reference to the just registered or modified
- * DiscoveredServiceTracker
- */
- private void addTracker(final ServiceReference ref) {
- // Retrieve current service properties (required later when modified to
- // compute the actual modification)
- Map props = new HashMap();
- props.put(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA, ref
- .getProperty(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA));
-
- props.put(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA,
- ref.getProperty(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA));
- dsTrackers.put((DiscoveredServiceTracker) context.getService(ref),
- props);
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveredServiceNotificationImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveredServiceNotificationImpl.java
deleted file mode 100644
index bdca3ad6e..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveredServiceNotificationImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.Collection;
-
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification;
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-
-public class DiscoveredServiceNotificationImpl implements
- DiscoveredServiceNotification {
-
- private ServiceEndpointDescription descr;
- private int type;
- private Collection/* String */filters;
- private Collection/* String */interfaces;
-
- public DiscoveredServiceNotificationImpl(ServiceEndpointDescription sed,
- int notificationType, Collection matchingFilters,
- Collection matchingInterfaces) {
- descr = sed;
- type = notificationType;
- filters = matchingFilters;
- interfaces = matchingInterfaces;
- }
-
- /**
- * @see org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification#getServiceEndpointDescription()
- */
- public ServiceEndpointDescription getServiceEndpointDescription() {
- return descr;
- }
-
- /**
- * @see org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification#getType()
- */
- public int getType() {
- return type;
- }
-
- /**
- * @see org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification#getFilters()
- */
- public Collection getFilters() {
- return filters;
- }
-
- /**
- * @see org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification#getInterfaces()
- */
- public Collection getInterfaces() {
- return interfaces;
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveryCommandProvider.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveryCommandProvider.java
deleted file mode 100644
index 1557f09cd..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/DiscoveryCommandProvider.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Markus Alexander Kuppe.
- * All rights reserved. This program and the accompanying materials
- * are made available under the 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:
- * Markus Alexander Kuppe (ecf-dev_eclipse.org <at> lemmster <dot> de) - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-import org.xml.sax.SAXException;
-
-public class DiscoveryCommandProvider implements CommandProvider {
-
- private static final String LINE_SEPARATOR = System
- .getProperty("line.separator"); //$NON-NLS-0$
-
- private FileBasedDiscoveryImpl discovery = null;
-
- public DiscoveryCommandProvider(FileBasedDiscoveryImpl discovery) {
- super();
- this.discovery = discovery;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.osgi.framework.console.CommandProvider#getHelp()
- */
- public String getHelp() {
- return LINE_SEPARATOR //$NON-NLS-0$
- + "---ECF File-based Service Discovery---" //$NON-NLS-1$
- + LINE_SEPARATOR //$NON-NLS-0$
- + "\tpublish <URL of ServiceEndpointDescriptor XML> -- publish the given Service Endpoint Descriptor\n\tunpublish <URL of ServiceEndpointDescriptor XML> -- unpublish the given Service Endpoint Descriptor" //$NON-NLS-1$
- + LINE_SEPARATOR; //$NON-NLS-0$
- }
-
- public void _publish(CommandInterpreter ci) {
- Collection seds = getServiceEndpointDescriptions(ci);
- for (Iterator iterator = seds.iterator(); iterator.hasNext();) {
- ServiceEndpointDescription sed = (ServiceEndpointDescription) iterator
- .next();
- discovery.publishService(sed);
- }
- }
-
- public void _unpublish(CommandInterpreter ci) {
- Collection seds = getServiceEndpointDescriptions(ci);
- for (Iterator iterator = seds.iterator(); iterator.hasNext();) {
- ServiceEndpointDescription sed = (ServiceEndpointDescription) iterator
- .next();
- discovery.unpublishService(sed);
- }
- }
-
- private Collection getServiceEndpointDescriptions(CommandInterpreter ci) {
- String path = ci.nextArgument();
- try {
- URL url = new URL(path);
- InputStream inputStream = url.openStream();
- return new ServiceDescriptionParser().load(inputStream);
- } catch (IOException e) {
- ci.print("Error loading service endpoint descriptions from file="+path); //$NON-NLS-1$
- } catch (ParserConfigurationException e) {
- ci.print("Error setting up parser"); //$NON-NLS-1$
- } catch (SAXException e) {
- ci.print("Error parsing service endpoint descriptions from file="+path); //$NON-NLS-1$
- }
- return new ArrayList();
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/FileBasedDiscoveryImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/FileBasedDiscoveryImpl.java
deleted file mode 100644
index 8e61e3501..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/FileBasedDiscoveryImpl.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.BundleTracker;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class FileBasedDiscoveryImpl {
- /**
- * ServiceRegistration property identifying Discovery's default strategy for
- * distribution of published service information. It's up to the Discovery
- * service to provide and support this property. Value of this property is
- * of type String.
- *
- * TODO do we support this property?
- */
- public static final String PROP_KEY_PUBLISH_STRATEGY = "osgi.discovery.strategy.publication";
-
- /**
- * Constant for a "push" publication strategy: published service information
- * is actively pushed to the network for discovery.
- */
- public static final String PROP_VAL_PUBLISH_STRATEGY_PUSH = "push";
-
- /**
- * Constant for a "pull" publication strategy: published service information
- * is available just upon lookup requests.
- */
- public static final String PROP_VAL_PUBLISH_STRATEGY_PULL = "pull";
-
- private static BundleContext context;
-
- private static LogService logService;
-
- private static Map /* <SLPServiceDescriptionAdapter> */inMemoryCache = Collections
- .synchronizedMap(new HashMap());
-
- private ServiceTracker spTracker = null;
-
- private DSTTracker discoTrackerCustomizer = null;
-
- private ServiceTracker discoTracker = null;
-
- private BundleTracker bt = null;
-
- /**
- * Constructor.
- *
- * @param bc
- * the BundleContext of the containing bundle.
- * @param logger
- * a LogService instance
- */
- public FileBasedDiscoveryImpl(final BundleContext bc,
- final LogService logger) {
- logService = logger;
- context = bc;
- }
-
- /**
- * Initialization method called by Activator.
- */
- public void init() {
- log(LogService.LOG_DEBUG, "init");
- discoTrackerCustomizer = new DSTTracker(context);
- discoTracker = new ServiceTracker(context,
- DiscoveredServiceTracker.class.getName(),
- discoTrackerCustomizer);
- discoTracker.open();
- spTracker = new ServiceTracker(context,
- ServicePublication.class.getName(),
- new ServicePublicationTracker(context, this));
- spTracker.open();
- // We track active and starting bundles as per Remote Services Admin spec
- bt = new BundleTracker(context, Bundle.ACTIVE | Bundle.STARTING, new BundleTrackerImpl(this));
- bt.open();
- }
-
- /**
- * Shutdown method called by Activator.
- */
- public void destroy() {
- log(LogService.LOG_DEBUG, "destroy");
- bt.close();
- discoTracker.close();
- spTracker.close();
- }
-
- /**
- * Publishes a service.
- *
- * TODO: publish also for every endpoint interface TODO: use
- * endpointLocation as service URL if given
- *
- * @param javaInterfaces
- * collection of java interface names
- * @param javaInterfacesAndVersions
- * collection of versions, where the order of the version must
- * match the order of the java interfaces
- * @param javaInterfacesAndEndpointInterfaces
- * optional collection of endpointinterface names, where the
- * order must match the order of the java interfaces
- * @param properties
- * map of properties; keys must be Strings, values are of type
- * object
- * @param strategy
- * optional string that defines the publish strategy
- * @return a ServiceEndpointDescription or null, if an error occurred during
- * creation of the ServiceDescription
- */
- protected ServiceEndpointDescription publishService(
- Collection/* <String> */javaInterfaces,
- Collection/* <String> */javaInterfacesAndVersions,
- Collection/* <String> */javaInterfacesAndEndpointInterfaces,
- Map/* <String, Object> */properties, String strategy,
- String endpointID) {
- ServiceEndpointDescription svcDescr = new ServiceEndpointDescriptionImpl(
- javaInterfaces, javaInterfacesAndVersions,
- javaInterfacesAndEndpointInterfaces, properties, endpointID);
- storeAndNotify(svcDescr);
- return svcDescr;
- }
-
- private void storeAndNotify(final ServiceEndpointDescription svcDescr) {
- // add it to the available Services
- inMemoryCache.put(svcDescr.getEndpointID(), svcDescr);
- // inform the listener about the new available service
- notifyListenersOnNewServiceDescription(svcDescr);
- }
-
- protected void publishService(final ServiceEndpointDescription svcDescr) {
- storeAndNotify(svcDescr);
- }
-
- /**
- * Unpublishes a given service description.
- *
- * @param serviceDescription
- * the service to unpublish
- * @throws IllegalArgumentException
- * if serviceDescription is null or does not contain at least
- * one java interface
- */
- protected void unpublishService(
- final ServiceEndpointDescription serviceDescription) {
- validateServiceDescription(serviceDescription);
- log(LogService.LOG_DEBUG,
- "unpublish service " + serviceDescription.toString());
- inMemoryCache.remove(serviceDescription.getEndpointID());
- notifyListenersOnRemovedServiceDescription(serviceDescription);
- }
-
- /**
- *
- */
- protected static synchronized void log(int logLevel, String msg) {
- if (logService != null) {
- logService.log(logLevel, msg);
- }
- }
-
- /**
- *
- */
- protected static synchronized void log(int logLevel, String msg, Exception e) {
- if (logService != null) {
- logService.log(logLevel, msg, e);
- }
- }
-
- /**
- * @param logger
- * the reference to the LogService which get called for logging
- *
- */
- public static void setLogService(final LogService logger) {
- logService = logger;
- }
-
- /**
- * This method checks if a given ServiceEndpointDescrioption follows the
- * minimal requirements.
- *
- * @param serviceDescription
- * the given ServiceEndpointDescription
- * @throws IllegalArgumentException
- * if serviceDescription is null or does not contain at least
- * one java interface
- */
- protected void validateServiceDescription(
- ServiceEndpointDescription serviceDescription) {
- if (serviceDescription == null)
- throw new IllegalArgumentException(
- "serviceDescription must not be null.");
- if (serviceDescription.getProvidedInterfaces() == null) {
- throw new IllegalArgumentException(
- "Given set of Java interfaces must not be null");
- }
- String ifName = (String) serviceDescription.getProvidedInterfaces()
- .iterator().next();
- if (serviceDescription.getProvidedInterfaces() == null
- || serviceDescription.getProvidedInterfaces().size() <= 0
- || ifName == null || ifName.length() <= 0) {
- throw new IllegalArgumentException(
- "serviceDescription must contain at least one service interface name.");
- }
- }
-
- /**
- * Returns a Map of all registered DiscoveredServiceTracker trackers.
- *
- * TODO should it be a copy of the map for thread safety? This could lead to
- * failures during usage of the copy. But we do not block the Tracker,
- * registrations and deregistrations of DSTs.
- *
- * @return a copied Map of all registered DiscoveredServiceTracker trackers.
- */
- protected Map getRegisteredServiceTracker() {
- if (discoTrackerCustomizer == null) {
- return new HashMap();
- }
- return new HashMap(discoTrackerCustomizer.getDsTrackers());
- }
-
- /**
- * This method informs a just registered or modified service tracker if a
- * service matches its properties.
- *
- * TODO: add suppression of informing trackers twice for the same SED
- *
- * @param tracker
- * the just registered or modified DiscoveredServiceTracker
- */
- public static void notifyOnAvailableSEDs(
- final DiscoveredServiceTracker tracker, final Map matchingCriteria) {
- List cachedServices = new ArrayList(inMemoryCache.values());
- if (cachedServices != null) {
- Collection matchingInterfaces = new ArrayList();
- Collection matchingFilters = new ArrayList();
- Iterator it = cachedServices.iterator();
- while (it.hasNext()) {
- ServiceEndpointDescription svcDescr = (ServiceEndpointDescription) it
- .next();
- matchingInterfaces.clear();
- matchingFilters.clear();
- if (isTrackerInterestedInSED(svcDescr, matchingCriteria,
- matchingInterfaces, matchingFilters)) {
- tracker.serviceChanged(new DiscoveredServiceNotificationImpl(
- svcDescr, DiscoveredServiceNotification.AVAILABLE,
- matchingInterfaces, matchingFilters));
- }
- }
- }
- }
-
- /**
- *
- * @param svcDescr
- */
- protected void notifyListenersOnNewServiceDescription(
- ServiceEndpointDescription svcDescr) {
- Collection matchingInterfaces = new ArrayList();
- Collection matchingFilters = new ArrayList();
- Map discoveredSTs = getRegisteredServiceTracker();
- Iterator it = discoveredSTs.keySet().iterator();
- while (it.hasNext()) {
- DiscoveredServiceTracker st = (DiscoveredServiceTracker) it.next();
- Map trackerProps = (Map) discoveredSTs.get(st);
- matchingInterfaces.clear();
- matchingFilters.clear();
- if (isTrackerInterestedInSED(svcDescr, trackerProps,
- matchingInterfaces, matchingFilters)) {
- try {
- st.serviceChanged(new DiscoveredServiceNotificationImpl(
- svcDescr, DiscoveredServiceNotification.AVAILABLE,
- matchingInterfaces, matchingFilters));
- } catch (Exception e) {
- log(LogService.LOG_ERROR,
- "Exceptions where thrown while notifying about a new remote service.",
- e);
- }
-
- }
- }
- }
-
- /**
- * Notifies all DSTTrackers about an unpublished service.
- *
- * @param svcDescr
- * the unpublished ServiceEndpointDescription
- */
- protected void notifyListenersOnRemovedServiceDescription(
- ServiceEndpointDescription svcDescr) {
- Collection matchingInterfaces = new ArrayList();
- Collection matchingFilters = new ArrayList();
- Map discoveredSTs = getRegisteredServiceTracker();
- Iterator it = discoveredSTs.keySet().iterator();
- while (it.hasNext()) {
- DiscoveredServiceTracker st = (DiscoveredServiceTracker) it.next();
- Map trackerProps = (Map) discoveredSTs.get(st);
- matchingInterfaces.clear();
- matchingFilters.clear();
- // inform it if the listener has no Filter set
- // or the filter matches the criteria
- if (isTrackerInterestedInSED(svcDescr, trackerProps,
- matchingInterfaces, matchingFilters)) {
- try {
- st.serviceChanged(new DiscoveredServiceNotificationImpl(
- svcDescr,
- DiscoveredServiceNotification.UNAVAILABLE,
- matchingInterfaces, matchingFilters));
- } catch (Exception e) {
- log(LogService.LOG_ERROR,
- "Exceptions where thrown while notifying about removal of a remote service.",
- e);
- }
- }
- }
- }
-
- /**
- *
- * @param svcDescr
- */
- protected void notifyListenersOnModifiedServiceDescription(
- ServiceEndpointDescription svcDescr) {
- Collection matchingInterfaces = new ArrayList();
- Collection matchingFilters = new ArrayList();
- Map discoveredSTs = getRegisteredServiceTracker();
- Iterator it = discoveredSTs.keySet().iterator();
- while (it.hasNext()) {
- DiscoveredServiceTracker st = (DiscoveredServiceTracker) it.next();
- Map trackerProps = (Map) discoveredSTs.get(st);
- // inform it if the listener has no Filter set
- // or the filter matches the criteria
- matchingInterfaces.clear();
- matchingFilters.clear();
- if (isTrackerInterestedInSED(svcDescr, trackerProps,
- matchingInterfaces, matchingFilters)) {
- try {
- st.serviceChanged(new DiscoveredServiceNotificationImpl(
- svcDescr, DiscoveredServiceNotification.MODIFIED,
- matchingInterfaces, matchingFilters));
- } catch (Exception e) {
- log(LogService.LOG_ERROR,
- "Exceptions where thrown while notifying about modification of a remote service.",
- e);
- }
- }
- }
- }
-
- /**
- * Compares the properties of a registered DiscoveredServiceTracker with the
- * SED properties. IF they match, it returns true.
- *
- * @param svcDescr
- * @param trackerProperties
- * @param matchingInterfaces
- * (an out-argument) a collection which will contain all
- * tracker's interface criteria matching with given
- * ServiceEndpointDescription object
- * @param matchingFilters
- * (an out-argument) a collection which will contain all
- * tracker's filter criteria matching with given
- * ServiceEndpointDescription object
- * @return true if the service tracker properties match the SEDs properties,
- * else false
- */
- public static boolean isTrackerInterestedInSED(
- ServiceEndpointDescription svcDescr,
- Map/* String, Object */trackerProperties,
- Collection matchingInterfaces, Collection matchingFilters) {
- Collection interfaceCriteria = (Collection) trackerProperties
- .get(DiscoveredServiceTracker.INTERFACE_MATCH_CRITERIA);
- Collection filter = (Collection) trackerProperties
- .get(DiscoveredServiceTracker.FILTER_MATCH_CRITERIA);
- boolean notify = false;
- if (interfaceCriteria == null && filter == null) {
- notify = true;
- } else {
- // if interface-criteria are defined on tracker
- if (interfaceCriteria != null && !interfaceCriteria.isEmpty()) {
- // then check whether tracker's interface-list contains one of
- // SED's interfaces
- Collection svcInterfaces = svcDescr.getProvidedInterfaces();
- if (svcInterfaces == null) {
- throw new RuntimeException("no interfaces provided");
- }
- Collection intersectionResult = new HashSet(interfaceCriteria);
- intersectionResult.retainAll(svcInterfaces);
- if (intersectionResult.size() > 0) {
- notify = true;
- if (matchingInterfaces != null) {
- matchingInterfaces.addAll(intersectionResult);
- }
- }
- }
-
- // if filter-criteria are defined on tracker
- if (filter != null && !filter.isEmpty()) {
- // check whether one filter of tracker's filter-list matches to
- // SED's properties
- Iterator it = filter.iterator();
- while (it.hasNext()) {
- String currentFilter = (String) it.next();
- try {
- Filter f = context.createFilter(currentFilter);
- if (f.match(new Hashtable(svcDescr.getProperties()))) {
- notify = true;
- if (matchingFilters != null) {
- matchingFilters.add(currentFilter);
- }
- }
- } catch (InvalidSyntaxException e) {
- String errMsg = "A filter provided by a DiscoveredServiceTracker is invalid.";
- errMsg += " Filter = " + currentFilter;
- errMsg += "; DiscoveredServiceTracker service.id = "
- + trackerProperties.get(Constants.SERVICE_ID);
- throw new RuntimeException(e.getMessage());
- } catch (IllegalStateException isex) {
- // TODO: check whether this catch block is needed.
- isex.printStackTrace();
- // ignore it
- }
- }
- }
- }
- return notify;
- }
-
- /**
- * Returns the list of known services without the locally published ones.
- *
- * @return a list of all remote services
- */
- public Map getCachedServices() {
- return new HashMap(inMemoryCache);
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/IServiceEndpointDescriptionPublisher.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/IServiceEndpointDescriptionPublisher.java
deleted file mode 100644
index 43f2368c2..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/IServiceEndpointDescriptionPublisher.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-public interface IServiceEndpointDescriptionPublisher {
-
- public void publishServiceDescription(InputStream serviceEndpointDescriptionFile)
- throws IOException;
-
- public void publishServiceDescription(
- ServiceEndpointDescriptionImpl serviceDescription);
-
- public void unpublishServiceDescription(InputStream serviceEndpointDescriptionFile)
- throws IOException;
-
- public void unpublishServiceDescription(
- ServiceEndpointDescriptionImpl serviceDescription);
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Messages.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Messages.java
deleted file mode 100644
index e8453565f..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/Messages.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.ecf.osgi.services.discovery.local.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 --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/OneInterfaceSED.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/OneInterfaceSED.java
deleted file mode 100644
index e318d6ca6..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/OneInterfaceSED.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.Collection;
-
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-
-/**
- *
- *
- * TODO Add Javadoc comment for this type.
- *
- */
-public class OneInterfaceSED {
-
- private static final String LINE_SEPARATOR = System
- .getProperty("line.separator");
-
- private String interfaceName = null;
- private String version = null;
- private String endpointInterface = null;
-
- /**
- * Adds a property to the existing map.
- *
- * @param key
- * property key
- * @param value
- * the value of the key
- */
- public void addProperty(final String key, final Object value) {
-
- if (key.equals(ServicePublication.SERVICE_INTERFACE_NAME)) {
- interfaceName = (String) value;
- }
-
- if (key.equals(ServicePublication.ENDPOINT_INTERFACE_NAME)) {
- if (!((String) value).startsWith(interfaceName)) {
- endpointInterface = combineValue((String) value);
- }
- }
-
- if (key.equals(ServicePublication.SERVICE_INTERFACE_VERSION)) {
- if (!((String) value).startsWith(interfaceName)) {
- version = combineValue((String) value);
- }
- }
-
- // properties.put(key, value);
- }
-
- /**
- * Preceding a value with the interface name and a separator.
- *
- * @param value
- * to append
- * @return the complete string
- */
- private String combineValue(final String value) {
- return interfaceName + ServicePublication.SEPARATOR + value;
- }
-
- /**
- * @return the interfaceName
- */
- public String getInterfaceName() {
- return interfaceName;
- }
-
- /**
- * @param interfaceName
- * the interfaceName to set
- */
- public void setInterfaceName(final String interfaceName) {
- this.interfaceName = interfaceName;
- }
-
- /**
- * @return the version
- */
- public String getVersion() {
- return version;
- }
-
- /**
- * @param version
- * the version to set
- */
- public void setVersion(final String version) {
- this.version = version;
- }
-
- /**
- * @return the endpointInterface
- */
- public String getEndpointInterface() {
- return endpointInterface;
- }
-
- /**
- * @param endpointInterface
- * the endpointInterface to set
- */
- public void setEndpointInterface(final String endpointInterface) {
- this.endpointInterface = endpointInterface;
- }
-
- /**
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(final Object serviceDescription) {
- if (!(serviceDescription instanceof ServiceEndpointDescription)) {
- return false;
- }
-
- ServiceEndpointDescription descr = (ServiceEndpointDescription) serviceDescription;
-
- Collection descrInterfaces = descr.getProvidedInterfaces();
- if (descrInterfaces == null) {
- throw new RuntimeException(
- "The service does not contain requiered parameter interfaces. "
- + descr);
- }
-
- // compare interface names
- if (!descrInterfaces.contains(interfaceName)) {
- return false;
- }
-
- // compare versions
- if ((version != null && (!version.equals(descr
- .getVersion(interfaceName))))
- || (version == null && descr.getVersion(interfaceName) != null)) {
- return false;
- }
-
- // compare endpoint interfaces
- if ((endpointInterface != null && (!endpointInterface.equals(descr
- .getEndpointInterfaceName(interfaceName))))
- || (endpointInterface == null && descr
- .getEndpointInterfaceName(interfaceName) != null)) {
- return false;
- }
-
- return true;
- }
-
- /**
- *
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- int result = 17;
-
- result = 37 * result + interfaceName.hashCode();
-
- if (endpointInterface != null) {
- result = 37 * result + endpointInterface.hashCode();
- }
-
- if (version != null) {
- result = 37 * result + version.hashCode();
- }
-
- return result;
- }
-
- /**
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("\tinterface=").append(interfaceName).append(LINE_SEPARATOR);
- if (version != null) {
- sb.append("\tversion=").append(version).append(LINE_SEPARATOR);
- }
- if (endpointInterface != null) {
- sb.append("\tendpointInterface=").append(endpointInterface)
- .append(LINE_SEPARATOR);
- }
- return sb.toString();
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionParser.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionParser.java
deleted file mode 100644
index 977de791d..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionParser.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.Entity;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.xml.sax.SAXException;
-
-public class ServiceDescriptionParser {
-
- private static final String SERVICEDESCRIPTION_ELEMENT = "service-description";
-
- private static final String PROVIDE_ELEMENT = "provide";
- private static final String PROPERTY_ELEMENT = "property";
-
- private static final String INTERFACE_ATTR = "interface";
- private static final String NAME_ATTR = "name";
- private static final String TYPE_ATTR = "type";
-
- private void findElementsNamed(Node top, String name, List aList) {
- int type = top.getNodeType();
- switch (type) {
- case Node.DOCUMENT_TYPE_NODE:
- // Print entities if any
- NamedNodeMap nodeMap = ((DocumentType) top).getEntities();
- for (int i = 0; i < nodeMap.getLength(); i++) {
- Entity entity = (Entity) nodeMap.item(i);
- findElementsNamed(entity, name, aList);
- }
- break;
- case Node.ELEMENT_NODE:
- String elementName = top.getNodeName();
- if (name.equals(elementName)) {
- aList.add(top);
- }
- default:
- for (Node child = top.getFirstChild(); child != null; child = child
- .getNextSibling()) {
- findElementsNamed(child, name, aList);
- }
- }
- }
-
- private Collection processServiceDescriptionNodes(
- List serviceDescriptionNodes) {
- Collection res = new ArrayList();
- for (Iterator i = serviceDescriptionNodes.iterator(); i.hasNext();) {
- Node n = (Node) i.next();
-
- ServiceEndpointDescriptionImpl c = new ServiceEndpointDescriptionImpl();
- processServiceEndpointDescription(n, c);
- res.add(c);
- }
- return res;
- }
-
- private Collection loadServiceDescriptions(Document doc) {
- List ps = new ArrayList();
- findElementsNamed(doc, SERVICEDESCRIPTION_ELEMENT, ps);
- return processServiceDescriptionNodes(ps);
- }
-
- private String getAttributeValue(Node node, String attrName) {
- NamedNodeMap attrs = node.getAttributes();
- Node attrNode = attrs.getNamedItem(attrName);
- if (attrNode != null) {
- return attrNode.getNodeValue();
- }
- return ""; //$NON-NLS-1$
- }
-
- private void processServiceEndpointDescription(Node n,
- ServiceEndpointDescriptionImpl c) {
- List groupList = new ArrayList();
- findElementsNamed(n, PROVIDE_ELEMENT, groupList);
- Collection/* <String> */providedInterfaces = null;
- if (!groupList.isEmpty()) {
- providedInterfaces = new ArrayList/* <String> */();
- for (Iterator i = groupList.iterator(); i.hasNext();) {
- Node node = (Node) i.next();
- String providedInterfaceValue = getAttributeValue(node,
- INTERFACE_ATTR);
- if (providedInterfaceValue != null
- && !providedInterfaceValue.equals("")) { //$NON-NLS-1$
- providedInterfaces.add(providedInterfaceValue);
- }
- }
- c.setProvidedInterfaces(providedInterfaces);
- }
- groupList = new ArrayList();
- findElementsNamed(n, PROPERTY_ELEMENT, groupList);
- Map/* <String, String> */providedProperties = null;
- if (!groupList.isEmpty()) {
- providedProperties = new HashMap/* <String, String> */();
- for (Iterator i = groupList.iterator(); i.hasNext();) {
- Node node = (Node) i.next();
- String name = getAttributeValue(node, NAME_ATTR);
- String value = node.getFirstChild().getNodeValue();
- String type = getAttributeValue(node, TYPE_ATTR);
- if (name != null && !name.equals("")) { //$NON-NLS-1$
- if (value != null && !value.equals("")) {
- if (type == null || type.equals("")) {
- providedProperties.put(name, value);
- } else if (type.equals("String")) {
- providedProperties.put(name, value);
- } else if (type.equals("Long")) {
- providedProperties.put(name, Long.valueOf(value));
- } else if (type.equals("Double")) {
- providedProperties.put(name, Double.valueOf(value));
- } else if (type.equals("Float")) {
- providedProperties.put(name, Float.valueOf(value));
- } else if (type.equals("Integer")) {
- providedProperties
- .put(name, Integer.valueOf(value));
- } else if (type.equals("Byte")) {
- providedProperties.put(name, Byte.valueOf(value));
- } else if (type.equals("Character")) {
- providedProperties.put(name,
- new Character(value.charAt(0)));
- } else if (type.equals("Boolean")) {
- providedProperties
- .put(name, Boolean.valueOf(value));
- } else if (type.equals("Short")) {
- providedProperties.put(name, Short.valueOf(value));
- }
- }
- }
- }
- c.setProvidedInterfaces(providedInterfaces);
- c.setProperties(providedProperties);
- }
- }
-
- public Collection load(InputStream ins)
- throws ParserConfigurationException, SAXException, IOException {
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder db = dbf.newDocumentBuilder();
- Document doc = db.parse(ins);
- return loadServiceDescriptions(doc);
- }
-} \ No newline at end of file
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionPublisher.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionPublisher.java
deleted file mode 100644
index 284c12848..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceDescriptionPublisher.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Iterator;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.osgi.service.log.LogService;
-import org.xml.sax.SAXException;
-
-public class ServiceDescriptionPublisher implements
- IServiceEndpointDescriptionPublisher {
-
- private FileBasedDiscoveryImpl discovery;
- private ServiceDescriptionParser sdp;
- private Object discoveryLock = new Object();
-
- public ServiceDescriptionPublisher(FileBasedDiscoveryImpl discovery) {
- this.discovery = discovery;
- this.sdp = new ServiceDescriptionParser();
- }
-
- private void logException(String message, Throwable t) {
- Activator a = Activator.getDefault();
- if (a != null) {
- LogService logService = a.getLogService();
- if (logService != null)
- logService.log(LogService.LOG_ERROR, message, t);
- }
- }
-
- private Collection getServiceEndpointDescriptions(
- InputStream serviceDescriptionStream) throws IOException {
- try {
- return sdp.load(serviceDescriptionStream);
- } catch (IOException e) {
- logException("IOException publishing serviceDescriptionStream", e);
- throw e;
- } catch (ParserConfigurationException e) {
- logException(
- "Parser exception publishing serviceDescriptionStream", e);
- throw new IOException(
- "Parser exception publishing serviceDescriptionStream: "
- + e.getMessage());
- } catch (SAXException e) {
- logException(
- "Parser exception publishing serviceDescriptionStream", e);
- throw new IOException(
- "SAX exception publishing serviceDescriptionStream: "
- + e.getMessage());
- } finally {
- serviceDescriptionStream.close();
- }
- }
-
- public void publishServiceDescription(InputStream serviceDescriptionStream)
- throws IOException {
- Collection serviceDescriptions = getServiceEndpointDescriptions(serviceDescriptionStream);
- if (serviceDescriptions != null) {
- for (Iterator i = serviceDescriptions.iterator(); i.hasNext();) {
- publishServiceDescription((ServiceEndpointDescriptionImpl) i
- .next());
- }
- }
- }
-
- public void unpublishServiceDescription(InputStream serviceDescriptionStream)
- throws IOException {
- Collection serviceDescriptions = getServiceEndpointDescriptions(serviceDescriptionStream);
- if (serviceDescriptions != null) {
- for (Iterator i = serviceDescriptions.iterator(); i.hasNext();) {
- unpublishServiceDescription((ServiceEndpointDescriptionImpl) i
- .next());
- }
- }
- }
-
- public void publishServiceDescription(
- ServiceEndpointDescriptionImpl serviceEndpointDescription) {
- synchronized (discoveryLock) {
- if (discovery != null)
- discovery.publishService(serviceEndpointDescription);
- }
- }
-
- public void unpublishServiceDescription(
- ServiceEndpointDescriptionImpl serviceEndpointDescription) {
- synchronized (discoveryLock) {
- if (discovery != null)
- discovery.unpublishService(serviceEndpointDescription);
- }
- }
-
- public void close() {
- synchronized (discoveryLock) {
- this.discovery = null;
- }
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceEndpointDescriptionImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceEndpointDescriptionImpl.java
deleted file mode 100644
index 831afe407..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServiceEndpointDescriptionImpl.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.rmi.dgc.VMID;
-import java.rmi.server.UID;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-
-public class ServiceEndpointDescriptionImpl implements
- ServiceEndpointDescription {
-
- public ServiceEndpointDescriptionImpl() {
- super();
- endpointID = getUUID();
- }
-
- private static final String LINE_SEPARATOR = System
- .getProperty("line.separator");
-
- private String endpointID = null;
-
- private final Map listOfJSLPSEDs = Collections
- .synchronizedMap(new HashMap());
-
- private Map properties = new HashMap();
-
- /**
- *
- * @param interfaceNames
- * @param interfacesAndVersions
- * @param endPointInterfaces
- * @param props
- * @throws ServiceLocationException
- */
- public ServiceEndpointDescriptionImpl(
- final Collection/* <String> */interfaceNames,
- final Collection/* <String> */interfacesAndVersions,
- final Collection/* <String> */endPointInterfaces, final Map props,
- final String endpntID) {
- // check the java interface map for validity
- if (interfaceNames == null) {
- throw new IllegalArgumentException(
- "Given set of Java interfaces must not be null.");
- }
- if (interfaceNames.size() <= 0) {
- throw new IllegalArgumentException(
- "Given set of Java interfaces must contain at least one service interface name.");
- }
-
- // separate given interface and version strings and put it in a map
- Map interfaceAndVersionsMap = new HashMap();
- if (interfacesAndVersions != null) {
- Iterator versionIterator = interfacesAndVersions.iterator();
- while (versionIterator.hasNext()) {
- String interfaceAndVersion = (String) versionIterator.next();
- int separatorIndex = interfaceAndVersion
- .indexOf(ServicePublication.SEPARATOR);
- // if separator doesn't exist or it's index is invalid (at the
- // very beginning, at the very end)
- if (separatorIndex <= 0
- || (separatorIndex + 1) == interfaceAndVersion.length()) {
- break;
- }
- String interfaceName = interfaceAndVersion.substring(0,
- separatorIndex);
- String version = interfaceAndVersion
- .substring(separatorIndex + 1);
- if (interfaceName != null && interfaceName.length() > 0
- && version != null && version.length() > 0) {
- interfaceAndVersionsMap.put(interfaceName, version);
- }
- }
- }
-
- // separate given java interface and endpoint interface and put it in a
- // map
- Map endPointInterfacesMap = new HashMap();
- if (endPointInterfaces != null) {
- Iterator endpIterator = endPointInterfaces.iterator();
- while (endpIterator.hasNext()) {
- String interfaceAndEndpoint = (String) endpIterator.next();
- int separatorIndex = interfaceAndEndpoint
- .indexOf(ServicePublication.SEPARATOR);
- // if separator doesn't exist or it's index is invalid (at the
- // very beginning, at the very end)
- if (separatorIndex <= 0
- || (separatorIndex + 1) == interfaceAndEndpoint
- .length()) {
- break;
- }
- String interfaceName = interfaceAndEndpoint.substring(0,
- separatorIndex);
- String endpInterface = interfaceAndEndpoint
- .substring(separatorIndex + 1);
- if (interfaceName != null && interfaceName.length() > 0
- && endpInterface != null && endpInterface.length() > 0) {
- endPointInterfacesMap.put(interfaceName, endpInterface);
- }
- }
- }
-
- // create interface-specific SEDs
- Iterator it = interfaceNames.iterator();
- while (it.hasNext()) {
- String ifName = (String) it.next();
-
- OneInterfaceSED jslpSED = new OneInterfaceSED();
- jslpSED.setInterfaceName(ifName);
- jslpSED.setVersion((String) interfaceAndVersionsMap.get(ifName));
- jslpSED.setEndpointInterface((String) endPointInterfacesMap
- .get(ifName));
- listOfJSLPSEDs.put(ifName, jslpSED);
- }
- if (endpntID != null) {
- this.endpointID = endpntID;
- } else {
- this.endpointID = getUUID();
- }
-
- if (props != null) {
- this.properties = new HashMap(props);
- }
- addInterfacesAndVersionsToProperties(interfaceNames,
- interfacesAndVersions, endPointInterfaces, endpointID);
- }
-
- /**
- * adds the endpoint interfaces and versions to the properties map
- *
- * @throws ServiceLocationException
- */
- private void addInterfacesAndVersionsToProperties(
- Collection interfaceNames, Collection versions,
- Collection endPointInterfaces, String endpntID) {
-
- if (properties == null) {
- properties = new HashMap();
- }
- properties.put(ServicePublication.SERVICE_INTERFACE_NAME,
- interfaceNames);
- if (versions != null) {
- properties.put(ServicePublication.SERVICE_INTERFACE_VERSION,
- versions);
- }
- if (endPointInterfaces != null) {
- properties.put(ServicePublication.ENDPOINT_INTERFACE_NAME,
- endPointInterfaces);
- }
-
- if (endpntID != null) {
- properties.put(ServicePublication.ENDPOINT_ID, endpntID);
- }
- }
-
- public Map getProperties() {
- return new HashMap(properties);
- }
-
- public Object getProperty(final String key) {
- return getProperties().get(key);
- }
-
- /**
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer("Service:" + LINE_SEPARATOR);
- if (endpointID != null) {
- sb.append("EndpointID = ");
- sb.append(endpointID);
- sb.append(LINE_SEPARATOR);
- }
- synchronized (listOfJSLPSEDs) {
- Iterator it = listOfJSLPSEDs.values().iterator();
- int i = 1;
- while (it.hasNext()) {
- sb.append("Interface ");
- sb.append(i);
- sb.append(LINE_SEPARATOR);
- sb.append((OneInterfaceSED) it.next());
- i++;
- }
- }
- String key;
- Object value;
- Iterator it = properties.keySet().iterator();
- if (it.hasNext()) {
- sb.append("properties=" + LINE_SEPARATOR);
- }
- while (it.hasNext()) {
- key = (String) it.next();
- value = properties.get(key);
- if (value == null) {
- value = "<null>";
- }
-
- sb.append("\t");
- sb.append(key);
- sb.append("=");
- sb.append(value.toString());
- sb.append(LINE_SEPARATOR);
- }
- return sb.toString();
- }
-
- /**
- *
- * @see org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription#getProvidedInterfaces()
- */
- public Collection getProvidedInterfaces() {
- List l = new ArrayList();
- synchronized (listOfJSLPSEDs) {
- Iterator it = listOfJSLPSEDs.values().iterator();
- while (it.hasNext()) {
- l.add(((OneInterfaceSED) it.next()).getInterfaceName());
- }
- }
- return l;
- }
-
- /**
- *
- * @see org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription#getEndpointInterfaceName(java.lang.String)
- */
- public String getEndpointInterfaceName(String interfaceName) {
- OneInterfaceSED jSED = ((OneInterfaceSED) listOfJSLPSEDs
- .get(interfaceName));
- if (jSED != null) {
- return jSED.getEndpointInterface();
- } else {
- return null;
- }
- }
-
- /**
- *
- * @see org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription#getVersion(java.lang.String)
- */
- public String getVersion(String interfaceName) {
- OneInterfaceSED jSED = ((OneInterfaceSED) listOfJSLPSEDs
- .get(interfaceName));
- if (jSED != null) {
- return jSED.getVersion();
- } else {
- return null;
- }
- }
-
- public URI getLocation() {
- Object uriObject = getProperty(ServicePublication.ENDPOINT_LOCATION);
- if (uriObject instanceof URI) {
- return (URI) uriObject;
- } else if (uriObject instanceof String) {
- try {
- return new URI((String) uriObject);
- } catch (URISyntaxException e) {
- throw new RuntimeException(e.getMessage());
- }
- } else if (uriObject == null) {
- return null;
- } else {
- throw new RuntimeException(
- "Service location property is not of expected type URI or String. Property = "
- + uriObject.toString());
- }
- }
-
- /**
- *
- * @return Collection
- * @see org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription#getPropertyKeys()
- */
- public Collection getPropertyKeys() {
- return getProperties().keySet();
- }
-
- /**
- *
- * @param key
- * @param value
- */
- public void addProperty(String key, Object value) {
- synchronized (listOfJSLPSEDs) {
- Iterator it = listOfJSLPSEDs.values().iterator();
- while (it.hasNext()) {
- ((OneInterfaceSED) it.next()).addProperty(key, value);
- }
- }
- if (key.equals(ServicePublication.ENDPOINT_ID)) {
- endpointID = (String) value;
- }
- properties.put(key, value);
- }
-
- /**
- * @return
- */
- private String getUUID() {
- return new UID().toString() + new VMID().toString();
- }
-
- /**
- *
- * @param javaInterfaceName
- * @return String
- */
- public static String convertJavaInterface2Path(
- final String javaInterfaceName) {
- return javaInterfaceName != null ? ":"
- + javaInterfaceName.replace('.', '/') : "";
- }
-
- /**
- *
- * @param interfaceNameEncodedAsPath
- * @return String
- */
- public static String convertPath2JavaInterface(
- final String interfaceNameEncodedAsPath) {
- return interfaceNameEncodedAsPath != null ? interfaceNameEncodedAsPath
- .replace('/', '.') : null;
- }
-
- /**
- *
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(final Object serviceDescription) {
- if (!(serviceDescription instanceof ServiceEndpointDescription)) {
- return false;
- }
-
- ServiceEndpointDescription descr = (ServiceEndpointDescription) serviceDescription;
-
- // if one has an EndpointID
- if (this.endpointID != null || descr.getEndpointID() != null) {
- if (this.endpointID != null) {
- return this.endpointID.equals(descr.getEndpointID());
- } else {
- // we don't have an endpointID but only the other.
- return false;
- }
- }
-
- Collection descrInterfaces = descr.getProvidedInterfaces();
- if (descrInterfaces == null) {
- throw new RuntimeException(
- "The service does not contain requiered parameter interfaces. "
- + descr);
- }
-
- boolean found = false;
- synchronized (listOfJSLPSEDs) {
- Iterator it = listOfJSLPSEDs.values().iterator();
- while (it.hasNext()) {
- OneInterfaceSED sed = (OneInterfaceSED) it.next();
- if (sed.equals(serviceDescription)) {
- found = true;
- }
- }
- }
-
- return found;
- }
-
- /**
- *
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- // In case endpointID has been provided by DSW / another Discovery or
- // has been generated
- if (endpointID != null) {
- return endpointID.hashCode();
- } else {
- int result = 17;
- synchronized (listOfJSLPSEDs) {
- Iterator it = listOfJSLPSEDs.values().iterator();
- while (it.hasNext()) {
- result = 37 * result
- + ((OneInterfaceSED) it.next()).hashCode();
- }
- }
-
- if (endpointID != null) {
- result = 37 * result + endpointID.hashCode();
- }
-
- if (properties != null) {
- result = 37 * result + properties.hashCode();
- }
-
- return result;
- }
- }
-
- /**
- *
- * @see org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription#getEndpointID()
- */
- public String getEndpointID() {
- return endpointID;
- }
-
- /**
- *
- * @param interfaceNames
- * the list of interfaceNames provided by this
- * ServiceEndpointDescription
- */
- public void setProvidedInterfaces(Collection interfaceNames) {
- if (interfaceNames == null || interfaceNames.isEmpty()) {
- return;
- }
- listOfJSLPSEDs.clear();
- // create interface-specific SEDs
- Iterator it = interfaceNames.iterator();
- while (it.hasNext()) {
- String ifName = (String) it.next();
- OneInterfaceSED jslpSED = new OneInterfaceSED();
- jslpSED.setInterfaceName(ifName);
- listOfJSLPSEDs.put(ifName, jslpSED);
- }
- }
-
- public void setProperties(Map props) {
- // TODO implement setting of members (endpointID, endpointinterfaces,
- // versions)
- properties = new HashMap(props);
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServicePublicationTracker.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServicePublicationTracker.java
deleted file mode 100644
index 16a91ecb7..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery.local/src/org/eclipse/ecf/osgi/services/discovery/local/ServicePublicationTracker.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2009 Siemens Enterprise Communications GmbH & Co. KG,
- * Germany. All rights reserved.
- *
- * Siemens Enterprise Communications GmbH & Co. KG is a Trademark Licensee
- * of Siemens AG.
- *
- * This material, including documentation and any related computer programs,
- * is protected by copyright controlled by Siemens Enterprise Communications
- * GmbH & Co. KG and its licensors. All rights are reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this
- * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.eclipse.ecf.osgi.services.discovery.local;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class ServicePublicationTracker implements ServiceTrackerCustomizer {
-
- private BundleContext context = null;
-
- private FileBasedDiscoveryImpl discovery = null;
-
- private Map /* <ServiceReference, ServiceEndpointDescription> */publicationAndSED = null;
-
- public ServicePublicationTracker(BundleContext ctx,
- FileBasedDiscoveryImpl disco) {
- context = ctx;
- discovery = disco;
- publicationAndSED = Collections.synchronizedMap(new HashMap());
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.osgi.framework.ServiceReference)
- */
- public Object addingService(ServiceReference arg0) {
- ServicePublication sp = publishServicePublication(arg0);
- return sp;
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#modifiedService(org.osgi.framework.ServiceReference,
- * java.lang.Object)
- */
- public void modifiedService(ServiceReference arg0, Object arg1) {
- unpublishServicePublication(arg0);
- publishServicePublication(arg0);
- }
-
- /**
- * @see org.osgi.util.tracker.ServiceTrackerCustomizer#removedService(org.osgi.framework.ServiceReference,
- * java.lang.Object)
- */
- public void removedService(ServiceReference arg0, Object arg1) {
- unpublishServicePublication(arg0);
- }
-
- /**
- *
- * @param arg0
- * @return
- */
- private ServicePublication publishServicePublication(ServiceReference arg0) {
- ServicePublication sp = (ServicePublication) context.getService(arg0);
- ServiceEndpointDescription sed = discovery
- .publishService(
- (Collection) arg0
- .getProperty(ServicePublication.SERVICE_INTERFACE_NAME),
- (Collection) arg0
- .getProperty(ServicePublication.SERVICE_INTERFACE_VERSION),
- (Collection) arg0
- .getProperty(ServicePublication.ENDPOINT_INTERFACE_NAME),
- (Map) arg0
- .getProperty(ServicePublication.SERVICE_PROPERTIES),
- FileBasedDiscoveryImpl.PROP_VAL_PUBLISH_STRATEGY_PUSH,
- (String) arg0
- .getProperty(ServicePublication.ENDPOINT_ID));
- publicationAndSED.put(arg0, sed);
- return sp;
- }
-
- /**
- *
- * @param srvReference
- * the given reference to the service to unpublish
- */
- private void unpublishServicePublication(ServiceReference srvReference) {
- discovery
- .unpublishService((ServiceEndpointDescription) publicationAndSED
- .get(srvReference));
- publicationAndSED.remove(srvReference);
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.classpath b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.classpath
deleted file mode 100644
index 6f3b481ac..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.options b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.options
deleted file mode 100644
index dba93827d..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.options
+++ /dev/null
@@ -1,19 +0,0 @@
-# Debugging options for the org.eclipse.ecf.osgi.services.discovery plug-in
-
-# Turn on general debugging for the org.eclipse.ecf.osgi.services.discovery plug-in
-org.eclipse.ecf.osgi.services.discovery/debug=true
-org.eclipse.ecf.osgi.services.discovery/debug/filter = *
-org.eclipse.ecf.osgi.services.discovery/debug/flag = true
-
-# Trace when exceptions are caught
-org.eclipse.ecf.osgi.services.discovery/debug/exceptions/catching=true
-# Trace when exceptions are thrown
-org.eclipse.ecf.osgi.services.discovery/debug/exceptions/throwing=true
-
-# Trace when methods are entered
-org.eclipse.ecf.osgi.services.discovery/debug/methods/entering=true
-# Trace when methods are exited
-org.eclipse.ecf.osgi.services.discovery/debug/methods/exiting=true
-
-# Trace service publication events
-org.eclipse.ecf.osgi.services.discovery/debug/servicepublication=true
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.project b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.project
deleted file mode 100644
index b9476584a..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ecf.osgi.services.discovery</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.core.prefs b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 947746fc6..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,88 +0,0 @@
-#Thu May 06 20:48:39 PDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-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.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-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=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-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.suppressOptionalErrors=disabled
-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=ignore
-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=ignore
-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.unusedObjectAllocation=ignore
-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
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.ui.prefs b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 71b405fb2..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,57 +0,0 @@
-#Fri May 01 09:30:31 PDT 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.api.tools.prefs b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index dea5bec94..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,91 +0,0 @@
-#Fri May 08 23:15:32 PDT 2009
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
-ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
-CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
-CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
-ILLEGAL_EXTEND=Warning
-ILLEGAL_IMPLEMENT=Warning
-ILLEGAL_INSTANTIATE=Warning
-ILLEGAL_OVERRIDE=Warning
-ILLEGAL_REFERENCE=Warning
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
-INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-INVALID_JAVADOC_TAG=Ignore
-INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
-LEAK_EXTEND=Ignore
-LEAK_FIELD_DECL=Warning
-LEAK_IMPLEMENT=Warning
-LEAK_METHOD_PARAM=Warning
-LEAK_METHOD_RETURN_TYPE=Warning
-METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
-TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
-UNUSED_PROBLEM_FILTERS=Warning
-eclipse.preferences.version=1
-incompatible_api_component_version=Error
-incompatible_api_component_version_include_major_without_breaking_change=Disabled
-incompatible_api_component_version_include_minor_without_api_change=Disabled
-invalid_since_tag_version=Error
-malformed_since_tag=Error
-missing_since_tag=Error
-report_api_breakage_when_major_version_incremented=Disabled
-report_resolution_errors_api_component=Warning
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/META-INF/MANIFEST.MF b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/META-INF/MANIFEST.MF
deleted file mode 100644
index 773997308..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.ecf.osgi.services.discovery
-Bundle-Version: 1.2.0.qualifier
-Bundle-Activator: org.eclipse.ecf.internal.osgi.services.discovery.Activator
-Bundle-Vendor: %pluginProvider
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
-Import-Package: org.eclipse.ecf.core.identity,
- org.eclipse.ecf.core.util,
- org.eclipse.ecf.discovery,
- org.eclipse.ecf.discovery.identity,
- org.eclipse.ecf.remoteservice,
- org.osgi.framework;version="1.3.0",
- org.osgi.service.log;version="1.3.0",
- org.osgi.util.tracker
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.equinox.common
-Export-Package: org.eclipse.ecf.internal.osgi.services.discovery;version="1.1.0";x-internal:=true,
- org.eclipse.ecf.osgi.services.discovery;version="1.1.0";x-internal:=true
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/plugin.properties b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/plugin.properties
deleted file mode 100644
index 30d6d6cd6..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/plugin.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-#################################################################################
-# Copyright (c) 2010 Composent 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
-#
-# Contributors:
-# EclipseSource - initial API and implementation
-#################################################################################
-pluginName=ECF OSGi R4.2 Compendium Discovery
-pluginProvider=Eclipse.org - ECF \ No newline at end of file
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/Activator.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/Activator.java
deleted file mode 100644
index b33077b30..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/Activator.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Arrays;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ecf.core.identity.GUID;
-import org.eclipse.ecf.core.identity.GUID.GUIDNamespace;
-import org.eclipse.ecf.core.util.LogHelper;
-import org.eclipse.ecf.core.util.SystemLogService;
-import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
-import org.eclipse.ecf.discovery.IDiscoveryLocator;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.eclipse.ecf.osgi.services.discovery.IHostDiscoveryListener;
-import org.eclipse.ecf.osgi.services.discovery.IProxyDiscoveryListener;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class Activator implements BundleActivator {
-
- public static final String PLUGIN_ID = "org.eclipse.ecf.osgi.services.discovery"; //$NON-NLS-1$
-
- private static final long DISCOVERY_TIMEOUT = 5000;
-
- private ServiceTracker servicePublicationTracker;
- private ServiceTracker locatorTracker;
- private ServiceTracker advertiserTracker;
- private ServiceTracker discoveredServiceTrackerTracker;
-
- private ServiceTracker logServiceTracker = null;
- private LogService logService = null;
-
- private BundleContext context;
- private static Activator plugin;
- private ServicePublicationHandler servicePublicationHandler;
-
- public static final Activator getDefault() {
- return plugin;
- }
-
- private ServiceTracker hostPublicationListenerTracker;
- private ServiceTracker proxyDiscoveredListenerTracker;
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
- * )
- */
- public void start(BundleContext ctxt) throws Exception {
- plugin = this;
- this.context = ctxt;
- servicePublicationHandler = new ServicePublicationHandler(getGUID());
-
- servicePublicationTracker = new ServiceTracker(context,
- ServicePublication.class.getName(), servicePublicationHandler);
- servicePublicationTracker.open();
-
- // register the discovery service which is provided by SPH
- // Dictionary props = new Hashtable();
- // props.put(Discovery.VENDOR_NAME, "Eclipse.org");
- // props.put(Discovery.PRODUCT_NAME, "ECF Discovery");
- // props.put(Discovery.PRODUCT_VERSION, "1.0.0");
- // props.put(Discovery.SUPPORTED_PROTOCOLS, "SLP|mDNS|DNS-SRV");
- // ctxt.registerService(Discovery.class.getName(),
- // servicePublicationHandler, props);
-
- locatorTracker = new ServiceTracker(this.context,
- IDiscoveryLocator.class.getName(),
- new LocatorTrackerCustomizer());
- locatorTracker.open();
- IDiscoveryLocator locator = (IDiscoveryLocator) locatorTracker
- .getService();
- if (locator != null) {
- locator.addServiceListener(servicePublicationHandler);
- }
- }
-
- private byte[] getGUID() throws UnsupportedEncodingException {
- final GUIDNamespace namespace = new GUID.GUIDNamespace();
- final GUID id = (GUID) namespace.createInstance(null);
- // convert to external form to avoid problems with illegal chars in
- // discovery providers (e.g. '=' is not allowed in SLP)
- return id.toExternalForm().getBytes("ASCII"); //$NON-NLS-1$
- }
-
- protected synchronized LogService getLogService() {
- if (this.context == null)
- return null;
- if (logServiceTracker == null) {
- logServiceTracker = new ServiceTracker(this.context,
- LogService.class.getName(), null);
- logServiceTracker.open();
- }
- logService = (LogService) logServiceTracker.getService();
- if (logService == null)
- logService = new SystemLogService(PLUGIN_ID);
- return logService;
- }
-
- public void log(IStatus status) {
- if (logService == null)
- logService = getLogService();
- if (logService != null)
- logService.log(null, LogHelper.getLogCode(status),
- LogHelper.getLogMessage(status), status.getException());
- }
-
- public void log(ServiceReference sr, IStatus status) {
- log(sr, LogHelper.getLogCode(status), LogHelper.getLogMessage(status),
- status.getException());
- }
-
- public void log(ServiceReference sr, int level, String message, Throwable t) {
- if (logService == null)
- logService = getLogService();
- if (logService != null)
- logService.log(sr, level, message, t);
- }
-
- BundleContext getContext() {
- return context;
- }
-
- public ServicePublicationHandler getServicePublicationHandler() {
- return servicePublicationHandler;
- }
-
- public synchronized IDiscoveryAdvertiser getAdvertiser()
- throws InterruptedException {
- if (this.context == null)
- return null;
- if (advertiserTracker == null) {
- advertiserTracker = new ServiceTracker(this.context,
- IDiscoveryAdvertiser.class.getName(), null);
- advertiserTracker.open();
- }
- return (IDiscoveryAdvertiser) advertiserTracker
- .waitForService(DISCOVERY_TIMEOUT);
- }
-
- public ServiceReference[] getDiscoveredServiceTrackerReferences() {
- if (discoveredServiceTrackerTracker == null) {
- discoveredServiceTrackerTracker = new ServiceTracker(this.context,
- DiscoveredServiceTracker.class.getName(), null);
- discoveredServiceTrackerTracker.open();
- }
- return discoveredServiceTrackerTracker.getServiceReferences();
- }
-
- public synchronized IHostDiscoveryListener[] getHostPublicationListeners() {
- if (this.context == null)
- return null;
- if (hostPublicationListenerTracker == null) {
- hostPublicationListenerTracker = new ServiceTracker(this.context,
- IHostDiscoveryListener.class.getName(), null);
- hostPublicationListenerTracker.open();
- }
- Object[] objs = hostPublicationListenerTracker.getServices();
- if (objs == null)
- return null;
- return (IHostDiscoveryListener[]) Arrays.asList(objs).toArray(
- new IHostDiscoveryListener[] {});
- }
-
- public synchronized IProxyDiscoveryListener[] getProxyDiscoveredListeners() {
- if (this.context == null)
- return null;
- if (proxyDiscoveredListenerTracker == null) {
- proxyDiscoveredListenerTracker = new ServiceTracker(this.context,
- IProxyDiscoveryListener.class.getName(), null);
- proxyDiscoveredListenerTracker.open();
- }
- Object[] objs = proxyDiscoveredListenerTracker.getServices();
- if (objs == null)
- return null;
- return (IProxyDiscoveryListener[]) Arrays.asList(objs).toArray(
- new IProxyDiscoveryListener[] {});
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- if (discoveredServiceTrackerTracker != null) {
- discoveredServiceTrackerTracker.close();
- discoveredServiceTrackerTracker = null;
- }
- if (locatorTracker != null) {
- locatorTracker.close();
- locatorTracker = null;
- }
- if (advertiserTracker != null) {
- advertiserTracker.close();
- advertiserTracker = null;
- }
- if (servicePublicationTracker != null) {
- servicePublicationTracker.close();
- servicePublicationTracker = null;
- }
- if (servicePublicationHandler != null) {
- servicePublicationHandler.dispose();
- servicePublicationHandler = null;
- }
- if (logServiceTracker != null) {
- logServiceTracker.close();
- logServiceTracker = null;
- logService = null;
- }
- if (hostPublicationListenerTracker != null) {
- hostPublicationListenerTracker.close();
- hostPublicationListenerTracker = null;
- }
- if (proxyDiscoveredListenerTracker != null) {
- proxyDiscoveredListenerTracker.close();
- proxyDiscoveredListenerTracker = null;
- }
- this.context = null;
- plugin = null;
- }
-
- private class LocatorTrackerCustomizer implements ServiceTrackerCustomizer {
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.
- * osgi.framework.ServiceReference)
- */
- public Object addingService(ServiceReference reference) {
- IDiscoveryLocator locator = (IDiscoveryLocator) context
- .getService(reference);
- if (locator != null)
- locator.addServiceListener(servicePublicationHandler);
- return locator;
- }
-
- public void modifiedService(ServiceReference reference, Object service) {
- }
-
- public void removedService(ServiceReference reference, Object service) {
- }
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/DiscoveredServiceNotificationImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/DiscoveredServiceNotificationImpl.java
deleted file mode 100644
index 49471d6a7..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/DiscoveredServiceNotificationImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import java.util.Collection;
-import java.util.Collections;
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification;
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-
-public class DiscoveredServiceNotificationImpl implements
- DiscoveredServiceNotification {
-
- private final int type;
- private ServiceEndpointDescription serviceEndpointDescription;
-
- public DiscoveredServiceNotificationImpl(int type, IServiceInfo serviceInfo) {
- this.type = type;
- this.serviceEndpointDescription = new RemoteServiceEndpointDescriptionImpl(
- serviceInfo);
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.osgi.service.discovery.DiscoveredServiceNotification#
- * getServiceEndpointDescription()
- */
- public ServiceEndpointDescription getServiceEndpointDescription() {
- return serviceEndpointDescription;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.osgi.service.discovery.DiscoveredServiceNotification#getType()
- */
- public int getType() {
- return type;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Object#toString()
- */
- public String toString() {
- StringBuffer sb = new StringBuffer("DiscoveredServiceNotificationImpl["); //$NON-NLS-1$
- sb.append("type=").append(getType()).append(";sed=").append( //$NON-NLS-1$ //$NON-NLS-2$
- getServiceEndpointDescription()).append("]"); //$NON-NLS-1$
- return sb.toString();
- }
-
- public Collection getFilters() {
- // XXX TODO
- return Collections.EMPTY_LIST;
- }
-
- public Collection getInterfaces() {
- // XXX TODO
- return Collections.EMPTY_LIST;
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/LogUtility.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/LogUtility.java
deleted file mode 100644
index 1dda0a40e..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/LogUtility.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ecf.core.util.Trace;
-
-public class LogUtility {
-
- public static void logError(String method, String message, Class clazz,
- Throwable t) {
- Activator.getDefault().log(
- new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR,
- method + ":" + message, t)); //$NON-NLS-1$
- String msg = method + ":" + message; //$NON-NLS-1$
- if (t == null) {
- Trace.trace(Activator.PLUGIN_ID, DebugOptions.EXCEPTIONS_CATCHING,
- msg);
- } else
- Trace.catching(Activator.PLUGIN_ID,
- DebugOptions.EXCEPTIONS_CATCHING, clazz, msg, t);
- }
-
- public static void logInfo(String method, String message, Class clazz,
- Throwable t) {
- Activator.getDefault().log(
- new Status(IStatus.INFO, Activator.PLUGIN_ID, IStatus.INFO,
- method + ":" + message, t)); //$NON-NLS-1$
- String msg = method + ":" + message; //$NON-NLS-1$
- if (t == null) {
- Trace.trace(Activator.PLUGIN_ID, DebugOptions.EXCEPTIONS_CATCHING,
- msg);
- } else
- Trace.catching(Activator.PLUGIN_ID,
- DebugOptions.EXCEPTIONS_CATCHING, clazz, msg, t);
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/RemoteServiceEndpointDescriptionImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/RemoteServiceEndpointDescriptionImpl.java
deleted file mode 100644
index b32fa6d70..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/RemoteServiceEndpointDescriptionImpl.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Markus Alexander Kuppe, Composent, 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:
- * Markus Alexander Kuppe (ecf-dev_eclipse.org <at> lemmster <dot> de) - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import java.net.URI;
-import java.util.Arrays;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.identity.IDCreateException;
-import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.eclipse.ecf.discovery.IServiceProperties;
-import org.eclipse.ecf.discovery.ServiceProperties;
-import org.eclipse.ecf.discovery.identity.IServiceID;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServicePublication;
-
-public class RemoteServiceEndpointDescriptionImpl extends
- RemoteServiceEndpointDescription {
-
- private final ID endpointId;
- private final IServiceID serviceId;
- private ID targetId = null;
- private int hashCode = 7;
-
- public RemoteServiceEndpointDescriptionImpl(IServiceInfo serviceInfo) {
- super(((ServiceProperties) serviceInfo.getServiceProperties())
- .asProperties());
- this.serviceId = serviceInfo.getServiceID();
-
- // create the endpoint id
- IServiceProperties serviceProperties = serviceInfo
- .getServiceProperties();
- final byte[] endpointBytes = serviceProperties
- .getPropertyBytes(RemoteServicePublication.ENDPOINT_CONTAINERID);
- if (endpointBytes == null)
- throw new IDCreateException(
- "ServiceEndpointDescription endpointBytes cannot be null"); //$NON-NLS-1$
- final String endpointStr = new String(endpointBytes);
- final String namespaceStr = serviceProperties
- .getPropertyString(RemoteServicePublication.ENDPOINT_CONTAINERID_NAMESPACE);
- if (namespaceStr == null) {
- throw new IDCreateException(
- "ServiceEndpointDescription namespaceStr cannot be null"); //$NON-NLS-1$
- }
- endpointId = IDFactory.getDefault().createID(namespaceStr, endpointStr);
-
- // create the target id, if it's there
- final byte[] targetBytes = serviceProperties
- .getPropertyBytes(RemoteServicePublication.TARGET_CONTAINERID);
- // If this is null, we're ok with it
- if (targetBytes != null) {
- final String targetStr = new String(targetBytes);
- String targetNamespaceStr = serviceProperties
- .getPropertyString(RemoteServicePublication.TARGET_CONTAINERID_NAMESPACE);
- if (targetNamespaceStr == null)
- targetNamespaceStr = namespaceStr;
- targetId = IDFactory.getDefault().createID(targetNamespaceStr,
- targetStr);
- }
-
- // Get location and compute hashCode
- URI serviceLocation = this.serviceId.getLocation();
- long rsId = this.getRemoteServiceId();
- hashCode = 31 * hashCode + (int) (rsId ^ (rsId >>> 32));
- hashCode = 31 * hashCode + serviceLocation.hashCode();
- hashCode = 31 * hashCode + endpointId.hashCode();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ecf.osgi.services.discovery.RemoteServiceEndpointDescription
- * #getECFEndpointID()
- */
- public ID getEndpointAsID() throws IDCreateException {
- return endpointId;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ecf.osgi.services.discovery.RemoteServiceEndpointDescription
- * #getECFTargetID()
- */
- public ID getConnectTargetID() {
- return targetId;
- }
-
- public int hashCode() {
- return hashCode;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- RemoteServiceEndpointDescriptionImpl other = (RemoteServiceEndpointDescriptionImpl) obj;
- return this.serviceId.getLocation().equals(
- other.serviceId.getLocation())
- && getRemoteServiceId() == other.getRemoteServiceId()
- && endpointId.equals(other.getEndpointAsID());
- }
-
- public IServiceID getServiceID() {
- return serviceId;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer(
- "RemoteServiceEndpointDescriptionImpl["); //$NON-NLS-1$
- sb.append("svcInterfaces=").append(getProvidedInterfaces()); //$NON-NLS-1$
- String[] supportedConfigs = getSupportedConfigs();
- sb.append(";supportedConfigTypes=").append( //$NON-NLS-1$
- (supportedConfigs == null) ? "null" : Arrays.asList( //$NON-NLS-1$
- supportedConfigs).toString());
- String[] serviceIntents = getServiceIntents();
- sb.append(";serviceIntents=").append( //$NON-NLS-1$
- (serviceIntents == null) ? "null" : Arrays.asList( //$NON-NLS-1$
- serviceIntents).toString());
- sb.append(";location=").append(getLocation()); //$NON-NLS-1$
- sb.append(";remoteServiceId=").append(getRemoteServiceId()); //$NON-NLS-1$
- sb.append(";discoveryServiceID=").append(getServiceID()); //$NON-NLS-1$
- sb.append(";endpointID=").append(getEndpointID()); //$NON-NLS-1$
- sb.append(";endpointAsID=").append(getEndpointAsID()); //$NON-NLS-1$
- sb.append(";connectTargetID=").append(getConnectTargetID()); //$NON-NLS-1$
- sb.append(";remoteServicesFilter=").append(getRemoteServicesFilter()); //$NON-NLS-1$
- sb.append(";props=").append(getProperties()).append("]"); //$NON-NLS-1$ //$NON-NLS-2$
- return sb.toString();
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePropertyUtils.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePropertyUtils.java
deleted file mode 100644
index 1f6a90c66..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePropertyUtils.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.osgi.framework.ServiceReference;
-
-public class ServicePropertyUtils {
-
- public static final String PROTOCOL_SEPARATOR = ":"; //$NON-NLS-1$
- public static final String ENDPOINT_INTERFACE_NAME_SEPARATOR = PROTOCOL_SEPARATOR;
- public static final String INTERFACE_VERSION_SEPARATOR = ServicePublication.SEPARATOR;
-
- private static final String COLLECTION_SEPARATOR = ","; //$NON-NLS-1$
-
- public static Collection getCollectionProperty(ServiceReference sr,
- String propName) {
- if (sr == null || propName == null) {
- return null;
- }
- final Object val = sr.getProperty(propName);
- if (val == null || !(val instanceof Collection)) {
- return null;
- }
- return (Collection) val;
- }
-
- public static String getStringProperty(ServiceReference reference,
- String propKey) {
- if (reference == null || propKey == null) {
- return null;
- }
- final Object val = reference.getProperty(propKey);
- if (val == null || !(val instanceof String)) {
- return null;
- }
- return (String) val;
- }
-
- public static Map getMapProperty(ServiceReference reference,
- String propKeyServiceProperties) {
- if (reference == null || propKeyServiceProperties == null) {
- return null;
- }
- final Object val = reference.getProperty(propKeyServiceProperties);
- if (val == null || !(val instanceof Map)) {
- return null;
- }
- return (Map) val;
- }
-
- public static String createStringFromCollection(Collection svcInterfaces) {
- if (svcInterfaces == null) {
- return null;
- }
- final StringBuffer result = new StringBuffer();
- for (final Iterator i = svcInterfaces.iterator(); i.hasNext();) {
- final String item = (String) i.next();
- result.append(item);
- if (i.hasNext()) {
- result.append(COLLECTION_SEPARATOR);
- }
- }
- return result.toString();
- }
-
- public static Collection createCollectionFromString(String value) {
- if (value == null) {
- return null;
- }
- final StringTokenizer t = new StringTokenizer(value,
- COLLECTION_SEPARATOR);
- final List result = new ArrayList();
- while (t.hasMoreTokens()) {
- result.add(t.nextToken());
- }
- return result;
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePublicationHandler.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePublicationHandler.java
deleted file mode 100644
index a2923b016..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/internal/osgi/services/discovery/ServicePublicationHandler.java
+++ /dev/null
@@ -1,618 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.discovery;
-
-import java.io.Serializable;
-import java.net.InetAddress;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.identity.IDCreateException;
-import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.core.util.ECFRuntimeException;
-import org.eclipse.ecf.core.util.Trace;
-import org.eclipse.ecf.discovery.IDiscoveryAdvertiser;
-import org.eclipse.ecf.discovery.IServiceEvent;
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.eclipse.ecf.discovery.IServiceListener;
-import org.eclipse.ecf.discovery.IServiceProperties;
-import org.eclipse.ecf.discovery.ServiceInfo;
-import org.eclipse.ecf.discovery.ServiceProperties;
-import org.eclipse.ecf.discovery.identity.IServiceID;
-import org.eclipse.ecf.discovery.identity.IServiceTypeID;
-import org.eclipse.ecf.discovery.identity.ServiceIDFactory;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.eclipse.ecf.osgi.services.discovery.IHostDiscoveryListener;
-import org.eclipse.ecf.osgi.services.discovery.IProxyDiscoveryListener;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServicePublication;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.eclipse.ecf.remoteservice.Constants;
-import org.osgi.framework.ServiceReference;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-
-public class ServicePublicationHandler implements ServiceTrackerCustomizer,
- IServiceListener {
-
- private static final String DISCOVERY_IDENTIFIER = "org.eclipse.ecf.internal.discovery.id"; //$NON-NLS-1$
- private static final boolean allowLoopbackReferences = Boolean
- .getBoolean("org.eclipse.ecf.osgi.services.discovery.allowLoopbackReference"); //$NON-NLS-1$
- private final byte[] guid;
-
- private IDiscoveryAdvertiser advertiser;
- private final Map serviceInfos = Collections.synchronizedMap(new HashMap());
-
- public ServicePublicationHandler(byte[] aGuid) {
- guid = aGuid;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ecf.discovery.IServiceListener#serviceDiscovered(org.eclipse
- * .ecf.discovery.IServiceEvent)
- */
- public void serviceDiscovered(IServiceEvent event) {
- final IServiceInfo serviceInfo = event.getServiceInfo();
- final IServiceID serviceID = serviceInfo.getServiceID();
- trace("handleOSGIServiceDiscovered", " serviceInfo=" + serviceInfo); //$NON-NLS-1$ //$NON-NLS-2$
- if (matchServiceID(serviceID)) {
- if (isLoopbackReference(serviceInfo)) {
- logInfo("serviceDiscovered", //$NON-NLS-1$
- "ignoring loopback ServiceReference: " //$NON-NLS-1$
- + serviceID, null);
- return;
- }
- fireProxyDiscoveredUndiscovered(serviceInfo, true);
- trace("handleOSGIServiceDiscovered matched", " serviceInfo=" + serviceInfo); //$NON-NLS-1$ //$NON-NLS-2$
- DiscoveredServiceTracker[] discoveredTrackers = findMatchingDiscoveredServiceTrackers(serviceInfo);
- notifyDiscoveredServiceTrackers(discoveredTrackers, serviceInfo,
- true);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ecf.discovery.IServiceListener#serviceUndiscovered(org.eclipse
- * .ecf.discovery.IServiceEvent)
- */
- public void serviceUndiscovered(IServiceEvent event) {
- final IServiceInfo serviceInfo = event.getServiceInfo();
- final IServiceID serviceID = serviceInfo.getServiceID();
- if (matchServiceID(serviceID)) {
- if (isLoopbackReference(serviceInfo)) {
- logInfo("serviceUndiscovered", //$NON-NLS-1$
- "ignoring loopback ServiceReference: " //$NON-NLS-1$
- + serviceID, null);
- return;
- }
- fireProxyDiscoveredUndiscovered(serviceInfo, false);
- trace("handleOSGIServiceUndiscovered", " serviceInfo=" + serviceInfo); //$NON-NLS-1$ //$NON-NLS-2$
- DiscoveredServiceTracker[] discoveredTrackers = findMatchingDiscoveredServiceTrackers(serviceInfo);
- notifyDiscoveredServiceTrackers(discoveredTrackers, serviceInfo,
- false);
- }
- }
-
- private void notifyDiscoveredServiceTrackers(
- DiscoveredServiceTracker[] discoveredTrackers,
- IServiceInfo serviceInfo, boolean available) {
- if (discoveredTrackers != null) {
- for (int i = 0; i < discoveredTrackers.length; i++) {
- discoveredTrackers[i]
- .serviceChanged(new DiscoveredServiceNotificationImpl(
- (available ? DiscoveredServiceNotification.AVAILABLE
- : DiscoveredServiceNotification.UNAVAILABLE),
- serviceInfo));
- }
- }
- }
-
- private DiscoveredServiceTracker[] findMatchingDiscoveredServiceTrackers(
- IServiceInfo serviceInfo) {
- ServiceReference[] sourceTrackers = Activator.getDefault()
- .getDiscoveredServiceTrackerReferences();
- if (sourceTrackers == null)
- return null;
- List matchingTrackers = new ArrayList();
- for (int i = 0; i < sourceTrackers.length; i++) {
- if (matchWithDiscoveredServiceInfo(sourceTrackers[i], serviceInfo))
- matchingTrackers.add(Activator.getDefault().getContext()
- .getService(sourceTrackers[i]));
- }
- return (DiscoveredServiceTracker[]) matchingTrackers
- .toArray(new DiscoveredServiceTracker[] {});
- }
-
- private boolean matchWithDiscoveredServiceInfo(
- ServiceReference serviceReference, IServiceInfo serviceInfo) {
- // XXX for now match everything. See RFC119
- return true;
- }
-
- private boolean matchServiceID(IServiceID serviceId) {
- if (Arrays.asList(serviceId.getServiceTypeID().getServices()).contains(
- RemoteServicePublication.SERVICE_TYPE))
- return true;
- return false;
- }
-
- // returns true if the given service has been registered by this very
- // ServicePublicationHandler (same instance)
- private boolean isLoopbackReference(final IServiceInfo serviceInfo) {
- if (allowLoopbackReferences) {
- return false;
- }
- final byte[] aGuid = serviceInfo.getServiceProperties()
- .getPropertyBytes(DISCOVERY_IDENTIFIER);
- // backward compatibility
- if (aGuid == null) {
- return false;
- }
- return Arrays.equals(guid, aGuid);
- }
-
- private IServiceInfo addServiceInfo(ServiceReference sr, IServiceInfo si) {
- return (IServiceInfo) serviceInfos.put(sr, si);
- }
-
- private IServiceInfo removeServiceInfo(ServiceReference sr) {
- return (IServiceInfo) serviceInfos.remove(sr);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.util.tracker.ServiceTrackerCustomizer#addingService(org.osgi
- * .framework.ServiceReference)
- */
- public Object addingService(ServiceReference reference) {
- handleServicePublication(reference);
- return Activator.getDefault().getContext().getService(reference);
- }
-
- /**
- * @param reference
- */
- private void handleServicePublication(ServiceReference reference) {
-
- // Get required service RFC 119 property "service.interface", which
- // should be a
- // Collection of Strings
- Collection svcInterfaces = ServicePropertyUtils.getCollectionProperty(
- reference, ServicePublication.SERVICE_INTERFACE_NAME);
- // If it's not there, then we ignore this ServicePublication and return
- if (svcInterfaces == null) {
- logError(
- "handleServicePublication", //$NON-NLS-1$
- "ignoring " //$NON-NLS-1$
- + reference
- + ". ServicePublication.SERVICE_INTERFACE_NAME not set", //$NON-NLS-1$
- null);
- return;
- }
- IServiceProperties discoveryServiceProperties = new ServiceProperties();
-
- // set this identifier to filter out loobacks
- discoveryServiceProperties.setPropertyBytes(DISCOVERY_IDENTIFIER, guid);
-
- discoveryServiceProperties.setPropertyString(
- ServicePublication.SERVICE_INTERFACE_NAME,
- ServicePropertyUtils.createStringFromCollection(svcInterfaces));
-
- Collection configTypes = ServicePropertyUtils.getCollectionProperty(
- reference, RemoteServicePublication.ENDPOINT_SUPPORTED_CONFIGS);
- if (configTypes != null) {
- discoveryServiceProperties.setPropertyString(
- RemoteServicePublication.ENDPOINT_SUPPORTED_CONFIGS,
- ServicePropertyUtils
- .createStringFromCollection(configTypes));
- }
-
- Collection serviceIntents = ServicePropertyUtils.getCollectionProperty(
- reference, RemoteServicePublication.ENDPOINT_SERVICE_INTENTS);
- if (serviceIntents != null) {
- discoveryServiceProperties.setPropertyString(
- RemoteServicePublication.ENDPOINT_SERVICE_INTENTS,
- ServicePropertyUtils
- .createStringFromCollection(serviceIntents));
- }
-
- // We also use the optional RFC 119 property PROP_KEY_SERVICE_PROPERTIES
- Map servicePublicationServiceProperties = ServicePropertyUtils
- .getMapProperty(reference,
- ServicePublication.SERVICE_PROPERTIES);
- // Add them
- if (servicePublicationServiceProperties != null)
- addPropertiesToDiscoveryServiceProperties(
- discoveryServiceProperties,
- servicePublicationServiceProperties);
-
- // See EventHookImpl.getServicePublicationProperties()
- // Get and then serialize and set
- // RemoteServicePublication.ENDPOINT_CONTAINERID
- ID endpointContainerID = (ID) reference
- .getProperty(RemoteServicePublication.ENDPOINT_CONTAINERID);
- // This is required for ecf endpoints so if it's not found then it's an
- // error
- if (endpointContainerID == null) {
- logError(
- "handleServicePublication", //$NON-NLS-1$
- "ignoring " //$NON-NLS-1$
- + reference
- + ". RemoteServicePublication.ENDPOINT_CONTAINERID not set", //$NON-NLS-1$
- null);
- return;
- }
- // Add endpoint container id.toExternalForm().getBytes...so AS byte []
- discoveryServiceProperties.setPropertyBytes(
- RemoteServicePublication.ENDPOINT_CONTAINERID,
- endpointContainerID.toExternalForm().getBytes());
- // Add endpoint container id namespace name
- String endpointNamespace = endpointContainerID.getNamespace().getName();
- discoveryServiceProperties.setPropertyString(
- RemoteServicePublication.ENDPOINT_CONTAINERID_NAMESPACE,
- endpointNamespace);
-
- // See EventHookImpl.getServicePublicationProperties()
- // Get and then serialize and set
- // RemoteServicePublication.TARGET_CONTAINERID
- ID targetContainerID = (ID) reference
- .getProperty(RemoteServicePublication.TARGET_CONTAINERID);
- // the target ID is optional, so only add it if it's been added
- // via the EventHookImpl
- if (targetContainerID != null) {
- // Add endpoint container id.toExternalForm().getBytes...so AS byte
- // []
- discoveryServiceProperties.setPropertyBytes(
- RemoteServicePublication.TARGET_CONTAINERID,
- targetContainerID.toExternalForm().getBytes());
- String targetNamespace = targetContainerID.getNamespace().getName();
- discoveryServiceProperties.setPropertyString(
- RemoteServicePublication.TARGET_CONTAINERID_NAMESPACE,
- targetNamespace);
- }
-
- // add remote service namespace
- String rsnamespace = ServicePropertyUtils.getStringProperty(reference,
- Constants.SERVICE_NAMESPACE);
- if (rsnamespace != null)
- discoveryServiceProperties.setPropertyString(
- Constants.SERVICE_NAMESPACE, rsnamespace);
-
- // and remote service id
- final byte[] remoteServiceIDAsBytes = (byte[]) reference
- .getProperty(Constants.SERVICE_ID);
- if (remoteServiceIDAsBytes == null) {
- logInfo("handleServicePublication", //$NON-NLS-1$
- "ignoring " //$NON-NLS-1$
- + reference
- + ". No " + Constants.SERVICE_ID + " property set on ServiceReference", //$NON-NLS-1$ //$NON-NLS-2$
- null);
- return;
- }
- discoveryServiceProperties.setPropertyBytes(Constants.SERVICE_ID,
- remoteServiceIDAsBytes);
-
- IDiscoveryAdvertiser advertiser2 = getAdvertiser();
- if (advertiser2 == null) {
- logInfo("handleServicePublication", //$NON-NLS-1$
- "ignoring " //$NON-NLS-1$
- + reference
- + ". No IDiscoveryAdvertiser available to handle this publication", //$NON-NLS-1$
- null);
- return;
- }
- Namespace advertiserNamespace = advertiser2.getServicesNamespace();
- IServiceInfo svcInfo = null;
- try {
- // Create service type ID
- IServiceTypeID serviceTypeID = createServiceTypeID(
- servicePublicationServiceProperties, advertiserNamespace);
- // First create unique default name
- String defaultServiceName = createUniqueDefaultServiceName();
- // Allow value of service property 'ecf.sp.svcname' to override
- // default
- String serviceName = getPropertyWithDefault(
- servicePublicationServiceProperties,
- RemoteServicePublication.SERVICE_NAME, defaultServiceName);
- // Create service URI
- URI uri = createURI(endpointContainerID, "/" + serviceName); //$NON-NLS-1$
- // Create service info...in preparation for publication
- svcInfo = new ServiceInfo(uri, serviceName, serviceTypeID,
- discoveryServiceProperties);
-
- } catch (IDCreateException e) {
- logError("handleServicePublication", //$NON-NLS-1$
- "Exception creating serviceID", e); //$NON-NLS-1$
- return;
- } catch (URISyntaxException e) {
- logError("handleServicePublication", "Exception creating URI", e); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
-
- fireHostPublishUnpublish(reference, svcInfo, true);
-
- synchronized (serviceInfos) {
- try {
- trace("publishService", "publishing serviceReference=" //$NON-NLS-1$ //$NON-NLS-2$
- + reference + ", svcInfo=" + svcInfo); //$NON-NLS-1$
- advertiser2.registerService(svcInfo);
- addServiceInfo(reference, svcInfo);
- } catch (ECFRuntimeException e) {
- logError("publishService", "cannot register service", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- private String createUniqueDefaultServiceName() {
- return RemoteServicePublication.DEFAULT_SERVICE_NAME_PREFIX
- + IDFactory.getDefault().createGUID().getName();
- }
-
- private void fireHostPublishUnpublish(final ServiceReference reference,
- final IServiceInfo serviceInfo, final boolean publish) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IHostDiscoveryListener[] listeners = activator
- .getHostPublicationListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IHostDiscoveryListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "fireHostPublishUnpublish", //$NON-NLS-1$
- "Exception calling host discovery listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- if (publish)
- l.publish(reference, serviceInfo);
- else
- l.unpublish(reference, serviceInfo);
- }
- });
- }
- }
- }
- }
-
- private void fireProxyDiscoveredUndiscovered(
- final IServiceInfo serviceInfo, final boolean discovered) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IProxyDiscoveryListener[] listeners = activator
- .getProxyDiscoveredListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IProxyDiscoveryListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "fireProxyDiscoveredUndiscovered", //$NON-NLS-1$
- "Exception calling proxy discovery listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- if (discovered)
- l.discovered(serviceInfo);
- else
- l.undiscovered(serviceInfo);
- }
- });
- }
- }
- }
- }
-
- private void logError(String method, String message, Throwable exception) {
- LogUtility.logError(method, message, this.getClass(), exception);
- }
-
- private void logInfo(String method, String message, Throwable exception) {
- LogUtility.logInfo(method, message, this.getClass(), exception);
- }
-
- private URI createURI(ID endpointContainerID, String path)
- throws URISyntaxException {
- URI uri = null;
- String str = endpointContainerID.getName();
- while (true) {
- try {
- uri = new URI(str);
- if (uri.getHost() != null) {
- break;
- } else {
- final String rawSchemeSpecificPart = uri
- .getRawSchemeSpecificPart();
- // make sure we break eventually
- if (str.equals(rawSchemeSpecificPart)) {
- uri = null;
- break;
- } else {
- str = rawSchemeSpecificPart;
- }
- }
- } catch (URISyntaxException e) {
- uri = null;
- break;
- }
- }
- String scheme = RemoteServicePublication.SERVICE_TYPE;
- int port = 32565;
- if (uri != null) {
- port = uri.getPort();
- if (port == -1)
- port = 32565;
- }
- String host = null;
- if (uri != null) {
- host = uri.getHost();
- } else {
- try {
- host = InetAddress.getLocalHost().getHostAddress();
- } catch (Exception e) {
- logInfo("createURI", //$NON-NLS-1$
- "failed to get local host adress, falling back to \'localhost\'.", e); //$NON-NLS-1$
- host = "localhost"; //$NON-NLS-1$
- }
- }
- return new URI(scheme, null, host, port, path, null, null);
- }
-
- private void addPropertiesToDiscoveryServiceProperties(
- IServiceProperties discoveryServiceProperties,
- Map servicePublicationServiceProperties) {
- for (Iterator i = servicePublicationServiceProperties.keySet()
- .iterator(); i.hasNext();) {
- Object key = i.next();
- if (!(key instanceof String)) {
- trace("addPropertiesToDiscoveryServiceProperties", //$NON-NLS-1$
- "skipping non-string key " + key); //$NON-NLS-1$
- continue;
- }
- String keyStr = (String) key;
- Object val = servicePublicationServiceProperties.get(keyStr);
- if (val instanceof String) {
- discoveryServiceProperties.setPropertyString(keyStr,
- (String) val);
- } else if (val instanceof byte[]) {
- discoveryServiceProperties.setPropertyBytes(keyStr,
- (byte[]) val);
- } else if (val instanceof Serializable) {
- discoveryServiceProperties.setProperty(keyStr, val);
- }
- }
- }
-
- private synchronized IDiscoveryAdvertiser getAdvertiser() {
- try {
- if (advertiser == null) {
- advertiser = Activator.getDefault().getAdvertiser();
- }
- } catch (InterruptedException e) {
- logError("getAdvertiser", "Cannot get IDiscoveryAdvertiser", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return advertiser;
- }
-
- private String getPropertyWithDefault(Map properties, String key, String def) {
- if (properties == null)
- return def;
- String val = (String) properties.get(key);
- return (val == null) ? def : val;
- }
-
- private String[] getStringArrayPropertyWithDefault(Map properties,
- String key, String def) {
- if (properties == null)
- return new String[] { def };
- Object o = properties.get(key);
- if (o instanceof String) {
- return new String[] { (String) o };
- } else if (o instanceof String[]) {
- return (String[]) o;
- } else
- return new String[] { def };
- }
-
- protected IServiceTypeID createServiceTypeID(
- Map servicePublicationProperties, Namespace aNamespace)
- throws IDCreateException {
- String namingAuthority = getPropertyWithDefault(
- servicePublicationProperties,
- RemoteServicePublication.NAMING_AUTHORITY,
- IServiceTypeID.DEFAULT_NA);
- String[] scopes = getStringArrayPropertyWithDefault(
- servicePublicationProperties, RemoteServicePublication.SCOPE,
- IServiceTypeID.DEFAULT_SCOPE[0]);
- String[] protocols = getStringArrayPropertyWithDefault(
- servicePublicationProperties,
- RemoteServicePublication.SERVICE_PROTOCOL,
- IServiceTypeID.DEFAULT_PROTO[0]);
-
- return ServiceIDFactory.getDefault().createServiceTypeID(aNamespace,
- new String[] { RemoteServicePublication.SERVICE_TYPE }, scopes,
- protocols, namingAuthority);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.util.tracker.ServiceTrackerCustomizer#modifiedService(org.osgi
- * .framework.ServiceReference, java.lang.Object)
- */
- public void modifiedService(ServiceReference reference, Object service) {
- unpublishService(reference);
- handleServicePublication(reference);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.util.tracker.ServiceTrackerCustomizer#removedService(org.osgi
- * .framework.ServiceReference, java.lang.Object)
- */
- public void removedService(ServiceReference reference, Object service) {
- unpublishService(reference);
- }
-
- private void unpublishService(ServiceReference reference) {
- IServiceInfo svcInfo = null;
- synchronized (serviceInfos) {
- try {
- svcInfo = removeServiceInfo(reference);
- if (svcInfo != null)
- getAdvertiser().unregisterService(svcInfo);
- } catch (ECFRuntimeException e) {
- logError("publishService", "Cannot unregister serviceInfo=" //$NON-NLS-1$ //$NON-NLS-2$
- + svcInfo, e);
- }
- }
- if (svcInfo != null)
- fireHostPublishUnpublish(reference, svcInfo, false);
- }
-
- protected void trace(String methodName, String message) {
- Trace.trace(Activator.PLUGIN_ID, DebugOptions.SVCPUBHANDLERDEBUG,
- this.getClass(), methodName, message);
- }
-
- public void dispose() {
- if (advertiser != null) {
- for (Iterator i = serviceInfos.keySet().iterator(); i.hasNext();) {
- ServiceReference sr = (ServiceReference) i.next();
- unpublishService(sr);
- }
- serviceInfos.clear();
- advertiser = null;
- }
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/AbstractDiscoveryListener.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/AbstractDiscoveryListener.java
deleted file mode 100644
index cdbf8061c..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/AbstractDiscoveryListener.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import java.util.Enumeration;
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.eclipse.ecf.discovery.IServiceProperties;
-import org.eclipse.ecf.discovery.identity.IServiceID;
-import org.eclipse.ecf.internal.osgi.services.discovery.Activator;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-
-public abstract class AbstractDiscoveryListener {
-
- protected int logLevel = LogService.LOG_INFO;
-
- public AbstractDiscoveryListener(int logLevel) {
- this.logLevel = logLevel;
- }
-
- public AbstractDiscoveryListener() {
- }
-
- protected int getLogLevel() {
- return logLevel;
- }
-
- protected void log(ServiceReference serviceReference, String message,
- Throwable t) {
- Activator a = Activator.getDefault();
- if (a == null)
- return;
- a.log(serviceReference, getLogLevel(), message, t);
- }
-
- protected String printServiceInfo(int tabLevel, IServiceInfo serviceInfo) {
- if (serviceInfo == null)
- return "null"; //$NON-NLS-1$
- StringBuffer sb = new StringBuffer(""); //$NON-NLS-1$
- sb.append(createTabs(tabLevel));
- sb.append("serviceInfo").append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
- printServicePropertyString(tabLevel + 1, "location", serviceInfo //$NON-NLS-1$
- .getLocation().toString(), sb, true);
- printServicePropertyString(tabLevel + 1, "serviceID", serviceInfo //$NON-NLS-1$
- .getServiceID().toExternalForm(), sb, true);
- printServicePropertyString(tabLevel + 1, "serviceName", //$NON-NLS-1$
- serviceInfo.getServiceName(), sb, true);
- printServicePropertyString(tabLevel + 1, "priority", //$NON-NLS-1$
- serviceInfo.getPriority() + "", sb, true); //$NON-NLS-1$
- printServicePropertyString(tabLevel + 1, "weight", //$NON-NLS-1$
- serviceInfo.getWeight() + "", sb, true); //$NON-NLS-1$
- sb.append(createTabs(tabLevel + 1))
- .append("discoveryServiceProperties") //$NON-NLS-1$
- .append("\n") //$NON-NLS-1$
- .append(printServiceProperties(tabLevel + 2,
- serviceInfo.getServiceProperties()));
- IServiceProperties serviceProperties = serviceInfo
- .getServiceProperties();
- if (serviceProperties != null) {
- sb.append(createTabs(tabLevel + 1));
- sb.append("osgiServiceProperties"); //$NON-NLS-1$
- sb.append("\n"); //$NON-NLS-1$
- sb.append(printServicePropertyString(tabLevel + 2,
- serviceProperties,
- ServicePublication.SERVICE_INTERFACE_NAME,
- "osgiServiceInterfaces")); //$NON-NLS-1$
- sb.append(printServicePropertyString(tabLevel + 2,
- serviceProperties,
- RemoteServicePublication.ENDPOINT_SUPPORTED_CONFIGS,
- "endpointSupportedConfigs")); //$NON-NLS-1$
- sb.append(printServicePropertyString(tabLevel + 2,
- serviceProperties,
- RemoteServicePublication.ENDPOINT_SERVICE_INTENTS,
- "endpointServiceIntents")); //$NON-NLS-1$
- sb.append(printServicePropertyBytes(tabLevel + 2,
- serviceProperties,
- RemoteServicePublication.ENDPOINT_CONTAINERID,
- "endpointContainerID")); //$NON-NLS-1$
- sb.append(printServicePropertyString(tabLevel + 2,
- serviceProperties,
- RemoteServicePublication.ENDPOINT_CONTAINERID_NAMESPACE,
- "endpointContainerIDNamespace")); //$NON-NLS-1$
- sb.append(printServicePropertyBytes(tabLevel + 2,
- serviceProperties, "ecf.rsvc.id", "remoteServiceID")); //$NON-NLS-1$ //$NON-NLS-2$
- sb.append(printServicePropertyString(tabLevel + 2,
- serviceProperties, "ecf.rsvc.ns", //$NON-NLS-1$
- "remoteServiceIDNamespace")); //$NON-NLS-1$
- }
-
- return sb.toString();
- }
-
- private void printServicePropertyString(int tabLevel, String propertyName,
- String propertyValue, StringBuffer sb, boolean newline) {
- if (propertyValue != null) {
- sb.append(createTabs(tabLevel)).append(propertyName);
- sb.append("="); //$NON-NLS-1$
- sb.append(propertyValue);
- if (newline)
- sb.append("\n"); //$NON-NLS-1$
- }
- }
-
- protected String printServicePropertyString(int tabLevel,
- IServiceProperties serviceProperties, String propertyName,
- String outputName) {
- StringBuffer sb = new StringBuffer();
- String propertyValue = serviceProperties
- .getPropertyString(propertyName);
- if (propertyValue != null)
- printServicePropertyString(tabLevel, outputName, propertyValue, sb,
- true);
- return sb.toString();
- }
-
- protected String printServicePropertyBytes(int tabLevel,
- IServiceProperties serviceProperties, String propertyName,
- String outputName) {
- byte[] propertyValue = serviceProperties.getPropertyBytes(propertyName);
- StringBuffer sb = new StringBuffer();
- if (propertyValue != null)
- printServicePropertyString(tabLevel, outputName, new String(
- propertyValue), sb, true);
- return sb.toString();
- }
-
- protected String printServiceID(IServiceID serviceID) {
- if (serviceID == null)
- return "null"; //$NON-NLS-1$
- return serviceID.toExternalForm();
- }
-
- protected String createTabs(int tabLevel) {
- StringBuffer sb = new StringBuffer(""); //$NON-NLS-1$
- for (int i = 0; i < tabLevel; i++) {
- sb.append("\t"); //$NON-NLS-1$
- }
- return sb.toString();
- }
-
- protected String printServiceProperties(int tabLevel,
- IServiceProperties serviceProperties) {
- if (serviceProperties == null)
- return "null"; //$NON-NLS-1$
- Enumeration enumeration = serviceProperties.getPropertyNames();
- StringBuffer sb = new StringBuffer(""); //$NON-NLS-1$
- if (enumeration != null) {
- for (Enumeration e = enumeration; e.hasMoreElements();) {
- String key = (String) e.nextElement();
- sb.append(createTabs(tabLevel));
- sb.append("name=").append(key).append(";"); //$NON-NLS-1$ //$NON-NLS-2$
- String stringValue = serviceProperties.getPropertyString(key);
- byte[] bytesValue = serviceProperties.getPropertyBytes(key);
- Object objectValue = serviceProperties.getProperty(key);
- if (stringValue != null)
- sb.append("value[String]=").append(stringValue); //$NON-NLS-1$
- if (bytesValue != null)
- sb.append("value[bytes]=").append(printBytes(bytesValue)); //$NON-NLS-1$
- if (objectValue != null && stringValue == null) {
- if (bytesValue != null)
- sb.append(","); //$NON-NLS-1$
- sb.append("value[Object]=").append(objectValue); //$NON-NLS-1$
- }
- sb.append("\n"); //$NON-NLS-1$
- }
- }
- return sb.toString();
- }
-
- protected String printBytes(byte[] bytesValue) {
- if (bytesValue == null)
- return "null"; //$NON-NLS-1$
- StringBuffer sb = new StringBuffer("["); //$NON-NLS-1$
- for (int i = 0; i < bytesValue.length; i++) {
- if (i > 0)
- sb.append(","); //$NON-NLS-1$
- sb.append(bytesValue[i]);
- }
- sb.append("]"); //$NON-NLS-1$
- return sb.toString();
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceNotification.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceNotification.java
deleted file mode 100644
index 0e1c99114..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceNotification.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import java.util.Collection;
-
-/**
- * Interface for notification on discovered services.
- * <p>
- * <code>DiscoveredServiceNotification</code> objects are immutable.
- *
- * @Immutable
- * @version $Revision: 1.2 $
- *
- * @deprecated This interface is deprecated because at the time of ECF
- * 3.0/Galileo release, it seems likely that this class will be
- * moved, or renamed, or undergo major changes after the release of
- * ECF 3.0. This deprecation is therefore intended as a notice to
- * consumers about these upcoming changes in the RFC119
- * specification, and the consequent changes to these OSGi-defined
- * classes.
- */
-public interface DiscoveredServiceNotification {
-
- /**
- * Notification indicating that a service matching the listening criteria
- * has been discovered.
- * <p>
- * The value of <code>AVAILABLE</code> is 0x00000001.
- */
- public final static int AVAILABLE = 0x00000001;
-
- /**
- * Notification indicating that the properties of a previously discovered
- * service have changed.
- * <p>
- * The value of <code>MODIFIED</code> is 0x00000002.
- */
- public final static int MODIFIED = 0x00000002;
-
- /**
- * Notification indicating that a previously discovered service is no longer
- * known to <code>Discovery</code>.
- * <p>
- * The value of <code>UNAVAILABLE</code> is 0x00000004.
- */
- public final static int UNAVAILABLE = 0x00000004;
-
- /**
- * Notification indicating that the properties of a previously discovered
- * service have changed and the new properties no longer match the
- * listener's filter.
- * <p>
- * The value of <code>MODIFIED_ENDMATCH</code> is 0x00000008.
- */
- public final static int MODIFIED_ENDMATCH = 0x00000008;
-
- /**
- * Returns information currently known to <code>Discovery</code> regarding
- * the service endpoint.
- *
- * @return metadata of the service <code>Discovery</code> notifies about. Is
- * never <code>null</code>.
- */
- ServiceEndpointDescription getServiceEndpointDescription();
-
- /**
- * Returns the type of notification. The type values are:
- * <ul>
- * <li>{@link #AVAILABLE}</li>
- * <li>{@link #MODIFIED}</li>
- * <li>{@link #MODIFIED_ENDMATCH}</li>
- * <li>{@link #UNAVAILABLE}</li>
- * </ul>
- *
- * @return Type of notification regarding known service metadata.
- */
- int getType();
-
- /**
- * Returns interface name criteria of the {@link DiscoveredServiceTracker}
- * object matching with the interfaces of the
- * <code>ServiceEndpointDescription</code> and thus caused the notification.
- *
- * @return <code>Collection (&lt;String&gt;)</code> of matching interface
- * name criteria of the <code>DiscoveredServiceTracker</code> object
- * being notified, or an empty collection if notification hasn't
- * been caused by a matching interface name criteria.
- */
- Collection/* <String> */getInterfaces();
-
- /**
- * Returns filters of the <code>DiscoveredServiceTracker</code> object
- * matching with the properties of the
- * <code>ServiceEndpointDescription</code> and thus caused the notification.
- *
- * @return <code>Collection (&lt;String&gt;)</code> of matching filters of
- * the <code>DiscoveredServiceTracker</code> object being notified,
- * or an empty collection if notification hasn't been caused by a
- * matching filter criteria.
- */
- Collection/* <String> */getFilters();
-} \ No newline at end of file
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceTracker.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceTracker.java
deleted file mode 100644
index fcc12d620..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/DiscoveredServiceTracker.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-/**
- * Interface of trackers for discovered remote services.
- * <p>
- * When a service implementing this interface is registered with the framework,
- * then <code>Discovery</code> will notify it about remote services matching one
- * of the provided criteria and will keep notifying it on changes of information
- * known to Discovery regarding this services.
- *
- * <code>Discovery</code> may deliver notifications on discovered services to a
- * <code>DiscoveredServiceTracker</code> out of order and may concurrently call
- * and/or reenter a <code>DiscoveredServiceTracker</code>.
- *
- * @ThreadSafe
- * @version $Revision: 1.2 $
- *
- * @deprecated This interface is deprecated because at the time of ECF
- * 3.0/Galileo release, it seems likely that this class will be
- * moved, or renamed, or undergo major changes after the release of
- * ECF 3.0. This deprecation is therefore intended as a notice to
- * consumers about these upcoming changes in the RFC119
- * specification, and the consequent changes to these OSGi-defined
- * classes.
- */
-public interface DiscoveredServiceTracker {
-
- /**
- * Optional ServiceRegistration property which contains service interfaces
- * this tracker is interested in.
- * <p>
- * Value of this property is of type
- * <code>Collection (&lt;String&gt;)</code>. May be <code>null</code> or
- * empty.
- */
- public static final String INTERFACE_MATCH_CRITERIA = "osgi.remote.discovery.interest.interfaces"; //$NON-NLS-1$
-
- /**
- * Optional ServiceRegistration property which contains filters for services
- * this tracker is interested in.
- * <p>
- * Note that these filters need to take into account service publication
- * properties which are not necessarily the same as properties under which a
- * service is registered. See {@link ServicePublication} for some standard
- * properties used to publish service metadata.
- * <p>
- * The following sample filter will make <code>Discovery</code> notify the
- * <code>DiscoveredServiceTracker</code> about services providing interface
- * 'my.company.foo' of version '1.0.1.3':
- * <code>"(&amp;(service.interface=my.company.foo)(service.interface.version=my.company.foo|1.0.1.3))"</code>.
- * <p>
- * Value of this property is of type
- * <code>Collection (&lt;String&gt;)</code>. May be <code>null</code>. or
- * empty
- */
- public static final String FILTER_MATCH_CRITERIA = "osgi.remote.discovery.interest.filters"; //$NON-NLS-1$
-
- /**
- * Receives notification that information known to <code>Discovery</code>
- * regarding a remote service has changed.
- * <p>
- * The tracker is only notified about remote services which fulfill the
- * matching criteria, either one of the interfaces or one of the filters,
- * provided as properties of this service.
- * <p>
- * If multiple criteria match, then the tracker is notified about each of
- * them. This can be done either by a single notification callback or by
- * multiple subsequent ones.
- *
- * @param notification
- * the <code>DiscoveredServiceNotification</code> object
- * describing the change. Is never <code>null</code>.
- */
- void serviceChanged(DiscoveredServiceNotification notification);
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IHostDiscoveryListener.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IHostDiscoveryListener.java
deleted file mode 100644
index 6e144eece..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IHostDiscoveryListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.osgi.framework.ServiceReference;
-
-public interface IHostDiscoveryListener {
-
- public void publish(ServiceReference publicationServiceReference,
- IServiceInfo serviceInfo);
-
- public void unpublish(ServiceReference publicationServiceReference,
- IServiceInfo serviceInfo);
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IProxyDiscoveryListener.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IProxyDiscoveryListener.java
deleted file mode 100644
index 312b27c89..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IProxyDiscoveryListener.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import org.eclipse.ecf.discovery.IServiceInfo;
-
-public interface IProxyDiscoveryListener {
-
- public void discovered(IServiceInfo serviceInfo);
-
- public void undiscovered(IServiceInfo serviceInfo);
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IRemoteServiceEndpointDescription.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IRemoteServiceEndpointDescription.java
deleted file mode 100644
index 2b8834e3d..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/IRemoteServiceEndpointDescription.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import java.util.Map;
-import org.eclipse.ecf.core.identity.ID;
-
-public interface IRemoteServiceEndpointDescription extends
- ServiceEndpointDescription {
-
- /**
- * Get the ECF endpoint ID (the ID of the endpoint that exposes the given
- * remote service). This ID must not be <code>null</code>.
- *
- * @return ID that is the ECF endpoint ID that exposes the service described
- * by this description.
- */
- public ID getEndpointAsID();
-
- /**
- * Get the ECF container target ID (the ID of the container that is the
- * target to connect to). This may return
- * <code>null<code>, meaning that no target
- * ID is available, and that the endpoint ID returned from {@link #getEndpointAsID()}
- * is also the target container ID. If not <code>null</code>, the ID
- * returned from this method may be used to connect to an intermediate
- * target via IContainer connect.
- *
- * @return ID that may be used by local IContainer to connect to remote
- * target.
- */
- public ID getConnectTargetID();
-
- /**
- * Get the ECF remote services filter string. May return <code>null</code>.
- *
- * @return String that is to be used as the filter for the call to
- * getRemoteServicesReferences(ID,interface,filter);
- */
- public String getRemoteServicesFilter();
-
- /**
- * Set the properties for this endpoint description. This allows clients to
- * examine and potentially change the service properties given by the
- * service host (and delivered via discovery), and potentially change them
- * via this method. The resulting properties will then be used in subsequent
- * processing of this service endpoint description.
- *
- * @param properties
- * the new set of properties. Must not be <code>null</code>.
- */
- public void setProperties(Map properties);
-
- /**
- * Get the remote service id for this service endpoint description.
- *
- * @return long remote service id for the remote service.
- */
- public long getRemoteServiceId();
-
- public String[] getSupportedConfigs();
-
- public String[] getServiceIntents();
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingHostDiscoveryListener.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingHostDiscoveryListener.java
deleted file mode 100644
index 887fbf148..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingHostDiscoveryListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import org.eclipse.ecf.discovery.IServiceInfo;
-import org.osgi.framework.ServiceReference;
-
-public class LoggingHostDiscoveryListener extends AbstractDiscoveryListener
- implements IHostDiscoveryListener {
-
- public LoggingHostDiscoveryListener(int logLevel) {
- super(logLevel);
- }
-
- public LoggingHostDiscoveryListener() {
- }
-
- public void publish(ServiceReference publicationServiceReference,
- IServiceInfo serviceInfo) {
- if (publicationServiceReference == null || serviceInfo == null)
- return;
- StringBuffer sb = new StringBuffer(
- "OSGi ECF service discovery: publish").append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
- sb.append(createTabs(1)).append("serviceReference=") //$NON-NLS-1$
- .append(publicationServiceReference).append("\n") //$NON-NLS-1$
- .append(printServiceInfo(1, serviceInfo));
- log(publicationServiceReference, sb.toString(), null);
- }
-
- public void unpublish(ServiceReference publicationServiceReference,
- IServiceInfo serviceInfo) {
- if (publicationServiceReference == null || serviceInfo == null)
- return;
- StringBuffer sb = new StringBuffer(
- "OSGi ECF service discovery: unpublish").append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
- sb.append(createTabs(1)).append("serviceReference=") //$NON-NLS-1$
- .append(publicationServiceReference).append("\n") //$NON-NLS-1$
- .append(printServiceInfo(1, serviceInfo));
- log(publicationServiceReference, sb.toString(), null);
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingProxyDiscoveryListener.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingProxyDiscoveryListener.java
deleted file mode 100644
index 245a80fc3..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/LoggingProxyDiscoveryListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import org.eclipse.ecf.discovery.IServiceInfo;
-
-public class LoggingProxyDiscoveryListener extends AbstractDiscoveryListener
- implements IProxyDiscoveryListener {
-
- public void discovered(IServiceInfo serviceInfo) {
- if (serviceInfo == null)
- return;
- StringBuffer sb = new StringBuffer(
- "OSGi ECF service discovery: remote service discovered") //$NON-NLS-1$
- .append("\n"); //$NON-NLS-1$
- sb.append(printServiceInfo(1, serviceInfo));
- log(null, sb.toString(), null);
- }
-
- public void undiscovered(IServiceInfo serviceInfo) {
- if (serviceInfo == null)
- return;
- StringBuffer sb = new StringBuffer(
- "OSGi ECF service discovery: remote service undiscovered") //$NON-NLS-1$
- .append("\n"); //$NON-NLS-1$
- sb.append(printServiceInfo(1, serviceInfo));
- log(null, sb.toString(), null);
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServiceEndpointDescription.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServiceEndpointDescription.java
deleted file mode 100644
index 0b5ede74c..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServiceEndpointDescription.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Map;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.discovery.identity.IServiceID;
-import org.eclipse.ecf.internal.osgi.services.discovery.Activator;
-import org.eclipse.ecf.internal.osgi.services.discovery.ServicePropertyUtils;
-
-public abstract class RemoteServiceEndpointDescription implements
- IRemoteServiceEndpointDescription {
-
- protected Map serviceProperties;
-
- public RemoteServiceEndpointDescription(Map properties) {
- this.serviceProperties = properties;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getEndpointID()
- */
- public String getEndpointID() {
- Object o = serviceProperties.get(ServicePublication.ENDPOINT_ID);
- if (o instanceof String) {
- return (String) o;
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.osgi.service.discovery.ServiceEndpointDescription#
- * getEndpointInterfaceName(java.lang.String)
- */
- public String getEndpointInterfaceName(String interfaceName) {
- if (interfaceName == null)
- return null;
- Object o = serviceProperties
- .get(ServicePublication.ENDPOINT_INTERFACE_NAME);
- if (o == null || !(o instanceof String)) {
- return null;
- }
- String intfNames = (String) o;
- Collection c = ServicePropertyUtils
- .createCollectionFromString(intfNames);
- if (c == null)
- return null;
- for (Iterator i = c.iterator(); i.hasNext();) {
- String intfName = (String) i.next();
- if (intfName != null && intfName.startsWith(interfaceName)) {
- // return just endpointInterfaceName
- return intfName
- .substring(
- intfName.length()
- + ServicePropertyUtils.ENDPOINT_INTERFACE_NAME_SEPARATOR
- .length()).trim();
- }
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.osgi.service.discovery.ServiceEndpointDescription#getLocation()
- */
- public URI getLocation() {
- Object o = serviceProperties.get(ServicePublication.ENDPOINT_LOCATION);
- if (o == null || !(o instanceof String)) {
- return null;
- }
- String uriExternalForm = (String) o;
- URI uri = null;
- try {
- uri = new URI(uriExternalForm);
- } catch (URISyntaxException e) {
- Activator
- .getDefault()
- .log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
- IStatus.ERROR, "Exception getting location URI", e));//$NON-NLS-1$
- }
- return uri;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getProperties()
- */
- public Map getProperties() {
- return serviceProperties;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getProperty(java
- * .lang.String)
- */
- public Object getProperty(String key) {
- return serviceProperties.get(key);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getPropertyKeys()
- */
- public Collection getPropertyKeys() {
- return serviceProperties.keySet();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getProvidedInterfaces
- * ()
- */
- public Collection getProvidedInterfaces() {
- Object o = serviceProperties
- .get(ServicePublication.SERVICE_INTERFACE_NAME);
- if (o == null || !(o instanceof String)) {
- throw new NullPointerException();
- }
- final String providedInterfacesStr = (String) o;
- return ServicePropertyUtils
- .createCollectionFromString(providedInterfacesStr);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.ServiceEndpointDescription#getVersion(java
- * .lang.String)
- */
- public String getVersion(String interfaceName) {
- Collection c = getProvidedInterfaces();
- if (c == null) {
- return null;
- }
- for (Iterator i = c.iterator(); i.hasNext();) {
- String intfName = (String) i.next();
- if (intfName != null && intfName.startsWith(interfaceName)) {
- // return just version string
- return intfName
- .substring(
- intfName.length()
- + ServicePropertyUtils.INTERFACE_VERSION_SEPARATOR
- .length()).trim();
- }
- }
- return null;
- }
-
- public long getRemoteServiceId() {
- byte[] remoteServiceIdAsBytes = (byte[]) serviceProperties
- .get(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID);
- if (remoteServiceIdAsBytes == null)
- return -1;
- else {
- Long remoteServiceId = new Long(new String(remoteServiceIdAsBytes));
- return remoteServiceId.longValue();
- }
- }
-
- public abstract ID getEndpointAsID();
-
- public abstract ID getConnectTargetID();
-
- public abstract IServiceID getServiceID();
-
- public String getRemoteServicesFilter() {
- Object o = serviceProperties
- .get(RemoteServicePublication.REMOTE_SERVICE_FILTER);
- if (o instanceof String)
- return (String) o;
- return null;
- }
-
- public void setProperties(Map props) {
- if (props != null)
- this.serviceProperties = props;
- }
-
- public String[] getSupportedConfigs() {
- Object o = serviceProperties
- .get(RemoteServicePublication.ENDPOINT_SUPPORTED_CONFIGS);
- if (o == null || !(o instanceof String))
- return null;
- Collection c = ServicePropertyUtils
- .createCollectionFromString((String) o);
- return (String[]) ((c == null) ? null : c.toArray(new String[] {}));
- }
-
- public String[] getServiceIntents() {
- Object o = serviceProperties
- .get(RemoteServicePublication.ENDPOINT_SERVICE_INTENTS);
- if (o == null || !(o instanceof String))
- return null;
- Collection c = ServicePropertyUtils
- .createCollectionFromString((String) o);
- return (String[]) ((c == null) ? null : c.toArray(new String[] {}));
- }
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServicePublication.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServicePublication.java
deleted file mode 100644
index 370fecef4..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/RemoteServicePublication.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-public interface RemoteServicePublication extends ServicePublication {
-
- /**
- * Discovery OSGi Service Type for publishing/discovering osgiservices
- */
- public static final String SERVICE_TYPE = "osgiservices"; //$NON-NLS-1$
- /**
- * Prefix for the default service name. The default service name will be the
- * DEFAULT_SERVICE_NAME_PREFIX+serviceID (long)
- */
- public static final String DEFAULT_SERVICE_NAME_PREFIX = "svc_"; //$NON-NLS-1$
-
- // Discovery service properties
-
- /**
- * Discovery service name property. If the specified service property is
- * non-null, the service name will override the default value, which is the
- * DEFAULT_SERVICE_NAME_PREFIX+serviceID as described above. The value
- * provided for this property must be of type String.
- */
- public static final String SERVICE_NAME = "ecf.sp.svcname"; //$NON-NLS-1$
- /**
- * Discovery naming authority property. If the specified serviceproperty is
- * non-null, the discovery naming authority will override the default value,
- * which is IServiceID#DEFAULT_NA ("iana"). The value provided for this
- * property must be of type String.
- */
- public static final String NAMING_AUTHORITY = "ecf.sp.namingauth"; //$NON-NLS-1$
- /**
- * Discovery scope property. If the specified service property is non-null,
- * the discovery scope will override the default value, which is
- * IServiceID#DEFAULT_SCOPE ("default"). The value provided for this
- * property must be of type String, which can be split into a String[] using
- * ';' as the delimiter (e.g. 'scope1;scope2;scope3').
- */
- public static final String SCOPE = "ecf.sp.scope"; //$NON-NLS-1$
- /**
- * Discovery protocol property. If the specified service property is
- * non-null, the discovery protocol will override the default value, which
- * is IServiceID#DEFAULT_PROTO ("tcp"). The value provided for this property
- * must be of type String, which can be split into a String[] using ';' as
- * the delimiter (e.g. 'proto1;proto1;proto1').
- */
- public static final String SERVICE_PROTOCOL = "ecf.sp.protocol"; //$NON-NLS-1$
- /**
- * Endpoint container ID property. The value for this property must be of
- * type byte[] which is a UTF-8 encoding of a String.
- */
- public static final String ENDPOINT_CONTAINERID = "ecf.sp.cid"; //$NON-NLS-1$
- /**
- * Endpoint container ID namespace property. The value provided for this
- * property must be of type String.
- */
- public static final String ENDPOINT_CONTAINERID_NAMESPACE = "ecf.sp.cns"; //$NON-NLS-1$
-
- public static final String ENDPOINT_SUPPORTED_CONFIGS = "ecf.sp.ect"; //$NON-NLS-1$
-
- public static final String ENDPOINT_SERVICE_INTENTS = "ecf.sp.esi"; //$NON-NLS-1$
-
- /**
- * Target container ID property. The value for this property must be of type
- * byte[] which is a UTF-8 encoding of a String.
- */
- public static final String TARGET_CONTAINERID = "ecf.sp.tid"; //$NON-NLS-1$
- /**
- * Target container ID namespace property. The value provided for this
- * property must be of type String.
- */
- public static final String TARGET_CONTAINERID_NAMESPACE = "ecf.sp.tns"; //$NON-NLS-1$
- /**
- * Client remote service filter property. The value provided for this
- * property must be of type String.
- */
- public static final String REMOTE_SERVICE_FILTER = "ecf.client.filter"; //$NON-NLS-1$
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServiceEndpointDescription.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServiceEndpointDescription.java
deleted file mode 100644
index 599b2f3c5..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServiceEndpointDescription.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * This interface describes an endpoint of a service. This class can be
- * considered as a wrapper around the property map of a published service and
- * its endpoint. It provides an API to conveniently access the most important
- * properties of the service.
- * <p>
- * <code>ServiceEndpointDescription</code> objects are immutable.
- *
- * @Immutable
- * @version $Revision: 1.2 $
- *
- * @deprecated This interface is deprecated because at the time of ECF
- * 3.0/Galileo release, it seems likely that this class will be
- * moved, or renamed, or undergo major changes after the release of
- * ECF 3.0. This deprecation is therefore intended as a notice to
- * consumers about these upcoming changes in the RFC119
- * specification, and the consequent changes to these OSGi-defined
- * classes.
- */
-public interface ServiceEndpointDescription {
-
- /**
- * Returns the value of the property with key
- * {@link ServicePublication#SERVICE_INTERFACE_NAME}.
- *
- * @return <code>Collection (&lt;String&gt;)</code> of service interface
- * names provided by the advertised service endpoint. The collection
- * is never <code>null</code> or empty but contains at least one
- * service interface.
- */
- Collection /* <String> */getProvidedInterfaces();
-
- /**
- * Returns non-Java endpoint interface name associated with the given
- * interface.
- * <p>
- * Value of the property with key
- * {@link ServicePublication#ENDPOINT_INTERFACE_NAME} is used by this
- * operation.
- *
- * @param interfaceName
- * for which its non-Java endpoint interface name should be
- * returned.
- * @return non-Java endpoint interface name, or <code>null</code> if it
- * hasn't been provided or if given interface name is
- * <code>null</code>.
- */
- String getEndpointInterfaceName(String interfaceName);
-
- /**
- * Returns version of the given interface.
- * <p>
- * Value of the property with key
- * {@link ServicePublication#SERVICE_INTERFACE_VERSION} is used by this
- * operation.
- *
- * @param interfaceName
- * for which its version should be returned.
- * @return Version of given service interface, or <code>null</code> if it
- * hasn't been provided or if given interface name is
- * <code>null</code>.
- */
- String getVersion(String interfaceName);
-
- /**
- * Returns the value of the property with key
- * {@link ServicePublication#ENDPOINT_LOCATION}.
- *
- * @return The url of the service location, or <code>null</code> if it
- * hasn't been provided.
- */
- URI getLocation();
-
- /**
- * Returns the value of the property with key
- * {@link ServicePublication#ENDPOINT_ID}.
- *
- * @return Unique id of service endpoint, or <code>null</code> if it hasn't
- * been provided.
- */
- String getEndpointID();
-
- /**
- * Getter method for the property value of a given key.
- *
- * @param key
- * Name of the property
- * @return The property value, or <code>null</code> if none is found for the
- * given key or if provided key is <code>null</code>.
- */
- Object getProperty(String key);
-
- /**
- * Returns all names of service endpoint properties.
- *
- * @return a <code>Collection (&lt;String&gt;)</code> of property names
- * available in the ServiceEndpointDescription. The collection is
- * never <code>null</code> or empty but contains at least names of
- * mandatory <code>ServicePublication</code> properties. Since
- * <code>ServiceEndpointDescription</code> objects are immutable,
- * the returned collection is also not going to be updated at a
- * later point of time.
- */
- Collection/* <String> */getPropertyKeys();
-
- /**
- * Returns all service endpoint properties.
- *
- * @return all properties of the service as a
- * <code>Map (&lt;String, Object&gt;)</code>. The map is never
- * <code>null</code> or empty but contains at least mandatory
- * <code>ServicePublication</code> properties. Since
- * <code>ServiceEndpointDescription</code> objects are immutable,
- * the returned map is also not going to be updated at a later point
- * of time.
- */
- Map/* <String, Object> */getProperties();
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServicePublication.java b/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServicePublication.java
deleted file mode 100644
index cf933d462..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.discovery/src/org/eclipse/ecf/osgi/services/discovery/ServicePublication.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.osgi.services.discovery;
-
-import org.osgi.framework.ServiceReference;
-
-/**
- * Register a service implementing the <code>ServicePublication</code> interface
- * in order to publish metadata of a particular service (endpoint) via
- * Discovery. Metadata which has to be published is given in form of properties
- * at registration.
- * <p>
- * In order to update published service metadata, update the properties
- * registered with the <code>ServicePublication</code> service. Depending on
- * Discovery's implementation and underlying protocol it may result in an update
- * or new re-publication of the service.
- * <p>
- * In order to unpublish the previously published service metadata, unregister
- * the <code>ServicePublication</code> service.
- * <p>
- * Please note that providing the {@link #SERVICE_INTERFACE_NAME} property is
- * mandatory when a <code>ServicePublication</code> service is registered. Note
- * also that a Discovery implementation may require provision of additional
- * properties, e.g. some of the standard properties defined below, or may make
- * special use of them in case they are provided. For example an SLP-based
- * Discovery might use the value provided with the {@link #ENDPOINT_LOCATION}
- * property for construction of a SLP-URL used to publish the service.
- * <p>
- * Also important is that it's not guaranteed that after registering a
- * <code>ServicePublication</code> object its service metadata is actually
- * published. Beside the fact that at least one Discovery service has to be
- * present, the provided properties have to be valid, e.g. shouldn't contain
- * case variants of the same key name, and the actual publication via Discovery
- * mechanisms has to succeed.
- *
- * @ThreadSafe
- * @version $Revision: 1.2 $
- *
- * @deprecated This interface is deprecated because at the time of ECF
- * 3.0/Galileo release, it seems likely that this class will be
- * moved, or renamed, or undergo major changes after the release of
- * ECF 3.0. This deprecation is therefore intended as a notice to
- * consumers about these upcoming changes in the RFC119
- * specification, and the consequent changes to these OSGi-defined
- * classes.
- */
-public interface ServicePublication {
-
- /**
- * Mandatory ServiceRegistration property which contains a collection of
- * full qualified interface names offered by the advertised service
- * endpoint.
- * <p>
- * Value of this property is of type
- * <code>Collection (&lt;String&gt;)</code>.
- */
- public static final String SERVICE_INTERFACE_NAME = "osgi.remote.service.interfaces"; //$NON-NLS-1$
-
- /**
- * Optional ServiceRegistration property which contains a collection of
- * interface names with their associated version attributes separated by
- * {@link #SEPARATOR} e.g. ["my.company.foo|1.3.5", "my.company.zoo|2.3.5"].
- * In case no version has been provided for an interface, Discovery may use
- * the String-value of <code>org.osgi.framework.Version.emptyVersion</code>
- * constant.
- * <p>
- * Value of this property is of type
- * <code>Collection (&lt;String&gt;)</code>, may be <code>null</code> or
- * empty.
- */
- public static final String SERVICE_INTERFACE_VERSION = "osgi.remote.service.interfaces.version"; //$NON-NLS-1$
-
- /**
- * Optional ServiceRegistration property which contains a collection of
- * interface names with their associated (non-Java) endpoint interface names
- * separated by {@link #SEPARATOR} e.g.:<br>
- * ["my.company.foo|MyWebService", "my.company.zoo|MyWebService"].
- * <p>
- * This (non-Java) endpoint interface name is usually a communication
- * protocol specific interface, for instance a web service interface name.
- * Though this information is usually contained in accompanying properties
- * e.g. a wsdl file, Discovery usually doesn't read and interprets such
- * service meta-data. Providing this information explicitly, might allow
- * external non-Java applications find services based on this endpoint
- * interface.
- * <p>
- * Value of this property is of type
- * <code>Collection (&lt;String&gt;)</code>, may be <code>null</code> or
- * empty.
- */
- public static final String ENDPOINT_INTERFACE_NAME = "osgi.remote.endpoint.interfaces"; //$NON-NLS-1$
-
- /**
- * Optional ServiceRegistration property which contains a map of properties
- * of the published service.
- * <p>
- * Property keys are handled in a case insensitive manner (as OSGi Framework
- * does).
- * <p>
- * Value of this property is of type <code>Map (String, Object)</code>, may
- * be <code>null</code> or empty.
- */
- public static final String SERVICE_PROPERTIES = "osgi.remote.discovery.publication.service.properties"; //$NON-NLS-1$
-
- /**
- * Optional property of the published service identifying its location. This
- * property is provided as part of the service property map referenced by
- * the {@link #SERVICE_PROPERTIES} ServiceRegistration property.
- * <p>
- * Value of this property is of type <code>java.net.URI</code>, may be
- * <code>null</code>.
- */
- public static final String ENDPOINT_LOCATION = "osgi.remote.endpoint.location"; //$NON-NLS-1$
-
- /**
- * Optional property of the published service uniquely identifying its
- * endpoint. This property is provided as part of the service property map
- * referenced by the {@link #SERVICE_PROPERTIES} ServiceRegistration
- * property.
- * <p>
- * Value of this property is of type <code>String</code>, may be
- * <code>null</code>.
- */
- public static final String ENDPOINT_ID = "osgi.remote.endpoint.id"; //$NON-NLS-1$
-
- /**
- * Separator constant for association of interface-specific values with the
- * particular interface name. See also {@link #SERVICE_INTERFACE_VERSION}
- * and {@link #ENDPOINT_INTERFACE_NAME} properties which describe such
- * interface-specific values.
- */
- public static final String SEPARATOR = "|"; //$NON-NLS-1$
-
- /**
- * Returns the <code>ServiceReference</code> this publication metadata is
- * associated with.
- *
- * @return the <code>ServiceReference</code> being published. Is never
- * <code>null</code>.
- */
- ServiceReference getReference();
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.classpath b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.classpath
index 6f3b481ac..d62b365d0 100644
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.classpath
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.settings/org.eclipse.jdt.core.prefs b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.settings/org.eclipse.jdt.core.prefs
index 3ec7cae15..4a864fa86 100644
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.settings/org.eclipse.jdt.core.prefs
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/.settings/org.eclipse.jdt.core.prefs
@@ -1,92 +1,93 @@
-#Wed Mar 03 16:26:11 PST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-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=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-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=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-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=ignore
-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=ignore
-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.unusedObjectAllocation=ignore
-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
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
+#Sun Feb 20 22:34:10 PST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+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.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+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=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+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=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+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=ignore
+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=ignore
+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.unusedObjectAllocation=ignore
+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
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/META-INF/MANIFEST.MF b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/META-INF/MANIFEST.MF
index 32a1cc308..3a6cffc67 100644
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/META-INF/MANIFEST.MF
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/META-INF/MANIFEST.MF
@@ -2,26 +2,20 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.ecf.osgi.services.distribution
-Bundle-Version: 1.3.0.qualifier
+Bundle-Version: 2.0.100.qualifier
Bundle-Activator: org.eclipse.ecf.internal.osgi.services.distribution.Activator
Bundle-Vendor: %pluginProvider
Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
J2SE-1.4
-Import-Package: org.eclipse.ecf.core,
- org.eclipse.ecf.core.identity,
- org.eclipse.ecf.core.security,
- org.eclipse.ecf.core.util,
- org.eclipse.ecf.discovery.identity,
- org.eclipse.ecf.osgi.services.discovery;version="1.0.0",
- org.eclipse.ecf.remoteservice,
- org.eclipse.ecf.remoteservice.events,
- org.eclipse.osgi.framework.eventmgr,
+Import-Package: org.eclipse.ecf.core.util,
org.osgi.framework;version="1.3.0",
- org.osgi.framework.hooks.service,
+ org.osgi.framework.hooks.service;version="1.0.0",
org.osgi.service.log;version="1.3.0",
+ org.osgi.service.remoteserviceadmin;version="5.0.0",
org.osgi.util.tracker
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
-Export-Package: org.eclipse.ecf.internal.osgi.services.distribution;version="1.1.0";x-internal:=true,
- org.eclipse.ecf.osgi.services.distribution;version="1.1.0";x-internal:=true
-Require-Bundle: org.eclipse.equinox.common
+Export-Package: org.eclipse.ecf.internal.osgi.services.distribution;version="2.0.0";x-internal:=true,
+ org.eclipse.ecf.osgi.services.distribution;version="2.0.0";x-internal:=true
+Require-Bundle: org.eclipse.equinox.common,
+ org.eclipse.ecf.osgi.services.remoteserviceadmin;bundle-version="1.0.0"
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/build.properties b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/build.properties
index 3e9666ed4..89b639e01 100644
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/build.properties
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/build.properties
@@ -3,7 +3,7 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
about.html,\
- plugin.properties,\
- .options
+ plugin.properties
src.includes = about.html
jre.compilation.profile = J2SE-1.4
+javacErrors.. = -assertIdentifier,-enumIdentifier
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java
index a3a3ec3cf..1a215f17c 100644
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/Activator.java
@@ -9,30 +9,12 @@
******************************************************************************/
package org.eclipse.ecf.internal.osgi.services.distribution;
-import java.util.Arrays;
-import java.util.Properties;
-import org.eclipse.core.runtime.IAdapterManager;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ecf.core.IContainerManager;
-import org.eclipse.ecf.core.identity.IIDFactory;
import org.eclipse.ecf.core.util.LogHelper;
-import org.eclipse.ecf.core.util.PlatformHelper;
import org.eclipse.ecf.core.util.SystemLogService;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.eclipse.ecf.osgi.services.distribution.DefaultHostContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.DefaultProxyContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants;
-import org.eclipse.ecf.osgi.services.distribution.IHostContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.IHostDistributionListener;
-import org.eclipse.ecf.osgi.services.distribution.IProxyContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.IProxyDistributionListener;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
-import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.framework.hooks.service.EventHook;
import org.osgi.service.log.LogService;
import org.osgi.util.tracker.ServiceTracker;
@@ -57,30 +39,10 @@ public class Activator implements BundleActivator {
private static Activator plugin;
private BundleContext context;
- private ServiceTracker containerManagerTracker;
-
- private DistributionProviderImpl distributionProvider;
-
- private ServiceRegistration eventHookRegistration;
-
- private ServiceRegistration discoveredServiceTrackerRegistration;
- private DiscoveredServiceTrackerImpl discoveredServiceTrackerImpl;
-
- private ServiceRegistration proxyrsContainerFinderRegistration;
- private ServiceRegistration hostrsContainerFinderRegistration;
-
private ServiceTracker logServiceTracker = null;
private LogService logService = null;
- private ServiceTracker adapterManagerTracker;
-
- private ServiceTracker proxyrsContainerFinder;
- private ServiceTracker hostrsContainerFinder;
-
- private ServiceTracker hostRegistrationListenerServiceTracker;
- private ServiceTracker proxyDistributionListenerServiceTracker;
-
- private ServiceTracker idFactoryTracker;
+ private BasicTopologyManager basicTopologyManager;
public static Activator getDefault() {
return plugin;
@@ -134,72 +96,9 @@ public class Activator implements BundleActivator {
public void start(final BundleContext ctxt) throws Exception {
plugin = this;
this.context = ctxt;
-
- // Create distribution provider impl
- this.distributionProvider = new DistributionProviderImpl();
- // Create discovered service tracker impl
- discoveredServiceTrackerImpl = new DiscoveredServiceTrackerImpl(
- this.distributionProvider);
- // Register discovered service tracker
- this.discoveredServiceTrackerRegistration = this.context
- .registerService(DiscoveredServiceTracker.class.getName(),
- discoveredServiceTrackerImpl, null);
-
- // Set service ranking to Integer.MIN_VALUE so that other impls
- // will be prefered over the default one
- final Properties proxyContainerFinderProps = new Properties();
- proxyContainerFinderProps.put(Constants.SERVICE_RANKING, new Integer(
- Integer.MIN_VALUE));
- // Register default proxy container finder
- this.proxyrsContainerFinderRegistration = this.context.registerService(
- IProxyContainerFinder.class.getName(),
- new DefaultProxyContainerFinder(autoCreateProxyContainer),
- proxyContainerFinderProps);
-
- // register the event hook to get informed when new services appear
- final EventHookImpl hook = new EventHookImpl(distributionProvider);
- this.eventHookRegistration = this.context.registerService(
- EventHook.class.getName(), hook, null);
-
- // register the default host container finder
- final Properties hostContainerFinderProps = new Properties();
- hostContainerFinderProps.put(Constants.SERVICE_RANKING, new Integer(
- Integer.MIN_VALUE));
-
- // If defaultHostConfigType is empty string or "null" then set to null
- String[] defaultHostConfigTypes = ("".equals(defaultHostConfigType) || "null".equals(defaultHostConfigType)) ? null : new String[] { defaultHostConfigType }; //$NON-NLS-1$ //$NON-NLS-2$
-
- this.hostrsContainerFinderRegistration = this.context.registerService(
- IHostContainerFinder.class.getName(),
- new DefaultHostContainerFinder(autoCreateHostContainer,
- defaultHostConfigTypes), hostContainerFinderProps);
-
- // register all existing services which have the marker property
- // http://bugs.eclipse.org/323208
- new Thread(new Runnable() {
- public void run() {
- registerExistingServices(hook, ctxt);
- }
- }, "Distribution Provider startup worker").start(); //$NON-NLS-1$
-
- }
-
- private void registerExistingServices(final EventHookImpl hook,
- final BundleContext bundleContext) {
- try {
- final ServiceReference[] refs = bundleContext.getServiceReferences(
- (String) null,
- "(" + IDistributionConstants.SERVICE_EXPORTED_INTERFACES //$NON-NLS-1$
- + "=*)"); //$NON-NLS-1$
- if (refs != null) {
- for (int i = 0; i < refs.length; i++) {
- hook.handleRegisteredServiceEvent(refs[i], null);
- }
- }
- } catch (InvalidSyntaxException e) {
- // not possible
- }
-
+ basicTopologyManager = new BasicTopologyManager(context);
+ // start topology manager first
+ basicTopologyManager.start();
}
/*
@@ -209,156 +108,19 @@ public class Activator implements BundleActivator {
* org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext ctxt) throws Exception {
- if (this.discoveredServiceTrackerRegistration != null) {
- this.discoveredServiceTrackerRegistration.unregister();
- this.discoveredServiceTrackerRegistration = null;
- }
- if (discoveredServiceTrackerImpl != null) {
- this.discoveredServiceTrackerImpl.close();
- this.discoveredServiceTrackerImpl = null;
- }
- if (this.proxyrsContainerFinderRegistration != null) {
- this.proxyrsContainerFinderRegistration.unregister();
- this.proxyrsContainerFinderRegistration = null;
- }
- if (this.eventHookRegistration != null) {
- this.eventHookRegistration.unregister();
- this.eventHookRegistration = null;
- }
- if (this.hostrsContainerFinderRegistration != null) {
- this.hostrsContainerFinderRegistration.unregister();
- this.hostrsContainerFinderRegistration = null;
- }
- if (containerManagerTracker != null) {
- containerManagerTracker.close();
- containerManagerTracker = null;
+ if (basicTopologyManager != null) {
+ basicTopologyManager.close();
+ basicTopologyManager = null;
}
if (logServiceTracker != null) {
logServiceTracker.close();
logServiceTracker = null;
logService = null;
}
- if (adapterManagerTracker != null) {
- adapterManagerTracker.close();
- adapterManagerTracker = null;
- }
- if (distributionProvider != null) {
- distributionProvider.dispose();
- distributionProvider = null;
- }
- if (proxyrsContainerFinder != null) {
- proxyrsContainerFinder.close();
- proxyrsContainerFinder = null;
- }
- if (hostRegistrationListenerServiceTracker != null) {
- hostRegistrationListenerServiceTracker.close();
- hostRegistrationListenerServiceTracker = null;
- }
- if (proxyDistributionListenerServiceTracker != null) {
- proxyDistributionListenerServiceTracker.close();
- proxyDistributionListenerServiceTracker = null;
- }
- if (idFactoryTracker != null) {
- idFactoryTracker.close();
- idFactoryTracker = null;
- }
synchronized (this) {
this.context = null;
}
plugin = null;
}
- public synchronized IContainerManager getContainerManager() {
- if (this.context == null)
- return null;
- if (containerManagerTracker == null) {
- containerManagerTracker = new ServiceTracker(this.context,
- IContainerManager.class.getName(), null);
- containerManagerTracker.open();
- }
- return (IContainerManager) containerManagerTracker.getService();
- }
-
- public synchronized IProxyContainerFinder getProxyRemoteServiceContainerFinder() {
- if (this.context == null)
- return null;
- if (proxyrsContainerFinder == null) {
- proxyrsContainerFinder = new ServiceTracker(this.context,
- IProxyContainerFinder.class.getName(), null);
- proxyrsContainerFinder.open();
- }
- return (IProxyContainerFinder) proxyrsContainerFinder.getService();
- }
-
- public synchronized IHostContainerFinder getHostRemoteServiceContainerFinder() {
- if (this.context == null)
- return null;
- if (hostrsContainerFinder == null) {
- hostrsContainerFinder = new ServiceTracker(this.context,
- IHostContainerFinder.class.getName(), null);
- hostrsContainerFinder.open();
- }
- return (IHostContainerFinder) hostrsContainerFinder.getService();
- }
-
- public synchronized IHostDistributionListener[] getHostRegistrationListeners() {
- if (this.context == null)
- return null;
- if (hostRegistrationListenerServiceTracker == null) {
- hostRegistrationListenerServiceTracker = new ServiceTracker(
- this.context, IHostDistributionListener.class.getName(),
- null);
- hostRegistrationListenerServiceTracker.open();
- }
- Object[] objs = hostRegistrationListenerServiceTracker.getServices();
- if (objs == null)
- return null;
- return (IHostDistributionListener[]) Arrays.asList(objs).toArray(
- new IHostDistributionListener[] {});
- }
-
- public synchronized IProxyDistributionListener[] getProxyDistributionListeners() {
- if (this.context == null)
- return null;
- if (proxyDistributionListenerServiceTracker == null) {
- proxyDistributionListenerServiceTracker = new ServiceTracker(
- this.context, IProxyDistributionListener.class.getName(),
- null);
- proxyDistributionListenerServiceTracker.open();
- }
- Object[] objs = proxyDistributionListenerServiceTracker.getServices();
- if (objs == null)
- return null;
- return (IProxyDistributionListener[]) Arrays.asList(objs).toArray(
- new IProxyDistributionListener[] {});
- }
-
- public synchronized IAdapterManager getAdapterManager() {
- if (this.context == null)
- return null;
- // First, try to get the adapter manager via
- if (adapterManagerTracker == null) {
- adapterManagerTracker = new ServiceTracker(this.context,
- IAdapterManager.class.getName(), null);
- adapterManagerTracker.open();
- }
- IAdapterManager adapterManager = (IAdapterManager) adapterManagerTracker
- .getService();
- // Then, if the service isn't there, try to get from Platform class via
- // PlatformHelper class
- if (adapterManager == null)
- adapterManager = PlatformHelper.getPlatformAdapterManager();
- return adapterManager;
- }
-
- public IIDFactory getIDFactory() {
- if (this.context == null)
- return null;
- if (idFactoryTracker == null) {
- idFactoryTracker = new ServiceTracker(this.context,
- IIDFactory.class.getName(), null);
- idFactoryTracker.open();
- }
- return (IIDFactory) idFactoryTracker.getService();
- }
}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/BasicTopologyManager.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/BasicTopologyManager.java
new file mode 100644
index 000000000..741fc230d
--- /dev/null
+++ b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/BasicTopologyManager.java
@@ -0,0 +1,158 @@
+package org.eclipse.ecf.internal.osgi.services.distribution;
+
+import java.util.Collection;
+import java.util.Dictionary;
+import java.util.Properties;
+import org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.framework.hooks.service.EventHook;
+import org.osgi.service.remoteserviceadmin.EndpointListener;
+
+public class BasicTopologyManager extends AbstractTopologyManager implements
+ EventHook, EndpointListener {
+
+ private static final boolean allowLoopbackReference = new Boolean(
+ System.getProperty(
+ "org.eclipse.ecf.osgi.services.discovery.allowLoopbackReference", //$NON-NLS-1$
+ "false")).booleanValue(); //$NON-NLS-1$
+
+ private static final String endpointListenerScope = System
+ .getProperty("org.eclipse.ecf.osgi.services.discovery.endpointListenerScope"); //$NON-NLS-1$
+
+ private boolean exportRegisteredSvcs = new Boolean(
+ System.getProperty(
+ "org.eclipse.ecf.osgi.services.basictopologymanager.exportRegisteredSvcs", "true")).booleanValue(); //$NON-NLS-1$ //$NON-NLS-2$
+
+ private String exportRegisteredSvcsClassname = System
+ .getProperty("org.eclipse.ecf.osgi.services.basictopologymanager.exportRegisteredSvcsClassname"); //$NON-NLS-1$
+
+ private String exportRegisteredSvcsFilter = System
+ .getProperty(
+ "org.eclipse.ecf.osgi.services.basictopologymanager.exportRegisteredSvcsFilter", "(service.exported.interfaces=*)"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ private ServiceRegistration endpointListenerRegistration;
+
+ private ServiceRegistration eventHookRegistration;
+
+ public BasicTopologyManager(BundleContext context) {
+ super(context);
+ }
+
+ public void setExportRegisteredSvcs(boolean val) {
+ this.exportRegisteredSvcs = val;
+ }
+
+ public void setExportRegisteredSvcsClassname(String classname) {
+ this.exportRegisteredSvcsClassname = classname;
+ }
+
+ public void setExportRegisteredSvcsFilter(String filter) {
+ this.exportRegisteredSvcsFilter = filter;
+ }
+
+ private String getEndpointListenerScope() {
+ // If it's set via system property, then simply use it
+ if (endpointListenerScope != null)
+ return endpointListenerScope;
+ // Otherwise create it
+ // if allowLoopbackReference is true, then return a filter to match all
+ // endpoint description ids
+ StringBuffer elScope = new StringBuffer("("); //$NON-NLS-1$
+ if (allowLoopbackReference) {
+ elScope.append(org.osgi.service.remoteserviceadmin.RemoteConstants.ENDPOINT_ID);
+ elScope.append("=*"); //$NON-NLS-1$
+ } else {
+ // filter so that local framework uuid is not the same as local
+ // value
+ elScope.append("!("); //$NON-NLS-1$
+ elScope.append(org.osgi.service.remoteserviceadmin.RemoteConstants.ENDPOINT_FRAMEWORK_UUID);
+ elScope.append("="); //$NON-NLS-1$
+ elScope.append(getFrameworkUUID());
+ elScope.append(")"); //$NON-NLS-1$
+ }
+ elScope.append(")"); //$NON-NLS-1$
+ String result = elScope.toString();
+ trace("getEndpointListenerScope", "endpointListenerScope=" + result); //$NON-NLS-1$ //$NON-NLS-2$
+ return result;
+ }
+
+ public void exportRegisteredServices(String exportRegisteredSvcsClassname,
+ String exportRegisteredSvcsFilter) {
+ ServiceReference[] existingServiceRefs = null;
+ try {
+ existingServiceRefs = getContext().getAllServiceReferences(
+ exportRegisteredSvcsClassname, exportRegisteredSvcsFilter);
+ } catch (InvalidSyntaxException e) {
+ logError(
+ "exportRegisteredServices", //$NON-NLS-1$
+ "Could not retrieve existing service references for exportRegisteredSvcsClassname=" //$NON-NLS-1$
+ + exportRegisteredSvcsClassname
+ + " and exportRegisteredSvcsFilter=" //$NON-NLS-1$
+ + exportRegisteredSvcsFilter, e);
+ }
+ // Now export as if the service was registering right now...i.e. perform
+ // export
+ if (existingServiceRefs != null)
+ for (int i = 0; i < existingServiceRefs.length; i++)
+ // This method will check the service properties for
+ // remote service props. If previously registered as a
+ // remote service, it will export the remote
+ // service if not it will simply return/skip
+ handleServiceRegistering(existingServiceRefs[i]);
+ }
+
+ public void start() throws Exception {
+
+ // Register as EndpointListener, so that it gets notified when Endpoints
+ // are discovered
+ Properties props = new Properties();
+ props.put(
+ org.osgi.service.remoteserviceadmin.EndpointListener.ENDPOINT_LISTENER_SCOPE,
+ getEndpointListenerScope());
+ endpointListenerRegistration = getContext().registerService(
+ EndpointListener.class.getName(), this, (Dictionary) props);
+
+ // Register as EventHook, so that we get notified when remote services
+ // are registered
+ eventHookRegistration = getContext().registerService(
+ EventHook.class.getName(), this, null);
+
+ // Lastly, export any previously registered remote services
+ if (exportRegisteredSvcs)
+ exportRegisteredServices(exportRegisteredSvcsClassname,
+ exportRegisteredSvcsFilter);
+ }
+
+ public void endpointAdded(
+ org.osgi.service.remoteserviceadmin.EndpointDescription endpoint,
+ String matchedFilter) {
+ handleEndpointAdded(endpoint, matchedFilter);
+ }
+
+ public void endpointRemoved(
+ org.osgi.service.remoteserviceadmin.EndpointDescription endpoint,
+ String matchedFilter) {
+ handleEndpointRemoved(endpoint, matchedFilter);
+ }
+
+ public void event(ServiceEvent event, Collection contexts) {
+ handleEvent(event, contexts);
+ }
+
+ public void close() {
+ if (eventHookRegistration != null) {
+ eventHookRegistration.unregister();
+ eventHookRegistration = null;
+ }
+ if (endpointListenerRegistration != null) {
+ endpointListenerRegistration.unregister();
+ endpointListenerRegistration = null;
+ }
+ super.close();
+ }
+
+}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DebugOptions.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DebugOptions.java
deleted file mode 100644
index 7699d079e..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DebugOptions.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.distribution;
-
-public interface DebugOptions {
-
- public static final String DEBUG = Activator.PLUGIN_ID + "/debug"; //$NON-NLS-1$
-
- public static final String EXCEPTIONS_CATCHING = DEBUG
- + "/exceptions/catching"; //$NON-NLS-1$
-
- public static final String EXCEPTIONS_THROWING = DEBUG
- + "/exceptions/throwing"; //$NON-NLS-1$
-
- public static final String METHODS_ENTERING = DEBUG + "/methods/entering"; //$NON-NLS-1$
-
- public static final String METHODS_EXITING = DEBUG + "/methods/exiting"; //$NON-NLS-1$
-
- public static final String EVENTHOOKDEBUG = DEBUG + "/eventhook"; //$NON-NLS-1$
-
- public static final String DISCOVEREDSERVICETRACKER = DEBUG
- + "/discoveredservicetracker"; //$NON-NLS-1$
-
- public static final String CONTAINERFINDER = DEBUG + "/containerfinder"; //$NON-NLS-1$
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java
deleted file mode 100644
index 03a78bc14..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DiscoveredServiceTrackerImpl.java
+++ /dev/null
@@ -1,834 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.distribution;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.ecf.core.ContainerConnectException;
-import org.eclipse.ecf.core.ContainerTypeDescription;
-import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.core.IContainerManager;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceNotification;
-import org.eclipse.ecf.osgi.services.discovery.DiscoveredServiceTracker;
-import org.eclipse.ecf.osgi.services.discovery.IRemoteServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServicePublication;
-import org.eclipse.ecf.osgi.services.discovery.ServiceEndpointDescription;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants;
-import org.eclipse.ecf.osgi.services.distribution.IProxyContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.IProxyDistributionListener;
-import org.eclipse.ecf.remoteservice.Constants;
-import org.eclipse.ecf.remoteservice.IRemoteService;
-import org.eclipse.ecf.remoteservice.IRemoteServiceContainer;
-import org.eclipse.ecf.remoteservice.IRemoteServiceListener;
-import org.eclipse.ecf.remoteservice.IRemoteServiceReference;
-import org.eclipse.ecf.remoteservice.events.IRemoteServiceEvent;
-import org.eclipse.ecf.remoteservice.events.IRemoteServiceUnregisteredEvent;
-import org.eclipse.osgi.framework.eventmgr.CopyOnWriteIdentityMap;
-import org.eclipse.osgi.framework.eventmgr.EventDispatcher;
-import org.eclipse.osgi.framework.eventmgr.EventManager;
-import org.eclipse.osgi.framework.eventmgr.ListenerQueue;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceRegistration;
-
-public class DiscoveredServiceTrackerImpl implements DiscoveredServiceTracker {
-
- private DistributionProviderImpl distributionProvider;
- private List serviceLocations = new ArrayList();
- // <Map<containerID><RemoteServiceRegistration>
- private Map discoveredRemoteServiceRegistrations = new HashMap();
- private List ecfRemoteServiceProperties = Arrays.asList(new String[] {
- Constants.SERVICE_ID, Constants.OBJECTCLASS,
- org.eclipse.ecf.remoteservice.Constants.SERVICE_ID,
- org.eclipse.ecf.remoteservice.Constants.SERVICE_CONTAINER_ID,
- org.eclipse.ecf.remoteservice.Constants.SERVICE_RANKING,
- IDistributionConstants.SERVICE_EXPORTED_CONFIGS,
- RemoteServicePublication.ENDPOINT_ID,
- RemoteServicePublication.ENDPOINT_INTERFACE_NAME,
- RemoteServicePublication.ENDPOINT_LOCATION,
- RemoteServicePublication.SERVICE_INTERFACE_NAME,
- RemoteServicePublication.SERVICE_INTERFACE_VERSION,
- RemoteServicePublication.SERVICE_PROPERTIES, "service.uri" }); //$NON-NLS-1$
- // queue for incoming remote service available events
- private ListenerQueue queue;
- private EventManager eventManager;
-
- // This class is to hold the discovered endpoint available events
- class DiscoveredEndpointEvent {
- private RemoteServiceEndpointDescription rsEndpointDescription;
-
- public DiscoveredEndpointEvent(
- RemoteServiceEndpointDescription rsEndpointDescription) {
- this.rsEndpointDescription = rsEndpointDescription;
- }
-
- public RemoteServiceEndpointDescription getEndpointDescription() {
- return rsEndpointDescription;
- }
- }
-
- public DiscoveredServiceTrackerImpl(DistributionProviderImpl dp) {
- this.distributionProvider = dp;
- ThreadGroup eventGroup = new ThreadGroup("Remote Service Dispatcher"); //$NON-NLS-1$
- eventGroup.setDaemon(true);
- eventManager = new EventManager("Remote Service Dispatcher", eventGroup); //$NON-NLS-1$
- queue = new ListenerQueue(eventManager);
- CopyOnWriteIdentityMap listeners = new CopyOnWriteIdentityMap();
- listeners.put(this, this);
- queue.queueListeners(listeners.entrySet(), new EventDispatcher() {
- public void dispatchEvent(Object eventListener,
- Object listenerObject, int eventAction, Object eventObject) {
- RemoteServiceEndpointDescription rsEndpointDescription = ((DiscoveredEndpointEvent) eventObject)
- .getEndpointDescription();
- try {
- handleDiscoveredServiceAvailable(rsEndpointDescription);
- } catch (Exception e) {
- logError("handleDiscoveredServiceAvailble", //$NON-NLS-1$
- "Unexpected exception with rsEndpointDescription=" //$NON-NLS-1$
- + rsEndpointDescription, e);
- throw new RuntimeException(
- "Unexpected exception with rsEndpointDescription=" //$NON-NLS-1$
- + rsEndpointDescription, e);
- }
- }
- });
- }
-
- public void close() {
- if (eventManager != null) {
- eventManager.close();
- eventManager = null;
- queue = null;
- }
- serviceLocations.clear();
- discoveredRemoteServiceRegistrations.clear();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.osgi.service.discovery.DiscoveredServiceTracker#serviceChanged(org
- * .osgi.service.discovery.DiscoveredServiceNotification)
- */
- public void serviceChanged(final DiscoveredServiceNotification notification) {
- if (notification == null)
- return;
- int notificationType = notification.getType();
- switch (notificationType) {
- case DiscoveredServiceNotification.AVAILABLE:
- RemoteServiceEndpointDescription adesc = null;
- try {
- // If the service endpoint description is not ECF's then we
- // don't process it
- adesc = getECFDescription(notification
- .getServiceEndpointDescription());
- } catch (Exception e) {
- logError("serviceChanged.AVAILABLE", //$NON-NLS-1$
- "Error creating ECF endpoint description", e); //$NON-NLS-1$
- return;
- }
- // If it's not for us then return
- if (adesc == null)
- return;
-
- if (!isValidDescription(adesc)) {
- trace("serviceChanged.AVAILABLE", //$NON-NLS-1$
- "Duplicate or invalid description=" + adesc); //$NON-NLS-1$
- return;
- }
- final RemoteServiceEndpointDescription rsEndpointDescription = adesc;
-
- // put in queue and execute asynchronously
- queue.dispatchEventAsynchronous(0, new DiscoveredEndpointEvent(
- rsEndpointDescription));
- break;
- case DiscoveredServiceNotification.UNAVAILABLE:
- try {
- RemoteServiceEndpointDescription udesc = getECFDescription(notification
- .getServiceEndpointDescription());
- // If it's not for us then return
- if (udesc == null)
- return;
-
- // Remove existing proxy service registrations that correspond
- // to the
- // given serviceID
- synchronized (serviceLocations) {
- ServiceRegistration[] proxyServiceRegistrations = removeProxyServiceRegistrations(udesc);
- // Then unregister them
- if (proxyServiceRegistrations != null) {
- for (int i = 0; i < proxyServiceRegistrations.length; i++) {
- trace("handleDiscoveredServiceUnavailable", //$NON-NLS-1$
- "proxyServiceRegistrations=" //$NON-NLS-1$
- + proxyServiceRegistrations[i]
- + ",serviceEndpointDesc=" + udesc); //$NON-NLS-1$
- unregisterProxyServiceRegistration(udesc,
- proxyServiceRegistrations[i]);
- }
- removeDiscoveredServiceID(udesc);
- }
- }
- } catch (Exception e) {
- logError("serviceChanged", "UNAVAILABLE", e); //$NON-NLS-1$ //$NON-NLS-2$
- }
- break;
- case DiscoveredServiceNotification.MODIFIED:
- // Do nothing for now
- break;
- case DiscoveredServiceNotification.MODIFIED_ENDMATCH:
- // Do nothing for now
- break;
- default:
- logWarning("serviceChanged", "DiscoveredServiceNotification type=" //$NON-NLS-1$ //$NON-NLS-2$
- + notificationType + " not found. Ignoring"); //$NON-NLS-1$
- break;
- }
- }
-
- private void handleDiscoveredServiceAvailable(
- RemoteServiceEndpointDescription endpointDescription) {
- // Find IRemoteServiceContainers for the given
- // RemoteServiceEndpointDescription via registered services
- IRemoteServiceContainer[] rsContainers = findProxyContainers(endpointDescription);
- // If none found, we have nothing to do
- if (rsContainers == null || rsContainers.length == 0) {
- logWarning("handleDiscoveredServiceAvailable", //$NON-NLS-1$
- "No local RemoteServiceContainers found for endpoint description=" //$NON-NLS-1$
- + endpointDescription);
- return;
- }
- // Get endpoint ID
- ID endpointID = endpointDescription.getEndpointAsID();
- // Get remote service filter from the service endpoint description
- // if it exists.
- String remoteServiceFilter = getFullRemoteServicesFilter(
- endpointDescription.getRemoteServicesFilter(),
- endpointDescription.getRemoteServiceId());
- // Get provided interfaces as collection
- Collection providedInterfaces = endpointDescription
- .getProvidedInterfaces();
- // Now for all remote service containers
- for (int i = 0; i < rsContainers.length; i++) {
- for (Iterator j = providedInterfaces.iterator(); j.hasNext();) {
- String providedInterface = (String) j.next();
- IRemoteServiceReference[] remoteReferences = null;
- // fire IProxyDistributionListeners pre get references
- firePreGetRemoteServiceReferences(endpointDescription,
- rsContainers[i]);
- try {
- // Get remote remote references for each container
- remoteReferences = rsContainers[i].getContainerAdapter()
- .getRemoteServiceReferences(endpointID,
- new ID[] { endpointID }, providedInterface,
- remoteServiceFilter);
- } catch (ContainerConnectException e) {
- logError("handleDiscoveredServiceAvailable", "rsca=" //$NON-NLS-1$ //$NON-NLS-2$
- + rsContainers[i] + ",endpointId=" + endpointID //$NON-NLS-1$
- + ",intf=" + providedInterface //$NON-NLS-1$
- + ". Connect error in getRemoteServiceReferences", //$NON-NLS-1$
- e);
- continue;
- } catch (InvalidSyntaxException e) {
- logError(
- "handleDiscoveredServiceAvailable", //$NON-NLS-1$
- "rsca=" //$NON-NLS-1$
- + rsContainers[i]
- + ",endpointId=" //$NON-NLS-1$
- + endpointID
- + ",intf=" //$NON-NLS-1$
- + providedInterface
- + " Filter syntax error in getRemoteServiceReferences", //$NON-NLS-1$
- e);
- continue;
- }
- if (remoteReferences == null || remoteReferences.length == 0) {
- logError("handleDiscoveredServiceAvailable", //$NON-NLS-1$
- "getRemoteServiceReferences result is empty. " //$NON-NLS-1$
- + "containerHelper=" //$NON-NLS-1$
- + rsContainers[i]
- + "remoteReferences=" //$NON-NLS-1$
- + ((remoteReferences == null) ? "null" //$NON-NLS-1$
- : Arrays.asList(remoteReferences)
- .toString()), null);
- continue;
- } else {
- registerRemoteServiceReferences(endpointDescription,
- rsContainers[i], remoteReferences);
- }
- }
- }
- }
-
- private String getFullRemoteServicesFilter(String remoteServicesFilter,
- long remoteServiceId) {
- if (remoteServiceId < 0)
- return remoteServicesFilter;
- StringBuffer filter = new StringBuffer("(&(") //$NON-NLS-1$
- .append(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID)
- .append("=").append(remoteServiceId).append(")"); //$NON-NLS-1$ //$NON-NLS-2$
- if (remoteServicesFilter != null)
- filter.append(remoteServicesFilter);
- filter.append(")"); //$NON-NLS-1$
- return filter.toString();
- }
-
- private void firePreGetRemoteServiceReferences(
- final IRemoteServiceEndpointDescription endpointDescription,
- final IRemoteServiceContainer remoteServiceContainer) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IProxyDistributionListener[] listeners = activator
- .getProxyDistributionListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IProxyDistributionListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "firePreGetRemoteServiceReferences", //$NON-NLS-1$
- "Exception calling proxy distribution listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- l.retrievingRemoteServiceReferences(
- endpointDescription, remoteServiceContainer);
- }
- });
- }
- }
- }
- }
-
- private void firePreRegister(
- final IRemoteServiceEndpointDescription endpointDescription,
- final IRemoteServiceContainer remoteServiceContainer,
- final IRemoteServiceReference remoteServiceReference) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IProxyDistributionListener[] listeners = activator
- .getProxyDistributionListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IProxyDistributionListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "firePreRegister", //$NON-NLS-1$
- "Exception calling proxy distribution listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- l.registering(endpointDescription,
- remoteServiceContainer,
- remoteServiceReference);
- }
- });
- }
- }
- }
- }
-
- private void firePostRegister(
- final IRemoteServiceEndpointDescription endpointDescription,
- final IRemoteServiceContainer remoteServiceContainer,
- final IRemoteServiceReference remoteServiceReference,
- final ServiceRegistration serviceRegistration) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IProxyDistributionListener[] listeners = activator
- .getProxyDistributionListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IProxyDistributionListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "firePreRegister", //$NON-NLS-1$
- "Exception calling proxy distribution listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- l.registered(endpointDescription,
- remoteServiceContainer,
- remoteServiceReference, serviceRegistration);
- }
- });
- }
- }
- }
- }
-
- private void fireUnregister(
- final IRemoteServiceEndpointDescription endpointDescription,
- final ServiceRegistration registration) {
- Activator activator = Activator.getDefault();
- if (activator != null) {
- IProxyDistributionListener[] listeners = activator
- .getProxyDistributionListeners();
- if (listeners != null) {
- for (int i = 0; i < listeners.length; i++) {
- final IProxyDistributionListener l = listeners[i];
- SafeRunner.run(new ISafeRunnable() {
- public void handleException(Throwable exception) {
- logError(
- "fireUnregister", //$NON-NLS-1$
- "Exception calling proxy distribution listener", //$NON-NLS-1$
- exception);
- }
-
- public void run() throws Exception {
- l.unregistered(endpointDescription, registration);
- }
- });
- }
- }
- }
- }
-
- private RemoteServiceEndpointDescription getECFDescription(
- ServiceEndpointDescription aServiceEndpointDesc) {
- RemoteServiceEndpointDescription ecfSED;
- if (!(aServiceEndpointDesc instanceof RemoteServiceEndpointDescription)) {
- ecfSED = (RemoteServiceEndpointDescription) Activator
- .getDefault()
- .getAdapterManager()
- .loadAdapter(aServiceEndpointDesc,
- RemoteServiceEndpointDescription.class.getName());
- } else
- ecfSED = (RemoteServiceEndpointDescription) aServiceEndpointDesc;
- return ecfSED;
- }
-
- private boolean findProxyServiceRegistration(
- RemoteServiceEndpointDescription sed) {
- synchronized (discoveredRemoteServiceRegistrations) {
- for (Iterator i = discoveredRemoteServiceRegistrations.keySet()
- .iterator(); i.hasNext();) {
- ID containerID = (ID) i.next();
- RemoteServiceRegistration reg = (RemoteServiceRegistration) discoveredRemoteServiceRegistrations
- .get(containerID);
- if (reg.hasRSED(sed))
- return true;
- }
- return false;
- }
- }
-
- private ServiceRegistration[] removeProxyServiceRegistrations(
- RemoteServiceEndpointDescription sed) {
- List results = new ArrayList();
- synchronized (discoveredRemoteServiceRegistrations) {
- final List containerIDsToRemove = new ArrayList();
- for (Iterator i = discoveredRemoteServiceRegistrations.keySet()
- .iterator(); i.hasNext();) {
- ID containerID = (ID) i.next();
- RemoteServiceRegistration reg = (RemoteServiceRegistration) discoveredRemoteServiceRegistrations
- .get(containerID);
- if (reg != null) {
- ServiceRegistration sr = reg.removeServiceRegistration(sed);
- if (sr != null)
- results.add(sr);
- if (reg.isEmpty()) {
- reg.dispose();
- containerIDsToRemove.add(containerID);
- }
- }
- }
- // Outside of the iterator, now remove any containerID found to
- // match
- for (Iterator i = containerIDsToRemove.iterator(); i.hasNext();) {
- discoveredRemoteServiceRegistrations.remove(i.next());
- }
- return (ServiceRegistration[]) results
- .toArray(new ServiceRegistration[] {});
- }
- }
-
- class RemoteServiceReferenceUnregisteredListener implements
- IRemoteServiceListener {
- public void handleServiceEvent(IRemoteServiceEvent event) {
- if (event instanceof IRemoteServiceUnregisteredEvent) {
- ID containerID = event.getContainerID();
- ID localContainerID = event.getLocalContainerID();
- IRemoteServiceReference reference = event.getReference();
- trace("handleRemoteServiceUnregisteredEvent", //$NON-NLS-1$
- "localContainerID=" + localContainerID //$NON-NLS-1$
- + ",containerID=" + containerID //$NON-NLS-1$
- + ",remoteReference=" + reference); //$NON-NLS-1$
- // Synchronize on serviceLocations so no other changes happen
- // while
- // this is going on...as it can be invoked by an arbitrary
- RemoteServiceRegistration.RSEDAndSRAssoc[] assocs = null;
- synchronized (serviceLocations) {
- synchronized (discoveredRemoteServiceRegistrations) {
- List containerIDsToRemove = new ArrayList();
- RemoteServiceRegistration rsRegs = (RemoteServiceRegistration) discoveredRemoteServiceRegistrations
- .get(localContainerID);
- // If we've got any remote service registrations for the
- // containerID
- if (rsRegs != null) {
- assocs = rsRegs
- .removeServiceRegistration(reference);
- // If this removes *all* references for this
- // registration
- if (rsRegs.isEmpty()) {
- rsRegs.dispose();
- containerIDsToRemove.add(localContainerID);
- }
- if (assocs != null) {
- for (int i = 0; i < assocs.length; i++) {
- removeDiscoveredServiceID(assocs[i]
- .getRSED());
- }
- }
- }
- for (Iterator i = containerIDsToRemove.iterator(); i
- .hasNext();) {
- discoveredRemoteServiceRegistrations.remove(i
- .next());
- }
- }
-
- }
- // Call this outside of synchronized block
- if (assocs != null) {
- for (int i = 0; i < assocs.length; i++) {
- ServiceRegistration sr = assocs[i].getSR();
- trace("handleRemoteServiceUnregisteredEvent.unregister", //$NON-NLS-1$
- "localContainerID=" //$NON-NLS-1$
- + localContainerID + ",containerID=" //$NON-NLS-1$
- + containerID + ",remoteReference=" //$NON-NLS-1$
- + reference + ",proxyServiceRegistrations=" //$NON-NLS-1$
- + sr);
- unregisterProxyServiceRegistration(assocs[i].getRSED(),
- sr);
- }
- }
- }
- }
- }
-
- private void unregisterProxyServiceRegistration(
- IRemoteServiceEndpointDescription endpointDescription,
- ServiceRegistration reg) {
- try {
- distributionProvider.removeRemoteService(reg.getReference());
- reg.unregister();
- } catch (IllegalStateException e) {
- // Ignore
- logWarning("unregisterProxyServiceRegistration", //$NON-NLS-1$
- "Exception unregistering serviceRegistration=" + reg); //$NON-NLS-1$
- } catch (Exception e) {
- logError("unregisterProxyServiceRegistration", //$NON-NLS-1$
- "Exception unregistering serviceRegistration=" + reg, e); //$NON-NLS-1$
- }
- fireUnregister(endpointDescription, reg);
- }
-
- private void registerRemoteServiceReferences(
- RemoteServiceEndpointDescription sed,
- IRemoteServiceContainer remoteServiceContainer,
- IRemoteServiceReference[] remoteReferences) {
-
- synchronized (serviceLocations) {
- // check to make sure that this serviceLocation
- // is still present
- if (!containsDiscoveredServiceID(sed)) {
- logError("registerRemoteServiceReferences", "serviceLocation=" //$NON-NLS-1$ //$NON-NLS-2$
- + sed + " no longer present", null); //$NON-NLS-1$
- return;
- }
- // check to make sure that the proxy service registry is not
- // already there
- if (findProxyServiceRegistration(sed)) {
- logError("registerRemoteServiceReferences", //$NON-NLS-1$
- "serviceEndpointDesc=" + sed //$NON-NLS-1$
- + " previously registered locally...ignoring", //$NON-NLS-1$
- null);
- return;
- }
- // Then get/setup remote service
- for (int i = 0; i < remoteReferences.length; i++) {
- // Get IRemoteService, used to create the proxy
- IRemoteService remoteService = remoteServiceContainer
- .getContainerAdapter().getRemoteService(
- remoteReferences[i]);
- // If no remote service then give up
- if (remoteService == null) {
- logError("registerRemoteServiceReferences", //$NON-NLS-1$
- "Remote service is null for remote reference " //$NON-NLS-1$
- + remoteReferences[i], null);
- continue;
- }
-
- // Get classes to register for remote service
- String[] clazzes = (String[]) remoteReferences[i]
- .getProperty(Constants.OBJECTCLASS);
- if (clazzes == null || clazzes.length == 0) {
- logError("registerRemoteServiceReferences", //$NON-NLS-1$
- "No classes specified for remote service reference " //$NON-NLS-1$
- + remoteReferences[i], null);
- continue;
- }
-
- // Get service properties for the proxy registration
- Dictionary properties = getPropertiesForRemoteService(sed,
- remoteServiceContainer, remoteReferences[i],
- remoteService);
-
- // Create proxy right here
- Object proxy = null;
- try {
- proxy = remoteService.getProxy();
- if (proxy == null) {
- logError("registerRemoteServiceReferences", //$NON-NLS-1$
- "Remote service proxy is null", null); //$NON-NLS-1$
- continue;
- }
- // Fire pre register notification fir
- // IProxyDistributionListener
- firePreRegister(sed, remoteServiceContainer,
- remoteReferences[i]);
- trace("registerRemoteServiceReferences", "rsca=" //$NON-NLS-1$ //$NON-NLS-2$
- + remoteServiceContainer + ",remoteReference=" //$NON-NLS-1$
- + remoteReferences[i]);
- // Actually register proxy here
- ServiceRegistration registration = Activator.getDefault()
- .getContext()
- .registerService(clazzes, proxy, properties);
-
- RemoteServiceRegistration reg = getProxyServiceRegistration(remoteServiceContainer);
- reg.addServiceRegistration(remoteReferences[i], sed,
- registration);
- // And add to distribution provider
- distributionProvider.addRemoteService(registration
- .getReference());
- trace("addLocalServiceRegistration.COMPLETE", //$NON-NLS-1$
- "containerHelper=" + remoteServiceContainer //$NON-NLS-1$
- + ",remoteServiceReference=" //$NON-NLS-1$
- + remoteReferences[i]
- + ",localServiceRegistration=" //$NON-NLS-1$
- + registration);
- // Fire IProxyDistributionListener to notify we're done
- firePostRegister(sed, remoteServiceContainer,
- remoteReferences[i], registration);
- } catch (Exception e) {
- logError("registerRemoteServiceReferences", //$NON-NLS-1$
- "Exception creating or registering remote reference " //$NON-NLS-1$
- + remoteReferences[i], e);
- continue;
- }
- }
- }
- }
-
- private RemoteServiceRegistration getProxyServiceRegistration(
- IRemoteServiceContainer rsContainer) {
- ID localContainerID = rsContainer.getContainer().getID();
- synchronized (discoveredRemoteServiceRegistrations) {
- RemoteServiceRegistration reg = (RemoteServiceRegistration) discoveredRemoteServiceRegistrations
- .get(localContainerID);
- // If there is none, then create one
- if (reg == null) {
- reg = new RemoteServiceRegistration(rsContainer,
- new RemoteServiceReferenceUnregisteredListener());
- discoveredRemoteServiceRegistrations.put(localContainerID, reg);
- }
- return reg;
- }
- }
-
- private boolean isRemoteServiceProperty(String propertyKey) {
- return ecfRemoteServiceProperties.contains(propertyKey);
- }
-
- private Dictionary getPropertiesForRemoteService(
- RemoteServiceEndpointDescription rsEndpointDescription,
- IRemoteServiceContainer rsContainer,
- IRemoteServiceReference rsReference, IRemoteService remoteService) {
-
- Properties props = new Properties();
- // Add the required 'service.imported' property, which for ECF rs
- // providers
- // exposes the IRemoteService
- props.put(IDistributionConstants.SERVICE_IMPORTED, remoteService);
-
- // Add service intents...if not null (optional property)
- String[] serviceIntents = rsEndpointDescription.getServiceIntents();
- if (serviceIntents != null)
- props.put(IDistributionConstants.SERVICE_INTENTS, serviceIntents);
-
- // Then add all other service properties
- String[] propKeys = rsReference.getPropertyKeys();
- for (int i = 0; i < propKeys.length; i++) {
- if (!isRemoteServiceProperty(propKeys[i])) {
- props.put(propKeys[i], rsReference.getProperty(propKeys[i]));
- }
- }
-
- // make the service identifiable by consumers
- // especially org.eclipse.ecf.remoteservice.ui.dosgi
- ID endpointId = (ID) rsReference
- .getProperty(org.eclipse.ecf.remoteservice.Constants.SERVICE_CONTAINER_ID);
- if (endpointId == null) {
- endpointId = rsEndpointDescription.getEndpointAsID();
- }
- final Long serviceId = (Long) rsReference
- .getProperty(org.eclipse.ecf.remoteservice.Constants.SERVICE_ID);
- props.put(ServicePublication.ENDPOINT_ID, endpointId.toExternalForm()
- + "#" + serviceId); //$NON-NLS-1$
-
- // finally add service.imported.configs
- addImportedConfigsProperties(
- getContainerTypeDescription(rsContainer.getContainer()),
- rsEndpointDescription.getSupportedConfigs(), props);
-
- return props;
- }
-
- private void addImportedConfigsProperties(
- ContainerTypeDescription containerTypeDescription,
- String[] remoteExportedConfigs, Dictionary exportedProperties) {
- if (containerTypeDescription == null)
- return;
- if (remoteExportedConfigs != null) {
- String[] importedConfigs = containerTypeDescription
- .getImportedConfigs(remoteExportedConfigs);
- if (importedConfigs != null) {
- // Add the service.imported.configs property
- exportedProperties.put(
- IDistributionConstants.SERVICE_IMPORTED_CONFIGS,
- importedConfigs);
- // First get any/all properties to add
- Dictionary localConfigProperties = containerTypeDescription
- .getPropertiesForImportedConfigs(importedConfigs,
- exportedProperties);
- if (localConfigProperties != null) {
- for (Enumeration e = localConfigProperties.keys(); e
- .hasMoreElements();) {
- String key = (String) e.nextElement();
- exportedProperties.put(key,
- localConfigProperties.get(key));
- }
- }
- }
- }
- }
-
- protected ContainerTypeDescription getContainerTypeDescription(
- IContainer container) {
- IContainerManager containerManager = getContainerManager();
- if (containerManager == null)
- return null;
- return containerManager.getContainerTypeDescription(container.getID());
- }
-
- protected IContainerManager getContainerManager() {
- Activator activator = Activator.getDefault();
- if (activator == null)
- return null;
- return activator.getContainerManager();
- }
-
- private boolean addDiscoveredServiceID(RemoteServiceEndpointDescription desc) {
- synchronized (serviceLocations) {
- return serviceLocations.add(desc);
- }
- }
-
- private boolean removeDiscoveredServiceID(
- RemoteServiceEndpointDescription desc) {
- synchronized (serviceLocations) {
- return serviceLocations.remove(desc);
- }
- }
-
- private boolean containsDiscoveredServiceID(
- RemoteServiceEndpointDescription desc) {
- synchronized (serviceLocations) {
- return serviceLocations.contains(desc);
- }
- }
-
- protected void trace(String methodName, String message) {
- LogUtility.trace(methodName, DebugOptions.DISCOVEREDSERVICETRACKER,
- this.getClass(), message);
- }
-
- protected void traceException(String methodName, String message, Throwable t) {
- LogUtility.traceException(methodName, DebugOptions.EXCEPTIONS_CATCHING,
- this.getClass(), message, t);
- }
-
- protected void logError(String methodName, String message, Throwable t) {
- LogUtility.logError(methodName, DebugOptions.DISCOVEREDSERVICETRACKER,
- this.getClass(), message, t);
- }
-
- protected void logError(String methodName, String message) {
- LogUtility.logError(methodName, DebugOptions.DISCOVEREDSERVICETRACKER,
- this.getClass(), message);
- }
-
- protected void logWarning(String methodName, String message) {
- LogUtility
- .logWarning(methodName, DebugOptions.DISCOVEREDSERVICETRACKER,
- this.getClass(), message);
- }
-
- private boolean isValidDescription(
- RemoteServiceEndpointDescription rsEndpointDescription) {
- if (rsEndpointDescription == null)
- return false;
- synchronized (serviceLocations) {
- if (containsDiscoveredServiceID(rsEndpointDescription)) {
- return false;
- } else {
- addDiscoveredServiceID(rsEndpointDescription);
- return true;
- }
- }
- }
-
- private IRemoteServiceContainer[] findProxyContainers(
- final RemoteServiceEndpointDescription rsEndpointDescription) {
- // Get activator
- Activator activator = Activator.getDefault();
- if (activator == null)
- return null;
- // Get finder (as service)
- IProxyContainerFinder finder = activator
- .getProxyRemoteServiceContainerFinder();
- if (finder == null) {
- logError("findRemoteServiceContainersViaService", //$NON-NLS-1$
- "No container finders available"); //$NON-NLS-1$
- return null;
- }
- return finder.findProxyContainers(rsEndpointDescription.getServiceID(),
- rsEndpointDescription);
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DistributionProviderImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DistributionProviderImpl.java
deleted file mode 100644
index c12545341..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/DistributionProviderImpl.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.distribution;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.ecf.core.ContainerTypeDescription;
-import org.eclipse.ecf.core.IContainerFactory;
-import org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter;
-import org.osgi.framework.ServiceReference;
-
-public class DistributionProviderImpl {
-
- public static Object VENDOR_NAME = "Eclipse Foundation"; //$NON-NLS-1$
- public static Object PRODUCT_NAME = "Eclipse Communication Framework (ECF)"; //$NON-NLS-1$
- public static Object PRODUCT_VERSION = "3.3"; //$NON-NLS-1$
-
- List exposedServices = Collections.synchronizedList(new ArrayList());
- List remoteServices = Collections.synchronizedList(new ArrayList());
-
- boolean addExposedService(ServiceReference sr) {
- if (sr == null)
- return false;
- return exposedServices.add(sr);
- }
-
- boolean addRemoteService(ServiceReference sr) {
- if (sr == null)
- return false;
- return remoteServices.add(sr);
- }
-
- boolean removeExposedService(ServiceReference sr) {
- if (sr == null)
- return false;
- return exposedServices.remove(sr);
- }
-
- boolean removeRemoteService(ServiceReference sr) {
- if (sr == null)
- return false;
- return remoteServices.remove(sr);
- }
-
- public Collection getExposedServices() {
- return exposedServices;
- }
-
- public Map getExposedProperties(ServiceReference sr) {
- Map result = new HashMap();
- if (sr == null)
- return result;
- // XXX todo... this is still left to implement
- return result;
- }
-
- public void dispose() {
- exposedServices.clear();
- remoteServices.clear();
- }
-
- public Collection getRemoteServices() {
- return remoteServices;
- }
-
- public Collection getSupportedIntents() {
- List result = new ArrayList();
- IContainerFactory containerFactory = Activator.getDefault()
- .getContainerManager().getContainerFactory();
- List containerDescriptions = containerFactory.getDescriptions();
- if (containerDescriptions != null) {
- for (Iterator i = containerDescriptions.iterator(); i.hasNext();) {
- ContainerTypeDescription ctd = (ContainerTypeDescription) i
- .next();
- String[] adapterTypes = ctd.getSupportedAdapterTypes();
- if (adapterTypes != null) {
- List at = Arrays.asList(adapterTypes);
- if (at.contains(IRemoteServiceContainerAdapter.class
- .getName())) {
- String[] intents = ctd.getSupportedIntents();
- if (intents != null) {
- for (int j = 0; j < intents.length; j++) {
- if (!result.contains(intents[j]))
- result.add(intents[j]);
- }
- }
- }
- }
- }
- }
- return result;
- }
-
-}
diff --git a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/EventHookImpl.java b/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/EventHookImpl.java
deleted file mode 100644
index 7729b3983..000000000
--- a/compendium/bundles/org.eclipse.ecf.osgi.services.distribution/src/org/eclipse/ecf/internal/osgi/services/distribution/EventHookImpl.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Composent, 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:
- * Composent, Inc. - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ecf.internal.osgi.services.distribution;
-
-import org.eclipse.ecf.remoteservice.IOSGiRemoteServiceContainerAdapter;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Dictionary;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ecf.core.ContainerTypeDescription;
-import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.core.IContainerManager;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.core.util.Trace;
-import org.eclipse.ecf.osgi.services.discovery.RemoteServicePublication;
-import org.eclipse.ecf.osgi.services.discovery.ServicePublication;
-import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants;
-import org.eclipse.ecf.osgi.services.distribution.IHostContainerFinder;
-import org.eclipse.ecf.osgi.services.distribution.IHostDistributionListener;
-import org.eclipse.ecf.remoteservice.Constants;
-import org.eclipse.ecf.remoteservice.IRemoteServiceContainer;
-import org.eclipse.ecf.remoteservice.IRemoteServiceContainerAdapter;
-import org.eclipse.ecf.remoteservice.IRemoteServiceRegistration;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceEvent;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.framework.hooks.service.EventHook;
-
-public class EventHookImpl implements EventHook {
-
- private final DistributionProviderImpl distributionProvider;
- private final Map srvRefToRemoteSrvRegistration = new HashMap();
- private final Map srvRefToServicePublicationRegistration = new HashMap();
-
- public EventHookImpl(DistributionProviderImpl distributionProvider) {
- this.distributionProvider = distributionProvider;
- }
-
- public void event(ServiceEvent event, Collection contexts) {
- switch (event.getType()) {
- case ServiceEvent.MODIFIED:
- handleModifiedServiceEvent(event.getServiceReference(), contexts);
- break;
- case ServiceEvent.MODIFIED_ENDMATCH:
- break;
- case ServiceEvent.REGISTERED:
- handleRegisteredServiceEvent(event.getServiceReference(), contexts);
- break;
- case ServiceEvent.UNREGISTERING:
- handleUnregisteringServiceEvent(event.getServiceReference(),
- contexts);
- break;
- default:
- break;
- }
- }
-
- private String[] getExportedConfigs(ServiceReference serviceReference) {
- return getStringArrayFromPropertyValue(serviceReference
- .getProperty(IDistributionConstants.SERVICE_EXPORTED_CONFIGS));
- }
-
- void handleRegisteredServiceEvent(ServiceReference serviceReference,
- Collection contexts) {
-
- // Using OSGI 4.2 Chap 13 Remote Services spec, get the specified remote
- // interfaces for the given service reference
- String[] exportedInterfaces = getExportedInterfaces(serviceReference);
- // If no remote interfaces set, then we don't do anything with it
- if (exportedInterfaces == null)
- return;
-
- // Get optional service property for exported configs
- String[] exportedConfigs = getExportedConfigs(serviceReference);
-
- // Get all intents (service.intents, service.exported.intents,
- // service.exported.intents.extra)
- String[] serviceIntents = getServiceIntents(serviceReference);
-
- // Now call out to find host remote service containers via
- // IHostContainerFinder service (service to allow extensibility
- // in matching to available ECF containers/providers
- IRemoteServiceContainer[] rsContainers = findHostContainers(
- serviceReference, exportedInterfaces, exportedConfigs,
- serviceIntents);
-
- if (rsContainers == null || rsContainers.length == 0) {
- LogUtility.logWarning(
- "handleRegisteredServiceEvent", //$NON-NLS-1$
- DebugOptions.EVENTHOOKDEBUG, this.getClass(),
- "No remote service containers found for serviceReference=" //$NON-NLS-1$
- + serviceReference + ". Service N