diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/ToolingKernelActivator.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/ToolingKernelActivator.java index 659629e39884842f5910037349f260a4f4f4c42a..1f27ca5e0b15d24889672332bc54e8a050e30574 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/ToolingKernelActivator.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/ToolingKernelActivator.java @@ -18,7 +18,6 @@ $Id$ package org.fortiss.tooling.kernel; import org.eclipse.core.runtime.Plugin; -import org.fortiss.tooling.kernel.internal.ServiceManager; import org.osgi.framework.BundleContext; /** @@ -42,15 +41,11 @@ public class ToolingKernelActivator extends Plugin { public void start(BundleContext context) throws Exception { super.start(context); plugin = this; - - ServiceManager.start(); } /** {@inheritDoc} */ @Override public void stop(BundleContext context) throws Exception { - ServiceManager.stop(); - plugin = null; super.stop(context); } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java index 8a841ff5e51f82a982d347efdda715ee7b14a423..a1138c66cad949499403f42d55cf2c1cef5f1e3f 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAware2ServiceBase.java @@ -28,7 +28,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.kernel.ToolingKernelActivator; import org.fortiss.tooling.kernel.interfaces.IEObjectAware2; -import org.fortiss.tooling.kernel.internal.ConnectionCompositorService; +import org.fortiss.tooling.kernel.internal.ElementCompositorService; import org.fortiss.tooling.kernel.util.ExtensionPointUtils; import org.fortiss.tooling.kernel.util.LoggingUtils; import org.osgi.framework.Bundle; @@ -56,16 +56,19 @@ import org.osgi.framework.Bundle; * class configuration element, * <LI>{@link #getModelElementClassAttribute()} to provide a element class * attribute. + * <LI> {@link #requiresUniqueHandler()} should return true if each combination + * of source and target class must not have more than one handler. The default + * is <code>false</code>. * </UL> * * An example implementation of a service based on this class is given by - * {@link ConnectionCompositorService}. The corresponding extension point schema - * is defined in <code>schema/modelElementConnectionCompositor.exsd</code>. + * {@link ElementCompositorService}. The corresponding extension point schema is + * defined in <code>schema/modelElementConnectionCompositor.exsd</code>. * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 5A12CD400F90CECAC6B1246227D363AB + * @ConQAT.Rating YELLOW Hash: F0465236EB7C877F0FCFC79200E6D5D4 */ public abstract class EObjectAware2ServiceBase<T extends IEObjectAware2<? extends EObject, ? extends EObject>> { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java index ad3b2223676547fb2292736757a30f9f541a2ac3..f6e5726a85823988bd8c747966e4f3091f0b56e8 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/EObjectAwareServiceBase.java @@ -28,18 +28,44 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.kernel.ToolingKernelActivator; import org.fortiss.tooling.kernel.interfaces.IEObjectAware; +import org.fortiss.tooling.kernel.internal.ConnectionCompositorService; import org.fortiss.tooling.kernel.util.ExtensionPointUtils; import org.fortiss.tooling.kernel.util.LoggingUtils; import org.osgi.framework.Bundle; /** - * Service base implementation, which supports handler registration with - * {@link EObject} relation. + * Service base implementation, which supports handler registration with set of + * {@link EObject} classes. + * + * <p> + * Sub-classes must implement: + * <UL> + * <LI>{@link #getExtensionPointName()} to provide the extension point ID, + * <LI>{@link #getConfigurationElementName()} to provide the configuration + * element ID, + * <LI>{@link #getHandlerClassAttribute()} to provide the attribute of the + * handler class. + * </UL> + * + * <p> + * Sub-classes may override: + * <UL> + * <LI>{@link #getModelElementClassConfigurationElement()} to provide a element + * class configuration element, + * <LI>{@link #getModelElementClassAttribute()} to provide a element class + * attribute. + * <LI> {@link #requiresUniqueHandler()} should return true if each EObject class + * must not have more than one handler. The default is <code>false</code>. + * </UL> + * + * An example implementation of a service based on this class is given by + * {@link ConnectionCompositorService}. The corresponding extension point schema + * is defined in <code>schema/modelElementConnectionCompositor.exsd</code>. * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 8A8E5E88AC4F8FE9D3213D12B500F959 + * @ConQAT.Rating YELLOW Hash: 16AFF48B6ABB235CCA6CBF3DF421B790 */ public abstract class EObjectAwareServiceBase<T extends IEObjectAware<? extends EObject>> { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/PrototypeProviderBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/PrototypeProviderBase.java index 181275bce149a8ef50596a1d985c3e237b01d3a5..b3fe2c28b2b135fe2833322b20077d55db74db75 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/PrototypeProviderBase.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/PrototypeProviderBase.java @@ -28,10 +28,14 @@ import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype; /** * Base implementation for {@link IPrototypeProvider}s. * + * <p> + * Sub-classes must implement {@link #registerPrototypes()} to register specific + * prototypes using {@link #registerPrototype(String, EObject)}. + * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 4C38BD776A6B323C540FB8EE8118A5C0 + * @ConQAT.Rating YELLOW Hash: 8D5C4798D30B81D34FA49DDCCB466B04 */ public abstract class PrototypeProviderBase implements IPrototypeProvider { @@ -53,7 +57,7 @@ public abstract class PrototypeProviderBase implements IPrototypeProvider { /** {@inheritDoc} */ @Override - public List<Prototype> getPrototypes() { + public final List<Prototype> getPrototypes() { return CollectionUtils.asUnmodifiable(prototypes); } } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/package.html b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/package.html index 7b531995f64274c5cd1d7f7a11440b4d01b6e19a..b649ca119f5ff61f02a561b5ff888b163bf0949e 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/package.html +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/base/package.html @@ -1,8 +1,9 @@ <!-- $Id$ @version $Rev$ - @ConQAT.Rating YELLOW Hash: 38DFC9CFE459B4DF2425410CB9B3B693 + @ConQAT.Rating YELLOW Hash: 129D9CDCB9A71D926BE644DDAD6C9E4F --> <body> -Abstract base implementations for the kernel extensions. +Abstract base implementations for the kernel extensions. Classes in this package are used by the kernel to implement its services. +These classes my also be interesting for implementing plugability in higher layers of the tool architecture. </body> diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositionContext.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositionContext.java index eb89859eb042dcf0fe4befef2e881b6beba658ad..e4bb8ed02218a55156ef3c64ef800ac2c6c3f1ee 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositionContext.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositionContext.java @@ -29,7 +29,7 @@ package org.fortiss.tooling.kernel.interfaces; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: BE7A6E2BC307F4A6894607896C09D3E8 + * @ConQAT.Rating YELLOW Hash: 2D904303FDBDC14572DBE392859603DA */ public interface IConnectionCompositionContext { // this is just a marker interface diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositor.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositor.java index 68d61fc2d8bf725b382a5576eab90cd83c76f283..98e4d3e12aab23b58547c2e4d70f1b7ece0da6b1 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositor.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConnectionCompositor.java @@ -20,13 +20,32 @@ package org.fortiss.tooling.kernel.interfaces; import org.eclipse.emf.ecore.EObject; /** - * Interface for connectors, i.e. classes which connect model elements. This may - * either be a direct connection or by using an additional connection element. + * Interface for connection compositors, i.e. classes which connect and + * disconnect model elements. This may either be a direct connection or by using + * an additional connection element. + * + * <P> + * A typical example is the creation and removal of an edge in a graph editor. + * The connection compositor links two nodes of the graph and aggregates the + * edge with the graph as its parent element. + * + * @param <P> + * the meta-model class of the parent elements handled by this + * compositor. + * @param <S> + * the meta-model class of source model elements handled by this + * compositor. + * @param <T> + * the meta-model class of target model elements handled by this + * compositor. + * + * + * * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 3AF8EF4B6F61B768A17A63A6FF51CB2B + * @ConQAT.Rating YELLOW Hash: 2F4A9CC044F6A4AFE964D9DE293D8D7F */ public interface IConnectionCompositor<P extends EObject, S extends EObject, T extends EObject> extends IEObjectAware2<S, T> { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintChecker.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintChecker.java index 23245c0eb91371618c51351616bf249f61e487d5..d59b7682bdf4b6829e1665128386be4aaecf5317 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintChecker.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintChecker.java @@ -22,19 +22,24 @@ import org.eclipse.emf.ecore.EObject; /** * Interface for constraint checker implementations. * + * + * @param <C> + * the meta-model class of model elements handled by the constraint + * checker. + * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: B26440F1029C58D8B881C889F3D87A95 + * @ConQAT.Rating YELLOW Hash: 07CD5EB76EC82EC5882F24D76633F0C9 */ -public interface IConstraintChecker { +public interface IConstraintChecker<C extends EObject> extends IEObjectAware<C> { /** * Determines whether the constraint checker is applicable to the given * model element. */ - boolean isApplicable(EObject modelElement); + boolean isApplicable(C modelElement); /** Applies the constraint checker to the given model element. */ - IConstraintViolation apply(EObject modelElement); + IConstraintViolation apply(C modelElement); } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintViolation.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintViolation.java index a0ac476a6815f197beccc6ece9ef16851a019907..60749314449c26d27aad3625f263101379cb5f5e 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintViolation.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IConstraintViolation.java @@ -19,13 +19,14 @@ package org.fortiss.tooling.kernel.interfaces; /** * This interface describes a constraint violation produced by some constraint - * checker. A constraint violation has a severity, an explanation and possibly a - * quick fix. + * checker. A constraint violation has a severity of type {@link ESeverity}, an + * explanation of type String and possibly a quick fix handler of type + * {@link IQuickFixHandler}. * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: BAED4776E8F47E7A6D42A7D38A68FAA6 + * @ConQAT.Rating YELLOW Hash: 0506883B3019B9D1DC5AC6C0AB2F35FB */ public interface IConstraintViolation { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware.java index f9309ecf14b046d4c8330e1bb86eb5ad66b2ac40..ee17420147756e49c14460c4af51fd2523fa1c87 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware.java @@ -19,16 +19,24 @@ package org.fortiss.tooling.kernel.interfaces; import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.kernel.base.EObjectAwareServiceBase; +import org.fortiss.tooling.kernel.internal.ElementCompositorService; +import org.fortiss.tooling.kernel.services.IElementCompositorService; /** - * Abstract interface for {@link EObjectAwareServiceBase} base implementation. + * Abstract interface for {@link EObjectAwareServiceBase} base implementation. A + * plugable extension to the kernel may be parameterized by one meta-model + * class, e.g., a constraint checker extension handles a specific type of model + * elements. If the extending handler's interface extends the current interface, + * {@link EObjectAwareServiceBase} can be used to ease the extension mechanism. * - * @TODO: a typical use is ... + * <P> + * Refer to {@link IElementCompositor}, {@link IElementCompositorService} and + * {@link ElementCompositorService} for an example implementation. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating RED Hash: F294FE5853AE7D182770C201886531CC + * @ConQAT.Rating YELLOW Hash: 1350775A3DAA216F6112520F525628EE */ public interface IEObjectAware<T extends EObject> { // nothing specific is need here diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware2.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware2.java index 96b2e74d4a4802a399894daa3fca947b4829806f..9a7dea77d8365c747e8b21b7a1c66f7e3df1c5d4 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware2.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEObjectAware2.java @@ -19,14 +19,25 @@ package org.fortiss.tooling.kernel.interfaces; import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.kernel.base.EObjectAware2ServiceBase; +import org.fortiss.tooling.kernel.internal.ConnectionCompositorService; +import org.fortiss.tooling.kernel.services.IConnectionCompositorService; /** * Abstract interface for {@link EObjectAware2ServiceBase} base implementation. + * A plugable extension to the kernel may be parameterized by two meta-model + * class, e.g., a reference creation extension handles a specific source and + * target type of model elements. If the extending handler's interface extends + * the current interface, {@link EObjectAware2ServiceBase} can be used to ease + * the extension mechanism. + * + * <P> + * Refer to {@link IConnectionCompositor}, {@link IConnectionCompositorService} + * and {@link ConnectionCompositorService} for an example implementation. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 4DE0035200083916ADDF730A929074BF + * @ConQAT.Rating YELLOW Hash: 317229BCCC2DA7C69C78E957F5A87BE8 */ public interface IEObjectAware2<S extends EObject, T extends EObject> extends IEObjectAware<T> { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEclipseResourceStorageLocationProvider.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEclipseResourceStorageLocationProvider.java index d28997a32e7548efc1f26ccc2be7591b6515b3d5..8a7ed9990f7488c505ee74b8f9f7f73b16832c34 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEclipseResourceStorageLocationProvider.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IEclipseResourceStorageLocationProvider.java @@ -22,13 +22,15 @@ import org.fortiss.tooling.kernel.internal.storage.eclipse.EclipseResourceStorag /** * Extension interface for the {@link EclipseResourceStorageProvider} mechanism. - * - * @TODO: do we really need this interface? + * The persistency storage provider, which uses Eclipse resources, does not know + * which files should be considered model files. Therefore, a concrete product + * built above the kernel is required to decide whether the file provided with + * {@link #isStorageLocation(IFile)} should be considered. * * @author hoelzlf * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: F2CBF6F78C114C5AE2676C85403E4488 + * @ConQAT.Rating YELLOW Hash: 21EF3B37635B8DDA74E646259CD52166 */ public interface IEclipseResourceStorageLocationProvider { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositionContext.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositionContext.java index 83f3b23d56df95e6595cbfd4bd862e40cab02661..18d4dc7afd2843e10f2eb51a2110b95c3c6e6d96 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositionContext.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositionContext.java @@ -29,7 +29,7 @@ package org.fortiss.tooling.kernel.interfaces; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating RED Hash: D85BD49FE3F70C2C4AF5B5B9250C0863 + * @ConQAT.Rating YELLOW Hash: 4C3F8D3097CB3379B1AA27B6A0BC05DE */ public interface IElementCompositionContext { // this is just a marker interface diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositor.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositor.java index 37d4cef21f07783eb881d7083184174cd0633a7c..ceb253842225131e9f9cd67159e99333d607bffb 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositor.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IElementCompositor.java @@ -24,17 +24,25 @@ import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype; * Interface for compositors, i.e. classes which know how to compose and * decompose {@link EObject}s. * + * <P> + * A typical example is the adding and removal of a node in a graph editor. The + * compositor adds the node to the graph as a child element. + * + * + * @param <C> + * the meta-model class of the container element handled by this + * compositor. * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 75F650B0058B591BE903CC45C0AB9876 + * @ConQAT.Rating YELLOW Hash: 4073D9D3263D0123CD583E9636EE101D */ -public interface IElementCompositor<T extends EObject> extends IEObjectAware<T> { +public interface IElementCompositor<C extends EObject> extends IEObjectAware<C> { /** * Returns whether the given container may include the given contained * object. */ - boolean canCompose(T container, EObject contained, + boolean canCompose(C container, EObject contained, IElementCompositionContext context); /** @@ -52,14 +60,14 @@ public interface IElementCompositor<T extends EObject> extends IEObjectAware<T> * This method returns a boolean, since user-interaction during compose * might cancel the command. */ - boolean compose(T container, EObject contained, + boolean compose(C container, EObject contained, IElementCompositionContext context); /** * Returns whether the given contained element may be removed from the given * container element. */ - boolean canDecompose(T container, EObject contained, + boolean canDecompose(C container, EObject contained, IElementCompositionContext context); /** @@ -67,6 +75,6 @@ public interface IElementCompositor<T extends EObject> extends IEObjectAware<T> * This method returns a boolean, since user-interaction during compose * might cancel the command. */ - boolean decompose(T container, EObject contained, + boolean decompose(C container, EObject contained, IElementCompositionContext context); } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IPrototypeProvider.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IPrototypeProvider.java index 73ddd1028a77437c5ca59d03a48ffaac9c8a4d8e..ff0d9e44c7eff662832abf66e91ac31d86f50ef0 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IPrototypeProvider.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IPrototypeProvider.java @@ -23,13 +23,15 @@ import org.eclipse.emf.ecore.EObject; import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype; /** - * An {@link IPrototypeProvider} offers preconfigured {@link EObject}s to be - * displayed in the model element view. + * An {@link IPrototypeProvider} offers pre-configured {@link EObject}s. + * + * A typical exmaple of a prototype is a model element, which also carries some + * initial default layout information. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 97B6B05838E85861C71D22CF74CB73F9 + * @ConQAT.Rating YELLOW Hash: 1160E8FBB539CAEA58CB178AF41E5ED2 */ public interface IPrototypeProvider { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IStorageProvider.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IStorageProvider.java index e2f2962108103bd97274b46c33c85734b572265d..c009c78f59a01950a0c9f9dcdf697aed98fdd283 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IStorageProvider.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/IStorageProvider.java @@ -20,12 +20,17 @@ package org.fortiss.tooling.kernel.interfaces; import java.util.List; /** - * An {@link IStorageProvider} implements a storage mechanism for EMF models. + * An {@link IStorageProvider} implements a storage mechanism for EMF models. A + * storage provider must deliver an {@link ITopLevelElementContext} for each + * model under his supervision. It may rely on other parts of the Eclipse + * workbench like the Team feature or EMFStore providing remote storage + * capability. After the context was provided to the kernel it invokes the + * methods of the context to execute commands, save, an so on. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 5047804CCEDB2448C6CE4886394F756B + * @ConQAT.Rating YELLOW Hash: 94E6ACB100AAF673434E0A0F9B548357 */ public interface IStorageProvider { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/ITopLevelElementContext.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/ITopLevelElementContext.java index c01099110709f03a13173b071573654e439edef9..9fbcf6862390b526af28dcb4f88ecfd66edecb49 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/ITopLevelElementContext.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/interfaces/ITopLevelElementContext.java @@ -26,12 +26,14 @@ import org.eclipse.emf.ecore.EObject; /** * Interface for accessing top-level elements provided by - * {@link IStorageProvider}s. + * {@link IStorageProvider}s. The context supports the typical methods like + * running commands, listening to the command stack, undo and redo, a dirty + * state and a save mechanism. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 95B275B63B2E2FC389D1F8339E2325C9 + * @ConQAT.Rating YELLOW Hash: DBEB1B9EEF064F64EA76CFFCAB2E8C39 */ public interface ITopLevelElementContext { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConnectionCompositorService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConnectionCompositorService.java index 4c60ce03a34a77e05cf0eabd9575797a310fe272..20f3814c6768c20f3ac2f18d01bbb63e5fc26d62 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConnectionCompositorService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConnectionCompositorService.java @@ -31,7 +31,7 @@ import org.fortiss.tooling.kernel.services.IConnectionCompositorService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: E4E7A3B42928271F17D36BABCB6BEF58 + * @ConQAT.Rating YELLOW Hash: E03DE566919A836263949B2899453A61 */ public class ConnectionCompositorService extends @@ -51,15 +51,32 @@ public class ConnectionCompositorService @Override public boolean canConnect(EObject source, EObject destination, EObject connection, IConnectionCompositionContext context) { - return findWorkingConnector(source, destination, connection, context) != null; + return findWorkingConnector(source, destination, connection, true, + context) != null; } /** {@inheritDoc} */ @Override - public void connect(EObject source, EObject destination, + public boolean connect(EObject source, EObject destination, EObject connection, IConnectionCompositionContext context) { - findWorkingConnector(source, destination, connection, context).connect( - source, destination, connection, context); + return findWorkingConnector(source, destination, connection, true, + context).connect(source, destination, connection, context); + } + + /** {@inheritDoc} */ + @Override + public boolean canDecompose(EObject source, EObject destination, + EObject connection, IConnectionCompositionContext context) { + return findWorkingConnector(source, destination, connection, false, + context) != null; + } + + /** {@inheritDoc} */ + @Override + public boolean decompose(EObject source, EObject destination, + EObject connection, IConnectionCompositionContext context) { + return findWorkingConnector(source, destination, connection, true, + context).connect(source, destination, connection, context); } /** @@ -68,14 +85,21 @@ public class ConnectionCompositorService */ private IConnectionCompositor<EObject, EObject, EObject> findWorkingConnector( EObject source, EObject target, EObject connection, - IConnectionCompositionContext context) { + boolean connect, IConnectionCompositionContext context) { List<IConnectionCompositor<EObject, EObject, EObject>> list = getRegisteredHandlers( source.getClass(), target.getClass()); if (list == null) { return null; } for (IConnectionCompositor<EObject, EObject, EObject> connector : list) { - if (connector.canConnect(source, target, connection, context)) { + if (connect + && connector + .canConnect(source, target, connection, context)) { + return connector; + } + if (!connect + && connector.canDisconnect(source, target, connection, + context)) { return connector; } } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ElementCompositorService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ElementCompositorService.java index c1829b70e87cc8ec45ec32276c3ebc67c35cde86..e1fcf1c326ef750a9704448e3b8ced3adac153a2 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ElementCompositorService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ElementCompositorService.java @@ -32,7 +32,7 @@ import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 1AB8E5D4937CE2C77649035548CA11DF + * @ConQAT.Rating YELLOW Hash: E27B124C6AC4A10B7A8C04949A8BFF86 */ public final class ElementCompositorService extends EObjectAwareServiceBase<IElementCompositor<EObject>> implements diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/LibraryService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/LibraryService.java deleted file mode 100644 index 267638de49f24861d7e5c26863d92088665684ed..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/LibraryService.java +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.internal; - -import org.fortiss.tooling.kernel.services.ILibraryService; - -/** - * This class implements the {@link ILibraryService} interface. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: 4C56A513C7537064088F1E85847745E8 - */ -public class LibraryService implements ILibraryService { - // TODO (FH): implement -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/MultiUserService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/MultiUserService.java deleted file mode 100644 index 2c131c28b8b32cd2d8d77516e4660d02c954aae6..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/MultiUserService.java +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.internal; - -import org.fortiss.tooling.kernel.services.IMultiUserService; - -/** - * This class implements the {@link IMultiUserService} interface. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: BE8C6F14A6FDC25C82239503457885DA - */ -public class MultiUserService implements IMultiUserService { - // TODO (FH): implement -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java index 1b6cba833376ade66a86e3f0579d834a4672f2cb..0826618cdd12f42f3e8a9cb78d6daffb47b78654 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/PrototypeService.java @@ -39,7 +39,7 @@ import org.osgi.framework.Bundle; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 3E2A2A18E224F7675FC2BE992D4DD80C + * @ConQAT.Rating YELLOW Hash: E67EFFAA3034D8BFA1A2E2C673CA5811 */ public class PrototypeService implements IPrototypeService { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ServiceManager.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ServiceManager.java deleted file mode 100644 index 1cef2f895818799938ee6fa93deaeef734c87a54..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ServiceManager.java +++ /dev/null @@ -1,40 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.internal; - -/** - * This class provides startup and shutdown code for the kernel services. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: 6D8EF584707A23F0C91D17694BE03043 - */ -// TODO (FH): is this class needed? -public final class ServiceManager { - - /** Starts the kernel services. */ - public static void start() { - // TODO (FH): implement - } - - /** Stops the kernel services. */ - public static void stop() { - // TODO (FH): implement - } -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/TransformationService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/TransformationService.java deleted file mode 100644 index 3188c7fdc2f3b4be20bf58df528871498808f049..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/TransformationService.java +++ /dev/null @@ -1,32 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.internal; - -import org.fortiss.tooling.kernel.services.ITransformationService; - -/** - * This class implements the {@link ITransformationService} interface. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: E7A9D1E12B9A258D2552DCC9E2EC0B36 - */ -public class TransformationService implements ITransformationService { - // TODO (FH): implement -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/package.html b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/package.html index 99c4e9e2db54a72ade549dc93b22826b74c9d7a3..6d70243e0e4c83473130acf5870df303372863c6 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/package.html +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/package.html @@ -1,10 +1,12 @@ <!-- $Id$ @version $Rev$ - @ConQAT.Rating YELLOW Hash: 5A8076657366C6A52F3B3496330207BB + @ConQAT.Rating YELLOW Hash: 9EF9DAA1FC3C08A44EC8946A0CFB9ABC --> <body> Implementations of the kernel services defined in the <code>kernel.services</code> package. +Kernel services are only accessible through the singletons defined in the <code>kernel.services</code> package. +The implementation in the current package are not intended to be used directly. +Therefore they are not exported in the <code>plugin.xml</code> <p> -@TODO: shouldn't this package be named kernel.services.internal? + according to Eclipse naming, the internal packages should not be used by clients -- is this the case here? if not, the name 'internal' should be changed into 'impl' </body> diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConnectionCompositorService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConnectionCompositorService.java index 595a2cff93db429d52888c22b415bdb1edd57b5e..4645d873d4320f1de191843c97e90756b82edff5 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConnectionCompositorService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConnectionCompositorService.java @@ -22,13 +22,22 @@ import org.fortiss.tooling.kernel.interfaces.IConnectionCompositionContext; import org.fortiss.tooling.kernel.internal.ConnectionCompositorService; /** - * The connector service provides registration and access to model element - * connectors. + * The connection compositor service provides registration and access to model + * element connection compositors. A connection compositor knows how to create + * and delete connections between two model elements. Here, a connection can be + * a simple reference between two objects or, in a more complex case, an object + * aggregated with some parent object and referencing two other objects in the + * model element tree. + * + * <P> + * A typical example is the creation and removal of an edge in a graph editor. + * The connection compositor links two nodes of the graph and aggregates the + * edge with the graph as its parent element. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 0D2545C48EFB0383922CBB05BB469585 + * @ConQAT.Rating YELLOW Hash: E9F9052783770B8F9494E84F990874BD */ public interface IConnectionCompositorService { @@ -40,8 +49,8 @@ public interface IConnectionCompositorService { * possible. Additional information can be included in the context, which * also may be null. */ - public boolean canConnect(EObject source, EObject destination, - EObject connection, IConnectionCompositionContext context); + boolean canConnect(EObject source, EObject destination, EObject connection, + IConnectionCompositionContext context); /** * Actually connects the given source and destination. This will only be @@ -61,6 +70,20 @@ public interface IConnectionCompositorService { * @param context * context information for the connection. May be null. */ - public void connect(EObject source, EObject destination, + boolean connect(EObject source, EObject destination, EObject connection, + IConnectionCompositionContext context); + + /** + * Determines if there is a compositor that allows the decomposition of the + * connection between the source and target model element. + */ + boolean canDecompose(EObject source, EObject destination, EObject connection, IConnectionCompositionContext context); + + /** + * Decomposes the connection. Since this operation may be canceled by the + * user, it returns a boolean value. + */ + boolean decompose(EObject source, EObject destination, EObject connection, + IConnectionCompositionContext context); } diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConstraintService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConstraintService.java index 42bf4cc245fa9fdf34debc897b655af3a895ed92..a2fc3e36823fdddad187814720271eb09bcc0bdd 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConstraintService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IConstraintService.java @@ -31,7 +31,7 @@ import org.fortiss.tooling.kernel.internal.ConstraintService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating RED Hash: 0BE33FB1504293BDE9B7423F78D1349B + * @ConQAT.Rating YELLOW Hash: 3FF38207B9BC5B685A80D09D8358849A */ public interface IConstraintService { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IElementCompositorService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IElementCompositorService.java index 7b69893909c8ecd93a655ce660a3747f3a97959c..c7d5f2f18639455be80ef18c2f944ed9d7d49e56 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IElementCompositorService.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IElementCompositorService.java @@ -25,12 +25,19 @@ import org.fortiss.tooling.kernel.services.IPrototypeService.Prototype; /** * The element compositor service provides registration and access to model - * element compositors. + * element compositors. A compositor knows how to create and delete a link + * between a parent element and its children. The formed relation usually + * corresponds to an aggregation between the respective classes of the + * meta-model. + * + * <P> + * A typical example is the adding and removal of a node in a graph editor. The + * compositor adds the node to the graph as a child element. * * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: 4F6FF89C40A2BCE2A0310068028A0567 + * @ConQAT.Rating YELLOW Hash: 1B489882210AB188E82A94F41F2CF796 */ public interface IElementCompositorService { diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ILibraryService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ILibraryService.java deleted file mode 100644 index c7790b6e1bc0a8af60b86143313abe191934512c..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ILibraryService.java +++ /dev/null @@ -1,38 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.services; - -import org.fortiss.tooling.kernel.internal.LibraryService; - -/** - * The library service manages the display of elements in the model element - * view. It gathers elements from prototypes and the common and user specific - * model library. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: 71AD3046FC212391B9F98700B5EA3D14 - */ -public interface ILibraryService { - - /** Returns the singleton instance of the service. */ - public static final ILibraryService INSTANCE = new LibraryService(); - - // TODO (FH): define -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IMultiUserService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IMultiUserService.java deleted file mode 100644 index b7bf5c09a6ccb457d4fab35412319d972e973d13..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/IMultiUserService.java +++ /dev/null @@ -1,37 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.services; - -import org.fortiss.tooling.kernel.internal.MultiUserService; - -/** - * This service provides support for multi-user environments. This service is - * only active for EMFStore based repsoitories. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: 37964F4226F8463409342F1138A6DDF7 - */ -public interface IMultiUserService { - - /** Returns the singleton instance of the service. */ - public static final IMultiUserService INSTANCE = new MultiUserService(); - - // TODO (FH): define -} diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ITransformationService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ITransformationService.java deleted file mode 100644 index 656e0dac199f1769a7a73a9f93de895a2e08b4ea..0000000000000000000000000000000000000000 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/services/ITransformationService.java +++ /dev/null @@ -1,36 +0,0 @@ -/*--------------------------------------------------------------------------+ -$Id$ -| | -| Copyright 2011 ForTISS GmbH | -| | -| Licensed under the Apache License, Version 2.0 (the "License"); | -| you may not use this file except in compliance with the License. | -| You may obtain a copy of the License at | -| | -| http://www.apache.org/licenses/LICENSE-2.0 | -| | -| Unless required by applicable law or agreed to in writing, software | -| distributed under the License is distributed on an "AS IS" BASIS, | -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | -| See the License for the specific language governing permissions and | -| limitations under the License. | -+--------------------------------------------------------------------------*/ -package org.fortiss.tooling.kernel.services; - -import org.fortiss.tooling.kernel.internal.TransformationService; - -/** - * This service manages model element specific transformations. - * - * @author hoelzl - * @author $Author$ - * @version $Rev$ - * @ConQAT.Rating RED Hash: EC66C5C09113ADB168DD2F2068D75A2F - */ -public interface ITransformationService { - - /** Returns the singleton instance of the service. */ - public static final ITransformationService INSTANCE = new TransformationService(); - - // TODO (FH): define -}