Commit 0ac08058 authored by Jay Jay Billings's avatar Jay Jay Billings

Started refactoring ICE to get the workspace dialog working.

Signed-off-by: default avatarJay Jay Billings <billingsjj@ornl.gov>
parent 5cef30e8
......@@ -2425,4 +2425,11 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
fragment="true"
unpack="false"/>
<plugin
id="org.apache.commons.collections"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="mars" sequenceNumber="151">
<?pde version="3.8"?><target name="mars" sequenceNumber="161">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
......@@ -151,6 +151,7 @@
<repository location="http://download.eclipse.org/ease/update/release"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.apache.commons.collections" version="3.2.0.v2013030210310"/>
<unit id="com.google.gson" version="2.2.4.v201311231704"/>
<unit id="org.apache.commons.math" version="2.1.0.v201105210652"/>
<unit id="javax.ws.rs" version="1.1.1.v20130318-1750"/>
......
......@@ -98,7 +98,6 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
</plugins>
<features>
<feature id="org.eclipse.ice" version="2.0.0"/>
<feature id="org.eclipse.emf.ecore"/>
<feature id="org.eclipse.emf.common"/>
<feature id="org.eclipse.e4.rcp"/>
......@@ -136,59 +135,16 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<feature id="org.eclipse.epp.mpc" version="1.4.0.v20150618-1659"/>
<feature id="org.eclipse.remote" version="2.0.0.201506061609"/>
<feature id="org.eclipse.pde" version="3.11.0.v20150603-2000"/>
<feature id="org.eclipse.ice" version="2.0.0"/>
</features>
<configurations>
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.e4.ui.workbench.addons.swt" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.equinox.http.jetty" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.equinox.util" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.analysistool" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.caebat.batml" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.rcp" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.moose" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.rcp" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.reactoreditor" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.reactoreditor.grid" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.reactoreditor.lwr" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.client.widgets.reactoreditor.sfr" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.core" autoStart="true" startLevel="5" />
<plugin id="org.eclipse.ice.datastructures" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.dependencies" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.io" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.item" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.kdd" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.materials" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.materials.ui" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.mesh" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.nek5000" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.persistence.xml" autoStart="true" startLevel="4" />
<plugin id="org.eclipse.ice.proteus" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reactor" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reactor.perspective" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reactor.plant" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reactor.sfr" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reactorAnalyzer" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.reflectivity" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.sassena" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.vibe" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.viz" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.viz.service" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.viz.service.visit" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ice.xolotl" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
<plugin id="org.eclipse.platform" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ui.forms" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.ui.ide.application" autoStart="false" startLevel="0" />
<plugin id="org.eclipse.ui.intro" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="3" />
<property name="eclipse.p2.data.area" value="@config.dir/../p2" />
<property name="eclipse.p2.profile" value="epp.package.rcp" />
<property name="osgi.instance.area.default" value="@user.home/Documents/workspace" />
......
......@@ -48,3 +48,4 @@ Require-Bundle: org.eclipse.ice.client.compatibility;bundle-version="2.0.0",
Service-Component: OSGI-INF/MOOSEEditorComponent.xml
Export-Package: org.eclipse.ice.client.widgets.moose
Bundle-Vendor: Oak Ridge National Laboratory
Bundle-ActivationPolicy: lazy
......@@ -127,3 +127,4 @@ Bundle-ClassPath: .
Service-Component: OSGI-INF/MasterApplicationFactory.xml,
OSGI-INF/MasterApplicationHolder.xml
Bundle-Vendor: Oak Ridge National Laboratory
Bundle-ActivationPolicy: lazy
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.client.widgets.jme.internal.MasterApplicationFactory">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.client.widgets.jme.internal.MasterApplicationFactory">
<implementation class="org.eclipse.ice.client.widgets.jme.internal.MasterApplicationFactory"/>
<service>
<provide interface="org.eclipse.ice.client.widgets.jme.internal.IMasterApplicationFactory"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.client.widgets.reactoreditor.lwr.AnalysisWidgetFactory">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.client.widgets.reactoreditor.lwr.AnalysisWidgetFactory">
<implementation class="org.eclipse.ice.client.widgets.reactoreditor.lwr.AnalysisWidgetFactory"/>
<service>
<provide interface="org.eclipse.ice.client.widgets.reactoreditor.IAnalysisWidgetFactory"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.client.widgets.reactoreditor.AnalysisWidgetRegistry">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.client.widgets.reactoreditor.AnalysisWidgetRegistry">
<implementation class="org.eclipse.ice.client.widgets.reactoreditor.AnalysisWidgetRegistry"/>
<service>
<provide interface="org.eclipse.ice.client.widgets.reactoreditor.IAnalysisWidgetRegistry"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.client.widgets">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.client.widgets">
<implementation class="org.eclipse.ice.client.widgets.EclipseUIWidgetFactory"/>
<service>
<provide interface="org.eclipse.ice.iclient.uiwidgets.IWidgetFactory"/>
......
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Client
Bundle-SymbolicName: org.eclipse.ice.client
Bundle-SymbolicName: org.eclipse.ice.client;singleton:=true
Bundle-Version: 2.0.0
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.eclipse.ice.client.common,
......
......@@ -2,9 +2,8 @@
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.client">
<implementation class="org.eclipse.ice.client.internal.Client"/>
<reference bind="setCoreService" cardinality="1..1" interface="org.eclipse.ice.core.iCore.ICore" name="ICore" policy="dynamic"/>
<service>
<provide interface="org.eclipse.ice.iclient.IClient"/>
</service>
<reference bind="setUIWidgetFactory" cardinality="1..1" interface="org.eclipse.ice.iclient.uiwidgets.IWidgetFactory" name="IWidgetFactory" policy="dynamic"/>
<reference bind="setUIWidgetFactory" cardinality="0..1" interface="org.eclipse.ice.iclient.uiwidgets.IWidgetFactory" name="IWidgetFactory" policy="dynamic"/>
</scr:component>
......@@ -4,9 +4,11 @@ bin.includes = META-INF/,\
.,\
OSGI-INF/,\
build.properties,\
pom.xml
pom.xml,\
plugin.xml
src.includes = META-INF/,\
OSGI-INF/,\
build.properties,\
pom.xml,\
src/
src/,\
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension-point id="coreConnection" name="Client-Core Connection" schema="schema/coreConnection.exsd"/>
</plugin>
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.ice.client" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.ice.client" id="coreConnection" name="Client-Core Connection"/>
</appinfo>
<documentation>
Bundles can contribute coreConnection extensions that provide realizations of the ICore interface that will be used by the IClient for processing requests.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
The Client-Core Connection point.
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
The id of this extension.
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
The human-friendly name of this extension.
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>
......@@ -18,6 +18,10 @@ import java.util.HashMap;
import java.util.Hashtable;
import java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.eclipse.ice.client.common.internal.ClientHolder;
import org.eclipse.ice.core.iCore.ICore;
import org.eclipse.ice.datastructures.ICEObject.Identifiable;
......@@ -52,7 +56,7 @@ import org.slf4j.LoggerFactory;
* that it can handle notifications and requests from the widgets and data
* structures.
* </p>
*
*
* @author Jay Jay Billings
*/
public class Client implements IUpdateEventListener, IProcessEventListener,
......@@ -73,12 +77,12 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* <p>
* The set of ErroBoxWidgets used by the Client.
* </p>
*
*
*/
private ArrayList<IErrorBox> errorBoxWidgets;
/**
*
*
*/
private IWidgetFactory iWidgetFactory;
......@@ -95,7 +99,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* This AtomicBoolean is true if the IExtraInfoWidget used by the Client was
* closed OK and is false otherwise.
* </p>
*
*
*/
private AtomicBoolean widgetClosedOK;
......@@ -104,7 +108,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* This AtomicBoolean is true if the IExtraInfoWidget used by the Client was
* cancelled and is false otherwise.
* </p>
*
*
*/
private AtomicBoolean widgetCancelled;
......@@ -112,7 +116,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* <p>
* The unique id assigned to this client by the ICE server.
* </p>
*
*
*/
private int clientId = -1;
......@@ -126,7 +130,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* <p>
* The Constructor
* </p>
*
*
*/
public Client() {
......@@ -160,6 +164,36 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
}
/**
* This operation grabs and sets the iCore if it is not already available.
*/
public void getCore() {
if (iCore == null) {
String id = "org.eclipse.ice.client.coreConnection";
IExtensionRegistry registry = Platform.getExtensionRegistry();
IConfigurationElement[] elements = registry
.getConfigurationElementsFor(id);
if (elements.length > 0) {
for (int i = 0; i < elements.length; i++) {
IConfigurationElement element = elements[i];
if (id.equals(element.getAttribute("coreConnection"))) {
try {
setCoreService((ICore) element
.createExecutableExtension("class"));
} catch (CoreException e) {
logger.error(
"ICE Client Error! Unable to get ICore!", e);
}
}
}
} else {
logger.error("ICE Client Error! No ICore found!");
}
}
}
/**
* <p>
* This private operation is called by the implementations of
......@@ -168,7 +202,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
* launches a FormProcessor to handle polling and update the IFormWidget for
* the Item as it is processed by the Core.
* </p>
*
*
* @param formWidget
* <p>
* The Form that represents the Item that will be processed.
......@@ -212,7 +246,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#setCoreService(ICore core)
*/
@Override
......@@ -223,7 +257,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#createItem(String itemType)
*/
@Override
......@@ -249,7 +283,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#setUIWidgetFactory(IWidgetFactory widgetFactory)
*/
@Override
......@@ -268,7 +302,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#loadItem(int itemId)
*/
@Override
......@@ -319,7 +353,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#throwSimpleError(String error)
*/
@Override
......@@ -341,7 +375,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#getAvailableItemTypes()
*/
@Override
......@@ -358,7 +392,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#processItem(int itemId, String actionName)
*/
@Override
......@@ -394,7 +428,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#connectToCore(String hostname, int port)
*/
@Override
......@@ -427,17 +461,18 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#getItems()
*/
@Override
public ArrayList<Identifiable> getItems() {
getCore();
return iCore.getItemList();
}
/**
* (non-Javadoc)
*
*
* @see IClient#deleteItem(int id)
*/
@Override
......@@ -450,7 +485,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#importFile(URI file)
*/
@Override
......@@ -464,7 +499,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IUpdateEventListener#formUpdated(Form form)
*/
@Override
......@@ -511,7 +546,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IProcessEventListener#processSelected(Form form, String process)
*/
@Override
......@@ -527,7 +562,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IProcessEventListener#cancelRequested(Form form, String process)
*/
@Override
......@@ -542,7 +577,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see ISimpleResourceProvider#loadResource(ICEResource resource)
*/
@Override
......@@ -564,7 +599,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IWidgetClosedListener#closedOK()
*/
@Override
......@@ -576,7 +611,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IWidgetClosedListener#cancelled()
*/
@Override
......@@ -588,7 +623,7 @@ public class Client implements IUpdateEventListener, IProcessEventListener,
/**
* (non-Javadoc)
*
*
* @see IClient#getFileSystem()
*/
@Override
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop" immediate="true" name="org.eclipse.ice.core">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="start" deactivate="stop" immediate="false" name="org.eclipse.ice.core">
<implementation class="org.eclipse.ice.core.internal.Core"/>
<service>
<provide interface="org.eclipse.ice.core.iCore.ICore"/>
</service>
<reference bind="registerItem" cardinality="0..n" interface="org.eclipse.ice.item.ItemBuilder" name="ItemBuilder" policy="dynamic" unbind="unregisterItem"/>
<reference bind="registerCompositeItem" cardinality="1..1" interface="org.eclipse.ice.item.ICompositeItemBuilder" name="ICompositeItemBuilder" policy="dynamic" unbind="unregisterItem"/>
<reference bind="registerCompositeItem" cardinality="0..n" interface="org.eclipse.ice.item.ICompositeItemBuilder" name="ICompositeItemBuilder" policy="dynamic" unbind="unregisterItem"/>
<reference bind="setHttpService" cardinality="0..1" interface="org.osgi.service.http.HttpService" name="HttpService" policy="dynamic"/>
<reference bind="setPersistenceProvider" cardinality="1..1" interface="org.eclipse.ice.core.iCore.IPersistenceProvider" name="IPersistenceProvider" policy="dynamic"/>
</scr:component>
......@@ -21,5 +21,10 @@
class="org.eclipse.ice.core.internal.SimpleLogin">
</loginModule>
</extension>
<extension
id="org.eclipse.ice.core.coreConnection"
name="ICE Core Connection"
point="org.eclipse.ice.client.coreConnection">
</extension>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.io.ioservice">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.io.ioservice">
<implementation class="org.eclipse.ice.io.serializable.IOService"/>
<reference bind="addReader" cardinality="0..n" interface="org.eclipse.ice.io.serializable.IReader" name="IReader" policy="dynamic"/>
<reference bind="addWriter" cardinality="0..n" interface="org.eclipse.ice.io.serializable.IWriter" name="IWriter" policy="dynamic"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="Item IO">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" enabled="true" immediate="false" name="Item IO">
<implementation class="org.eclipse.ice.item.Item"/>
<reference bind="setIOService" cardinality="1..1" interface="org.eclipse.ice.io.serializable.IOService" name="IOService" policy="static"/>
</scr:component>
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="MOOSE IO">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="MOOSE IO">
<implementation class="org.eclipse.ice.item.utilities.moose.MOOSEFileHandler"/>
<service>
<provide interface="org.eclipse.ice.io.serializable.IReader"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.eclipse.ice.kdd.kddstrategy.godfreystrategy">
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="false" name="org.eclipse.ice.kdd.kddstrategy.godfreystrategy">
<implementation class="org.eclipse.ice.kdd.kddstrategy.godfreystrategy.GodfreyBuilder"/>
<service>