diff options
author | slewis | 2013-01-24 07:14:31 +0000 |
---|---|---|
committer | slewis | 2013-01-24 07:14:31 +0000 |
commit | 03d63de7cfcb1097491acc5038ab417aab7ec87e (patch) | |
tree | 33ad477e565e62e60e01f7b8488a8318684ed2e1 /tooling | |
parent | 74e4eded413a6ce5aa05ccb83fd2d46e5984c687 (diff) | |
download | org.eclipse.ecf-03d63de7cfcb1097491acc5038ab417aab7ec87e.tar.gz org.eclipse.ecf-03d63de7cfcb1097491acc5038ab417aab7ec87e.tar.xz org.eclipse.ecf-03d63de7cfcb1097491acc5038ab417aab7ec87e.zip |
Added new tooling plugin: org.eclipse.ecf.remoteservices.tooling.pde.
This plugin provides two new PDE pluginContent extensions, which show up
on the new plugin wizard under examples. Two new examples are added:
OSGi Remote Service Host, and OSGi Remote Service Consumer
Diffstat (limited to 'tooling')
22 files changed, 741 insertions, 0 deletions
diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.classpath b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.classpath new file mode 100644 index 000000000..ad32c83a7 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.classpath @@ -0,0 +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/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.project b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.project new file mode 100644 index 000000000..49f6ff6d4 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.ecf.remoteservices.tooling.pde</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/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.settings/org.eclipse.jdt.core.prefs b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..c537b6306 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/ECF Remote Service PDE Tooling.launch b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/ECF Remote Service PDE Tooling.launch new file mode 100644 index 000000000..aa0f3799d --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/ECF Remote Service PDE Tooling.launch @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench"> +<booleanAttribute key="append.args" value="true"/> +<booleanAttribute key="askclear" value="true"/> +<booleanAttribute key="automaticAdd" value="true"/> +<booleanAttribute key="automaticValidate" value="false"/> +<stringAttribute key="bootstrap" value=""/> +<stringAttribute key="checked" value="[NONE]"/> +<booleanAttribute key="clearConfig" value="false"/> +<booleanAttribute key="clearws" value="false"/> +<booleanAttribute key="clearwslog" value="false"/> +<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/ECF Remote Service PDE Tooling"/> +<booleanAttribute key="default" value="false"/> +<stringAttribute key="deselected_workspace_plugins" value="ch.ethz.iks.r_osgi.remote,ch.ethz.iks.slp,com.composent.simulation,com.twitter,edu.emory.mathcs.backport,org.apache.hadoop.zookeeper,org.apache.httpcomponents.httpclient,org.apache.httpcomponents.httpcore,org.apache.log4j,org.apache.ws.commons.util,org.apache.xmlrpc,org.eclipse.ecf.console,org.eclipse.ecf.datashare,org.eclipse.ecf.discovery.ui,org.eclipse.ecf.discovery.ui.browser,org.eclipse.ecf.discovery.ui.edit,org.eclipse.ecf.discovery.ui.model,org.eclipse.ecf.discovery.ui.properties,org.eclipse.ecf.discovery.ui.properties.tabbed,org.eclipse.ecf.discovery.ui.userinput,org.eclipse.ecf.doc,org.eclipse.ecf.docshare,org.eclipse.ecf.example.clients,org.eclipse.ecf.example.collab,org.eclipse.ecf.example.collab.editor,org.eclipse.ecf.examples.datashare.app,org.eclipse.ecf.examples.eventadmin.app,org.eclipse.ecf.examples.loadbalancing,org.eclipse.ecf.examples.loadbalancing.consumer,org.eclipse.ecf.examples.loadbalancing.ds.consumer,org.eclipse.ecf.examples.loadbalancing.server,org.eclipse.ecf.examples.loadbalancing.servicehost,org.eclipse.ecf.examples.provider.remoteservice,org.eclipse.ecf.examples.provider.trivial,org.eclipse.ecf.examples.remoteservice.restlet.hello,org.eclipse.ecf.examples.remoteservice.restlet.hello.consumer,org.eclipse.ecf.examples.remoteservice.restlet.hello.consumer.edef,org.eclipse.ecf.examples.remoteservice.restlet.hello.host,org.eclipse.ecf.examples.remoteservices.client,org.eclipse.ecf.examples.remoteservices.common,org.eclipse.ecf.examples.remoteservices.hello.consumer,org.eclipse.ecf.examples.remoteservices.hello.consumer.edef,org.eclipse.ecf.examples.remoteservices.hello.consumer.rs,org.eclipse.ecf.examples.remoteservices.hello.ds.consumer,org.eclipse.ecf.examples.remoteservices.hello.ds.host,org.eclipse.ecf.examples.remoteservices.hello.host,org.eclipse.ecf.examples.remoteservices.hello.host.rs,org.eclipse.ecf.examples.remoteservices.rest.rss,org.eclipse.ecf.examples.updatesite.client,org.eclipse.ecf.examples.updatesite.server,org.eclipse.ecf.filetransfer,org.eclipse.ecf.filetransfer.ui,org.eclipse.ecf.presence,org.eclipse.ecf.presence.bot,org.eclipse.ecf.presence.bot.kosmos,org.eclipse.ecf.presence.collab.ui,org.eclipse.ecf.presence.ui,org.eclipse.ecf.protocol.bittorrent,org.eclipse.ecf.protocol.msn,org.eclipse.ecf.provider.bittorrent,org.eclipse.ecf.provider.bittorrent.ui,org.eclipse.ecf.provider.datashare,org.eclipse.ecf.provider.datashare.nio,org.eclipse.ecf.provider.discovery,org.eclipse.ecf.provider.dnssd,org.eclipse.ecf.provider.endpointdescription.localdiscovery,org.eclipse.ecf.provider.filetransfer,org.eclipse.ecf.provider.filetransfer.efs,org.eclipse.ecf.provider.filetransfer.httpclient,org.eclipse.ecf.provider.filetransfer.httpclient.ssl,org.eclipse.ecf.provider.filetransfer.httpclient4,org.eclipse.ecf.provider.filetransfer.httpclient4.ssl,org.eclipse.ecf.provider.filetransfer.scp,org.eclipse.ecf.provider.filetransfer.ssl,org.eclipse.ecf.provider.irc,org.eclipse.ecf.provider.irc.bot,org.eclipse.ecf.provider.irc.ui,org.eclipse.ecf.provider.jslp,org.eclipse.ecf.provider.local,org.eclipse.ecf.provider.msn,org.eclipse.ecf.provider.msn.ui,org.eclipse.ecf.provider.r_osgi,org.eclipse.ecf.provider.restlet,org.eclipse.ecf.provider.rss,org.eclipse.ecf.provider.twitter,org.eclipse.ecf.provider.ui,org.eclipse.ecf.provider.xmpp,org.eclipse.ecf.provider.xmpp.datashare,org.eclipse.ecf.provider.xmpp.remoteservice,org.eclipse.ecf.provider.xmpp.ui,org.eclipse.ecf.provider.zookeeper,org.eclipse.ecf.remoteservice.apt.java6,org.eclipse.ecf.remoteservice.eventadmin,org.eclipse.ecf.remoteservice.rest,org.eclipse.ecf.remoteservice.rest.synd,org.eclipse.ecf.remoteservice.rpc,org.eclipse.ecf.remoteservice.soap,org.eclipse.ecf.remoteservice.tm.restlet,org.eclipse.ecf.remoteservice.ui,org.eclipse.ecf.remoteservice.ui.dosgi,org.eclipse.ecf.server,org.eclipse.ecf.server.generic,org.eclipse.ecf.ssl,org.eclipse.ecf.storage,org.eclipse.ecf.sync,org.eclipse.ecf.telephony.call,org.eclipse.ecf.telephony.call.ui,org.eclipse.ecf.tests,org.eclipse.ecf.tests.apache.httpclient.server,org.eclipse.ecf.tests.datashare,org.eclipse.ecf.tests.discovery,org.eclipse.ecf.tests.filetransfer,org.eclipse.ecf.tests.filetransfer.httpclient,org.eclipse.ecf.tests.filetransfer.httpclient4,org.eclipse.ecf.tests.filetransfer.httpserver,org.eclipse.ecf.tests.filetransfer.jreprovider,org.eclipse.ecf.tests.httpservice.util,org.eclipse.ecf.tests.osgi.services.distribution,org.eclipse.ecf.tests.osgi.services.distribution.generic,org.eclipse.ecf.tests.osgi.services.distribution.r-osgi,org.eclipse.ecf.tests.osgi.services.remoteserviceadmin,org.eclipse.ecf.tests.osgi.services.remoteserviceadmin.generic,org.eclipse.ecf.tests.presence,org.eclipse.ecf.tests.protocol.msn,org.eclipse.ecf.tests.provider.datashare.nio,org.eclipse.ecf.tests.provider.discovery,org.eclipse.ecf.tests.provider.dnssd,org.eclipse.ecf.tests.provider.filetransfer.efs,org.eclipse.ecf.tests.provider.filetransfer.scp,org.eclipse.ecf.tests.provider.filetransfer.xmpp,org.eclipse.ecf.tests.provider.jmdns,org.eclipse.ecf.tests.provider.jslp,org.eclipse.ecf.tests.provider.local,org.eclipse.ecf.tests.provider.xmpp,org.eclipse.ecf.tests.provider.zookeeper,org.eclipse.ecf.tests.remoteservice,org.eclipse.ecf.tests.remoteservice.generic,org.eclipse.ecf.tests.remoteservice.r-osgi,org.eclipse.ecf.tests.remoteservice.rest,org.eclipse.ecf.tests.remoteservice.rpc,org.eclipse.ecf.tests.server.generic,org.eclipse.ecf.tests.servicefactory,org.eclipse.ecf.tests.sharedobject,org.eclipse.ecf.tests.storage,org.eclipse.ecf.tests.sync,org.eclipse.ecf.ui,org.eclipse.ecf.ui.capabilities,org.eclipse.emf,org.eclipse.emf.common,org.eclipse.emf.common.ui,org.eclipse.emf.ecore,org.eclipse.emf.ecore.change,org.eclipse.emf.edit,org.eclipse.emf.edit.ui,org.eclipse.equinox.p2.artifact.repository,org.eclipse.equinox.p2.core,org.eclipse.equinox.p2.director,org.eclipse.equinox.p2.engine,org.eclipse.equinox.p2.metadata,org.eclipse.equinox.p2.metadata.repository,org.eclipse.equinox.transforms.xslt,org.eclipse.equinox.transforms.xslt.plugin,org.eclipse.help.base,org.eclipse.juno.tests,org.eclipse.juno.tools,org.eclipse.team.ecf.core,org.eclipse.team.ecf.ui,org.example.ecf,org.example.ecf.client,org.example.ecf.server,org.jdom,org.jivesoftware.smack,org.json,org.xbill.dns,test2"/> +<booleanAttribute key="includeOptional" value="true"/> +<stringAttribute key="location" value="${workspace_loc}/../runtime-ECFRemoteServicePDETooling"/> +<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/> +<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> +<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m"/> +<stringAttribute key="pde.version" value="3.3"/> +<stringAttribute key="product" value="org.eclipse.sdk.ide"/> +<stringAttribute key="selected_target_plugins" value="com.google.gson@default:default,com.ibm.icu@default:default,com.jcraft.jsch@default:default,com.sun.el@default:default,com.sun.syndication@default:default,javax.el@default:default,javax.servlet.jsp@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.jasper.glassfish@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.lucene@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.ui@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare.win32@default:default,org.eclipse.compare@default:default,org.eclipse.core.boot@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86_64@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.cvs@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ecf@default:default,org.eclipse.egit.core@default:default,org.eclipse.egit.doc@default:default,org.eclipse.egit.github.core@default:default,org.eclipse.egit.import@default:default,org.eclipse.egit.mylyn.ui@default:default,org.eclipse.egit.ui@default:default,org.eclipse.egit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher.win32.win32.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.transport.ecf@default:default,org.eclipse.equinox.p2.ui.importexport@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.help.appserver@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.help@default:default,org.eclipse.jdt.annotation@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jdt@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jgit.iplog@default:default,org.eclipse.jgit.pgm@default:default,org.eclipse.jgit.ui@default:default,org.eclipse.jgit@default:default,org.eclipse.jsch.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.mylyn.commons.core@default:default,org.eclipse.mylyn.commons.identity.core@default:default,org.eclipse.mylyn.commons.identity@default:default,org.eclipse.mylyn.commons.net@default:default,org.eclipse.mylyn.commons.notifications.core@default:default,org.eclipse.mylyn.commons.notifications.feed@default:default,org.eclipse.mylyn.commons.notifications.ui@default:default,org.eclipse.mylyn.commons.notifications@default:default,org.eclipse.mylyn.commons.repositories.core@default:default,org.eclipse.mylyn.commons.repositories.ui@default:default,org.eclipse.mylyn.commons.repositories@default:default,org.eclipse.mylyn.commons.screenshots@default:default,org.eclipse.mylyn.commons.team@default:default,org.eclipse.mylyn.commons.ui@default:default,org.eclipse.mylyn.commons.workbench@default:default,org.eclipse.mylyn.context.core@default:default,org.eclipse.mylyn.context.tasks.ui@default:default,org.eclipse.mylyn.context.ui@default:default,org.eclipse.mylyn.discovery.core@default:default,org.eclipse.mylyn.discovery.ui@default:default,org.eclipse.mylyn.github.core@default:default,org.eclipse.mylyn.github.doc@default:default,org.eclipse.mylyn.github.ui@default:default,org.eclipse.mylyn.monitor.core@default:default,org.eclipse.mylyn.monitor.ui@default:default,org.eclipse.mylyn.resources.ui@default:default,org.eclipse.mylyn.tasks.core@default:default,org.eclipse.mylyn.tasks.index.core@default:default,org.eclipse.mylyn.tasks.index.ui@default:default,org.eclipse.mylyn.tasks.search@default:default,org.eclipse.mylyn.tasks.ui@default:default,org.eclipse.mylyn.team.ui@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.pde.ui@default:default,org.eclipse.pde@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.platform@default:default,org.eclipse.rcp@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core.win32@default:false,org.eclipse.update.core@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.update.ui@default:default,org.hamcrest.core@default:default,org.jdom@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.junit4@default:default,org.kohsuke.args4j@default:default,org.objectweb.asm@default:default,org.osgi.compendium@default:default,org.osgi.core@default:default,org.restlet.ext.osgi@default:default,org.restlet.ext.servlet@default:default,org.restlet@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default"/> +<stringAttribute key="selected_workspace_plugins" value="com.sun.syndication@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.logging@default:default,org.eclipse.ecf.discovery@default:default,org.eclipse.ecf.examples.remoteservices.hello.consumer2@default:default,org.eclipse.ecf.examples.remoteservices.hello@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.osgi.services.distribution@default:default,org.eclipse.ecf.osgi.services.remoteserviceadmin.proxy@default:default,org.eclipse.ecf.osgi.services.remoteserviceadmin@default:default,org.eclipse.ecf.provider.jmdns@default:default,org.eclipse.ecf.provider.remoteservice@default:default,org.eclipse.ecf.provider@default:default,org.eclipse.ecf.remoteservice@default:default,org.eclipse.ecf.remoteservices.tooling.pde@default:default,org.eclipse.ecf.sharedobject@default:default,org.eclipse.ecf@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.osgi.services.remoteserviceadmin@default:default"/> +<booleanAttribute key="show_selected_only" value="false"/> +<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/> +<booleanAttribute key="tracing" value="false"/> +<booleanAttribute key="useCustomFeatures" value="false"/> +<booleanAttribute key="useDefaultConfig" value="true"/> +<booleanAttribute key="useDefaultConfigArea" value="true"/> +<booleanAttribute key="useProduct" value="true"/> +</launchConfiguration> diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/META-INF/MANIFEST.MF b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/META-INF/MANIFEST.MF new file mode 100644 index 000000000..9003585da --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %plugin.name +Bundle-SymbolicName: org.eclipse.ecf.remoteservices.tooling.pde;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: org.eclipse.ecf.remoteservices.internal.tooling.pde.Activator +Bundle-Vendor: %plugin.provider +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.pde.ui;bundle-version="3.7.1", + org.eclipse.core.resources;bundle-version="3.8.1" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Import-Package: org.eclipse.pde.core.plugin diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.class b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.class Binary files differnew file mode 100644 index 000000000..d954922c7 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.class diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.class b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.class Binary files differnew file mode 100644 index 000000000..8ff85daa9 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.class diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.class b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.class Binary files differnew file mode 100644 index 000000000..5572460e6 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.class diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.class b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.class Binary files differnew file mode 100644 index 000000000..277a08a89 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.class diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.class b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.class Binary files differnew file mode 100644 index 000000000..29ebc04b0 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/bin/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.class diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/build.properties b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/build.properties new file mode 100644 index 000000000..30b2fc40b --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newconsumer.gif b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newconsumer.gif Binary files differnew file mode 100644 index 000000000..ef2c5fd71 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newconsumer.gif diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newhost.gif b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newhost.gif Binary files differnew file mode 100644 index 000000000..6ef969084 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/icons/newhost.gif diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.properties b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.properties new file mode 100644 index 000000000..6430f9d99 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.properties @@ -0,0 +1,29 @@ +############################################################################ +# Copyright (c) 2013 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 +# +############################################################################ +plugin.name=ECF Remote Services PDE Tooling +plugin.provider=Eclipse.org - ECF + +pluginContent.helloHostService.name=OSGi Remote Service Host Example +pluginContent.helloHostService.description=\ +<p>This wizard creates and registers an <b>IHello</b> OSGi Remote Service.</p>\ +<p><b>Imports Used</b></p>\ +<li>org.osgi.framework</li>\ +<li>org.eclipse.ecf.osgi.services.distribution</li>\ +<li>org.eclipse.ecf.examples.remoteservices.hello</li> + +pluginContent.helloConsumerService.name=OSGi Remote Service Consumer Example +pluginContent.helloConsumerService.description=\ +<p>This wizard creates a ServiceTracker to discover <b>IHello</b> remote services.</p>\ +<p><b>Imports Used</b></p>\ +<li>org.osgi.framework</li>\ +<li>org.eclipse.ecf.osgi.services.distribution</li>\ +<li>org.eclipse.ecf.examples.remoteservices.hello</li> +<li>org.eclipse.ecf.remoteservice</li> +<li>org.eclipse.equinox.concurrent.future</li> +<li>org.osgi.util.tracker</li> diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.xml b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.xml new file mode 100644 index 000000000..3a3ff5e4a --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/plugin.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + <extension + point="org.eclipse.pde.ui.pluginContent"> + <wizard + class="org.eclipse.ecf.remoteservices.internal.tooling.pde.RemoteServiceHostExample1Wizard" + icon="icons/newhost.gif" + id="org.eclipse.ecf.remoteservices.tooling.pde.helloRemoteServiceHostExample1" + java="true" + name="%pluginContent.helloHostService.name" + pureOSGi="true" + rcp="false" + requiresActivator="true" + ui-content="false"> + <description> + %pluginContent.helloHostService.description + </description> + </wizard> + <wizard + class="org.eclipse.ecf.remoteservices.internal.tooling.pde.RemoteServiceConsumerExample1Wizard" + icon="icons/newconsumer.gif" + id="org.eclipse.ecf.remoteservices.tooling.pde.helloRemoteServiceConsumerExample1" + java="true" + name="%pluginContent.helloConsumerService.name" + pureOSGi="true" + rcp="false" + requiresActivator="true" + ui-content="false"> + <description> + %pluginContent.helloConsumerService.description + </description> + </wizard> + </extension> + +</plugin> diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.java new file mode 100644 index 000000000..358389113 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/Activator.java @@ -0,0 +1,50 @@ +package org.eclipse.ecf.remoteservices.internal.tooling.pde; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.ecf.remoteservices.tooling.pde"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.java new file mode 100644 index 000000000..7de6bc0cc --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Template.java @@ -0,0 +1,125 @@ +package org.eclipse.ecf.remoteservices.internal.tooling.pde; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Locale; +import java.util.ResourceBundle; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.pde.core.plugin.IPluginModelBase; +import org.eclipse.pde.core.plugin.IPluginReference; +import org.eclipse.pde.ui.IFieldData; +import org.eclipse.pde.ui.templates.OptionTemplateSection; +import org.osgi.framework.Bundle; + +public class RemoteServiceConsumerExample1Template extends OptionTemplateSection { + + private String packageName; + + public RemoteServiceConsumerExample1Template() { + setPageCount(1); + addOption("consumerName", "User Name", System.getProperty("user.name"), 0); + } + + public void addPages(Wizard wizard) { + WizardPage page = createPage(0, "org.eclipse.pde.doc.user.rcp_mail"); + page.setTitle("Hello Remote Service Consumer"); + page.setDescription("This template creates a Hello remote service consumer"); + wizard.addPage(page); + markPagesAdded(); + } + + public URL getTemplateLocation() { + Bundle b = Activator.getDefault().getBundle(); + String path = "/templates/"+getSectionId(); + URL url = b.getEntry(path); + if (url != null) + try { + return new URL(getInstallURL(), path); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + return null; + } + + public String getSectionId() { + return "helloRemoteServiceConsumerExample1"; //$NON-NLS-1$ + } + + protected void updateModel(IProgressMonitor monitor) { + setManifestHeader("Require-Bundle", "org.eclipse.equinox.common"); + } + + public String getUsedExtensionPoint() { + return null; + } + + public boolean isDependentOnParentWizard() { + return true; + } + + public int getNumberOfWorkUnits() { + return super.getNumberOfWorkUnits() + 1; + } + + public IPluginReference[] getDependencies(String schemaVersion) { + return new IPluginReference[0]; + } + + protected String getFormattedPackageName(String id) { + StringBuffer buffer = new StringBuffer(); + for (int i = 0; i < id.length(); i++) { + char ch = id.charAt(i); + if (buffer.length() == 0) { + if (Character.isJavaIdentifierStart(ch)) + buffer.append(Character.toLowerCase(ch)); + } else { + if (Character.isJavaIdentifierPart(ch) || ch == '.') + buffer.append(ch); + } + } + return buffer.toString().toLowerCase(Locale.ENGLISH); + } + + + protected void initializeFields(IFieldData data) { + // In a new project wizard, we don't know this yet - the + // model has not been created + String packageName = getFormattedPackageName(data.getId()); + initializeOption(KEY_PACKAGE_NAME, packageName); + this.packageName = getFormattedPackageName(data.getId()); + } + + public void initializeFields(IPluginModelBase model) { + String id = model.getPluginBase().getId(); + String packageName = getFormattedPackageName(id); + initializeOption(KEY_PACKAGE_NAME, packageName); + this.packageName = getFormattedPackageName(id); + } + + public String getStringOption(String name) { + if (name.equals(KEY_PACKAGE_NAME)) { + return packageName; + } + return super.getStringOption(name); + } + + @Override + public String[] getNewFiles() { + return new String[0]; + } + + @Override + protected URL getInstallURL() { + return Activator.getDefault().getBundle().getEntry("/"); + } + + @Override + protected ResourceBundle getPluginResourceBundle() { + return Platform.getResourceBundle(Activator.getDefault().getBundle()); + } + +} diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.java new file mode 100644 index 000000000..7f799a3d3 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceConsumerExample1Wizard.java @@ -0,0 +1,30 @@ +package org.eclipse.ecf.remoteservices.internal.tooling.pde; + +import org.eclipse.pde.core.plugin.IPluginReference; +import org.eclipse.pde.ui.IFieldData; +import org.eclipse.pde.ui.IPluginContentWizard; +import org.eclipse.pde.ui.templates.ITemplateSection; +import org.eclipse.pde.ui.templates.NewPluginTemplateWizard; + +public class RemoteServiceConsumerExample1Wizard extends NewPluginTemplateWizard implements + IPluginContentWizard { + + public void init(IFieldData data) { + super.init(data); + setWindowTitle("Remote Services Consumer Example Wizard"); + } + + public ITemplateSection[] createTemplateSections() { + return new ITemplateSection[] {new RemoteServiceConsumerExample1Template()}; + } + + public String[] getImportPackages() { + return new String[] { "org.eclipse.ecf.osgi.services.distribution","org.eclipse.ecf.examples.remoteservices.hello","org.osgi.util.tracker","org.eclipse.ecf.remoteservice","org.eclipse.equinox.concurrent.future" }; + } + + public IPluginReference[] getDependencies(String schemaVersion) { + return new IPluginReference[0]; + } + +} + diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.java new file mode 100644 index 000000000..b4dcbc8c0 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Template.java @@ -0,0 +1,125 @@ +package org.eclipse.ecf.remoteservices.internal.tooling.pde; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Locale; +import java.util.ResourceBundle; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.pde.core.plugin.IPluginModelBase; +import org.eclipse.pde.core.plugin.IPluginReference; +import org.eclipse.pde.ui.IFieldData; +import org.eclipse.pde.ui.templates.OptionTemplateSection; +import org.osgi.framework.Bundle; + +public class RemoteServiceHostExample1Template extends OptionTemplateSection { + + private String packageName; + + public RemoteServiceHostExample1Template() { + setPageCount(1); + addOption("containerType", "service.exported.configs", "ecf.generic.server", 0); + addOption("containerId", "ECF Generic Server URL", "ecftcp://localhost:3282/server", 0); + } + + public void addPages(Wizard wizard) { + WizardPage page = createPage(0, "org.eclipse.pde.doc.user.rcp_mail"); + page.setTitle("Hello Remote Service Host"); + page.setDescription("This template creates and exports a Hello remote service"); + wizard.addPage(page); + markPagesAdded(); + } + + public URL getTemplateLocation() { + Bundle b = Activator.getDefault().getBundle(); + String path = "/templates/"+getSectionId(); + URL url = b.getEntry(path); + if (url != null) + try { + return new URL(getInstallURL(), path); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + return null; + } + + public String getSectionId() { + return "helloRemoteServiceHostExample1"; //$NON-NLS-1$ + } + + protected void updateModel(IProgressMonitor monitor) { + } + + public String getUsedExtensionPoint() { + return null; + } + + public boolean isDependentOnParentWizard() { + return true; + } + + public int getNumberOfWorkUnits() { + return super.getNumberOfWorkUnits() + 1; + } + + public IPluginReference[] getDependencies(String schemaVersion) { + return new IPluginReference[0]; + } + + protected String getFormattedPackageName(String id) { + StringBuffer buffer = new StringBuffer(); + for (int i = 0; i < id.length(); i++) { + char ch = id.charAt(i); + if (buffer.length() == 0) { + if (Character.isJavaIdentifierStart(ch)) + buffer.append(Character.toLowerCase(ch)); + } else { + if (Character.isJavaIdentifierPart(ch) || ch == '.') + buffer.append(ch); + } + } + return buffer.toString().toLowerCase(Locale.ENGLISH); + } + + + protected void initializeFields(IFieldData data) { + // In a new project wizard, we don't know this yet - the + // model has not been created + String packageName = getFormattedPackageName(data.getId()); + initializeOption(KEY_PACKAGE_NAME, packageName); + this.packageName = getFormattedPackageName(data.getId()); + } + + public void initializeFields(IPluginModelBase model) { + String id = model.getPluginBase().getId(); + String packageName = getFormattedPackageName(id); + initializeOption(KEY_PACKAGE_NAME, packageName); + this.packageName = getFormattedPackageName(id); + } + + public String getStringOption(String name) { + if (name.equals(KEY_PACKAGE_NAME)) { + return packageName; + } + return super.getStringOption(name); + } + + @Override + public String[] getNewFiles() { + return new String[0]; + } + + @Override + protected URL getInstallURL() { + return Activator.getDefault().getBundle().getEntry("/"); + } + + @Override + protected ResourceBundle getPluginResourceBundle() { + return Platform.getResourceBundle(Activator.getDefault().getBundle()); + } + +} diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.java new file mode 100644 index 000000000..1e137a49b --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/src/org/eclipse/ecf/remoteservices/internal/tooling/pde/RemoteServiceHostExample1Wizard.java @@ -0,0 +1,30 @@ +package org.eclipse.ecf.remoteservices.internal.tooling.pde; + +import org.eclipse.pde.core.plugin.IPluginReference; +import org.eclipse.pde.ui.IFieldData; +import org.eclipse.pde.ui.IPluginContentWizard; +import org.eclipse.pde.ui.templates.ITemplateSection; +import org.eclipse.pde.ui.templates.NewPluginTemplateWizard; + +public class RemoteServiceHostExample1Wizard extends NewPluginTemplateWizard implements + IPluginContentWizard { + + public void init(IFieldData data) { + super.init(data); + setWindowTitle("Remote Services Host Example Wizard"); + } + + public ITemplateSection[] createTemplateSections() { + return new ITemplateSection[] {new RemoteServiceHostExample1Template()}; + } + + public String[] getImportPackages() { + return new String[] { "org.eclipse.ecf.osgi.services.distribution","org.eclipse.ecf.examples.remoteservices.hello","org.eclipse.ecf.remoteservice" }; + } + + public IPluginReference[] getDependencies(String schemaVersion) { + return new IPluginReference[0]; + } + +} + diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceConsumerExample1/java/$activator$.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceConsumerExample1/java/$activator$.java new file mode 100644 index 000000000..bbfd82651 --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceConsumerExample1/java/$activator$.java @@ -0,0 +1,164 @@ +package $packageName$; + +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.ecf.examples.remoteservices.hello.HelloMessage; +import org.eclipse.ecf.examples.remoteservices.hello.IHello; +import org.eclipse.ecf.examples.remoteservices.hello.IHelloAsync; +import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants; +import org.eclipse.ecf.remoteservice.IAsyncCallback; +import org.eclipse.equinox.concurrent.future.IFuture; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.Filter; +import org.osgi.framework.InvalidSyntaxException; +import org.osgi.framework.ServiceReference; +import org.osgi.util.tracker.ServiceTracker; +import org.osgi.util.tracker.ServiceTrackerCustomizer; + +@SuppressWarnings("restriction") +public class Activator implements BundleActivator, IDistributionConstants { + + private static BundleContext context; + + private ServiceTracker<IHello, IHello> helloServiceTracker; + + private static final String CONSUMER_NAME = "$consumerName$"; + + public void start(BundleContext bundleContext) throws Exception { + Activator.context = bundleContext; + helloServiceTracker = new ServiceTracker<IHello, IHello>(context, + createFilter(), new HelloTrackerCustomizer()); + helloServiceTracker.open(); + } + + private Filter createFilter() throws InvalidSyntaxException { + return context.createFilter("(&(" + + org.osgi.framework.Constants.OBJECTCLASS + "=" + + IHello.class.getName() + ")(" + SERVICE_IMPORTED + "=*))"); + } + + class HelloTrackerCustomizer implements + ServiceTrackerCustomizer<IHello, IHello> { + + public IHello addingService(ServiceReference<IHello> reference) { + + IHello proxy = context.getService(reference); + + useHelloService(proxy); + + return proxy; + } + + private void useHelloService(IHello proxy) { + System.out.println("STARTING remote call via proxy..."); + proxy.hello(CONSUMER_NAME+" via proxy"); + System.out.println("COMPLETED remote call via proxy"); + System.out.println(); + // Call other helloMessage method + System.out.println("STARTING remote call via proxy..."); + proxy.helloMessage(new HelloMessage(CONSUMER_NAME+" via proxy","howdy")); + System.out.println("COMPLETED remote call via proxy"); + System.out.println(); + + // If the proxy is also an instance of IHelloAsync then use + // this asynchronous interface to invoke methods asynchronously + if (proxy instanceof IHelloAsync) { + IHelloAsync helloA = (IHelloAsync) proxy; + // Create callback for use in IHelloAsync + IAsyncCallback<String> callback = new IAsyncCallback<String>() { + public void onSuccess(String result) { + System.out.println("COMPLETED remote call with callback SUCCESS with result="+result); + System.out.println(); + } + public void onFailure(Throwable t) { + System.out.println("COMPLETED remote call with callback FAILED with exception="+t); + System.out.println(); + } + }; + + // Call asynchronously with callback + System.out.println("STARTING async remote call via callback..."); + helloA.helloAsync(CONSUMER_NAME + " via async proxy with listener", callback); + System.out.println("LOCAL async invocation complete"); + System.out.println(); + + // Call asynchronously with future + System.out.println("STARTING async remote call via future..."); + IFuture future = helloA.helloAsync(CONSUMER_NAME + " via async proxy with future"); + System.out.println("LOCAL async future invocation complete"); + System.out.println(); + try { + while (!future.isDone()) { + // do some other stuff + System.out.println("LOCAL future not yet done...so we're doing other stuff while waiting for future to be done"); + Thread.sleep(200); + } + // Now it's done, so this will not block + Object result = future.get(); + System.out.println("COMPLETED remote call with future SUCCEEDED with result="+result); + System.out.println(); + } catch (OperationCanceledException e) { + System.out.println("COMPLETED remote call with callback CANCELLED with exception="+e); + System.out.println(); + e.printStackTrace(); + } catch (InterruptedException e) { + System.out.println("COMPLETED remote call with callback INTERRUPTED with exception="+e); + System.out.println(); + e.printStackTrace(); + } + + // Call other helloMessage method + // Call asynchronously with callback + System.out.println("STARTING async remote call via callback..."); + helloA.helloMessageAsync(new HelloMessage(CONSUMER_NAME + " via async proxy with listener","howdy"), callback); + System.out.println("LOCAL async invocation complete"); + System.out.println(); + + // Call asynchronously with future + System.out.println("STARTING async remote call via future..."); + future = helloA.helloMessageAsync(new HelloMessage(CONSUMER_NAME + " via async proxy with future","howdy")); + System.out.println("LOCAL async future invocation complete"); + System.out.println(); + try { + while (!future.isDone()) { + // do some other stuff + System.out.println("LOCAL future not yet done...so we're doing other stuff while waiting for future to be done"); + Thread.sleep(200); + } + // Now it's done, so this will not block + Object result = future.get(); + System.out.println("COMPLETED remote call with future SUCCEEDED with result="+result); + System.out.println(); + } catch (OperationCanceledException e) { + System.out.println("COMPLETED remote call with callback CANCELLED with exception="+e); + System.out.println(); + e.printStackTrace(); + } catch (InterruptedException e) { + System.out.println("COMPLETED remote call with callback INTERRUPTED with exception="+e); + System.out.println(); + e.printStackTrace(); + } + + } + + } + + public void modifiedService(ServiceReference<IHello> reference, + IHello service) { + } + + public void removedService(ServiceReference<IHello> reference, + IHello service) { + } + + } + + public void stop(BundleContext bundleContext) throws Exception { + if (helloServiceTracker != null) { + helloServiceTracker.close(); + helloServiceTracker = null; + } + Activator.context = null; + } + +} diff --git a/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceHostExample1/java/$activator$.java b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceHostExample1/java/$activator$.java new file mode 100644 index 000000000..6739349dd --- /dev/null +++ b/tooling/plugins/org.eclipse.ecf.remoteservices.tooling.pde/templates/helloRemoteServiceHostExample1/java/$activator$.java @@ -0,0 +1,52 @@ +package $packageName$; + +import java.util.Dictionary; +import java.util.Hashtable; + +import org.eclipse.ecf.osgi.services.distribution.IDistributionConstants; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; +import org.eclipse.ecf.examples.remoteservices.hello.HelloMessage; +import org.eclipse.ecf.examples.remoteservices.hello.IHello; + +@SuppressWarnings("restriction") +public class $activator$ implements BundleActivator { + + // This is the hello service implementation + class Hello implements IHello { + public String hello(String from) { + System.out.println("received hello from=" + from); + return "Server says 'Hi' back to " + from; + } + public String helloMessage(HelloMessage message) { + System.out.println("received HelloMessage=" + message); + return "Server says 'Hi' back to " + message.getFrom(); + } + } + + private ServiceRegistration<IHello> helloServiceRegistration; + + public void start(BundleContext context) throws Exception { + + Dictionary<String,Object> props = new Hashtable<String,Object>(); + // add OSGi service property indicated export of all interfaces exposed + // by service (wildcard) + props.put("service.exported.interfaces", "*"); + // add OSGi service property specifying config + props.put("service.exported.configs", "$containerType$"); + // add ECF service property specifying container factory args + props.put(IDistributionConstants.SERVICE_EXPORTED_CONTAINER_FACTORY_ARGUMENTS, + "$containerId$"); + + // register the service with remote service properties + helloServiceRegistration = context.registerService( + IHello.class, new Hello(), props); + } + + public void stop(BundleContext context) throws Exception { + if (helloServiceRegistration != null) + helloServiceRegistration.unregister(); + } + +} |