Skip to content
Snippets Groups Projects
Commit 44c15e06 authored by Simon Spinner's avatar Simon Spinner
Browse files

Add exchange field to RequiredObject.

parent 74423c63
No related branches found
No related tags found
No related merge requests found
Showing
with 116 additions and 463 deletions
......@@ -28,3 +28,4 @@ _UI_RequiredContainer_container_feature = Container
_UI_Unknown_feature = Unspecified
_UI_RequiredObject_object_feature = Object
_UI_RequiredObject_exchange_feature = Exchange
......@@ -26,7 +26,6 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentConfiguration;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentFactory;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage;
import tools.descartes.prisma.model.scope.ScopeFactory;
......@@ -200,11 +199,6 @@ public class GenericAgentConfigurationItemProvider
(GenericAgentPackage.Literals.GENERIC_AGENT_CONFIGURATION__DELEGATED_OBJECTS,
ScopeFactory.eINSTANCE.createDelegatedObject()));
newChildDescriptors.add
(createChildParameter
(GenericAgentPackage.Literals.GENERIC_AGENT_CONFIGURATION__REQUIRED_OBJECTS,
GenericAgentFactory.eINSTANCE.createRequiredContainer()));
newChildDescriptors.add
(createChildParameter
(GenericAgentPackage.Literals.GENERIC_AGENT_CONFIGURATION__SKELETON,
......
......@@ -94,29 +94,6 @@ public class GenericAgentItemProviderAdapterFactory extends GenericAgentAdapterF
return genericAgentConfigurationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RequiredContainerItemProvider requiredContainerItemProvider;
/**
* This creates an adapter for a {@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRequiredContainerAdapter() {
if (requiredContainerItemProvider == null) {
requiredContainerItemProvider = new RequiredContainerItemProvider(this);
}
return requiredContainerItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
......@@ -217,7 +194,6 @@ public class GenericAgentItemProviderAdapterFactory extends GenericAgentAdapterF
*/
public void dispose() {
if (genericAgentConfigurationItemProvider != null) genericAgentConfigurationItemProvider.dispose();
if (requiredContainerItemProvider != null) requiredContainerItemProvider.dispose();
}
}
/**
*/
package tools.descartes.prisma.agent.generic.genericagent.provider;
import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapeFactory;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage;
import tools.descartes.prisma.agent.generic.genericagent.RequiredContainer;
/**
* This is the item provider adapter for a {@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class RequiredContainerItemProvider extends RequiredObjectItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RequiredContainerItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
}
return itemPropertyDescriptors;
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER);
}
return childrenFeatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
* This returns RequiredContainer.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiredContainer"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
return getString("_UI_RequiredContainer_type");
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(RequiredContainer.class)) {
case GenericAgentPackage.REQUIRED_CONTAINER__CONTAINER:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER,
ResourcelandscapeFactory.eINSTANCE.createComputeNode()));
newChildDescriptors.add
(createChildParameter
(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER,
ResourcelandscapeFactory.eINSTANCE.createStorageNode()));
newChildDescriptors.add
(createChildParameter
(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER,
ResourcelandscapeFactory.eINSTANCE.createRuntimeEnvironment()));
}
}
......@@ -20,7 +20,10 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage;
import tools.descartes.prisma.agent.generic.genericagent.RequiredObject;
/**
* This is the item provider adapter for a {@link tools.descartes.prisma.agent.generic.genericagent.RequiredObject} object.
......@@ -58,6 +61,7 @@ public class RequiredObjectItemProvider
super.getPropertyDescriptors(object);
addObjectPropertyDescriptor(object);
addExchangePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
......@@ -84,6 +88,28 @@ public class RequiredObjectItemProvider
null));
}
/**
* This adds a property descriptor for the Exchange feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addExchangePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_RequiredObject_exchange_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_RequiredObject_exchange_feature", "_UI_RequiredObject_type"),
GenericAgentPackage.Literals.REQUIRED_OBJECT__EXCHANGE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
......@@ -92,7 +118,10 @@ public class RequiredObjectItemProvider
*/
@Override
public String getText(Object object) {
return getString("_UI_RequiredObject_type");
String label = ((RequiredObject)object).getExchange();
return label == null || label.length() == 0 ?
getString("_UI_RequiredObject_type") :
getString("_UI_RequiredObject_type") + " " + label;
}
......@@ -106,6 +135,12 @@ public class RequiredObjectItemProvider
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(RequiredObject.class)) {
case GenericAgentPackage.REQUIRED_OBJECT__EXCHANGE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
......
......@@ -18,10 +18,7 @@
<eClassifiers xsi:type="ecore:EClass" name="RequiredObject" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"
changeable="false" transient="true" derived="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RequiredContainer" eSuperTypes="#//RequiredObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="container" lowerBound="1"
eType="ecore:EClass ../../edu.kit.ipd.descartes.mm.resourcelandscape/model/resourcelandscape.ecore#//Container"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="exchange" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>
......@@ -2,8 +2,6 @@ package tools.descartes.prisma.agent.generic;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
......@@ -26,7 +24,6 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import edu.kit.ipd.descartes.identifier.Identifier;
import edu.kit.ipd.descartes.mm.resourcetype.ResourceType;
import edu.kit.ipd.descartes.mm.resourcetype.ResourceTypeRepository;
import edu.kit.ipd.descartes.mm.resourcetype.ResourcetypePackage;
......@@ -37,10 +34,9 @@ import tools.descartes.prisma.core.ModelRepository;
import tools.descartes.prisma.core.adapter.ModelSkeletonAdapter;
import tools.descartes.prisma.core.adapter.ObjectMatcher;
import tools.descartes.prisma.core.agent.AgentController;
import tools.descartes.prisma.core.agent.DelegationProvider;
import tools.descartes.prisma.core.impl.CDOModelRepository;
import tools.descartes.prisma.core.impl.RabbitMQMessageBus;
import tools.descartes.prisma.model.scope.DelegatedObject;
import tools.descartes.prisma.core.scopes.ModelNotification;
import tools.descartes.prisma.model.skeleton.ModelSkeleton;
public class GenericAgent implements IApplication {
......@@ -52,54 +48,28 @@ public class GenericAgent implements IApplication {
public GenericAgentController(ModelRepository repository, MessageBus messageBus,
GenericAgentConfiguration configuration) {
super(repository, messageBus, configuration.getScope().getPath(), configuration.getId());
}
@Override
protected void notifyAddDelegatedElement(EObject newElement, Map<String, String> additionalProperties) {
delegatedObjects.add(newElement);
}
@Override
protected void notifyRemoveDelegatedElement(EObject oldElement, Map<String, String> additionalProperties) {
delegatedObjects.remove(oldElement);
}
public Set<EObject> getDelegatedObjects() {
return delegatedObjects;
}
}
private class GenericDelegationProvider implements DelegationProvider {
private final Map<String, Map<String, String>> elements = new HashMap<>();
public GenericDelegationProvider(GenericAgentConfiguration configuration) {
for (DelegatedObject curElement : configuration.getDelegatedObjects()) {
EObject object = curElement.getObject();
if (object instanceof Identifier) {
elements.put(((Identifier) object).getId(), curElement.getAdditionalProperties().map());
Set<String> registeredExchanges = new HashSet<>();
for (RequiredObject reqObj : configuration.getRequiredObjects()) {
if (!registeredExchanges.contains(reqObj.getExchange())) {
getContainerScope().addNotificationHandler(
getContainerScope().getName() + "." + reqObj.getExchange(), "#", this);
registeredExchanges.add(reqObj.getExchange());
}
}
}
@Override
public boolean needsDelegation(EObject object) {
if (object instanceof Identifier) {
return elements.containsKey(((Identifier) object).getId());
public void handleNotification(ModelNotification notification) {
if (notification.getNotificationType().equals(ModelNotification.NEW_NOTIFICATION)) {
delegatedObjects.add(notification.getInstance());
} else if (notification.getNotificationType().equals(ModelNotification.REMOVED_NOTIFICATION)) {
delegatedObjects.remove(notification.getInstance());
}
return false;
}
@Override
public Map<String, String> getAdditionalProperties(EObject object) {
if (object instanceof Identifier) {
Map<String, String> properties = elements.get(((Identifier) object).getId());
if (properties != null) {
return properties;
}
}
return Collections.emptyMap();
public Set<EObject> getDelegatedObjects() {
return delegatedObjects;
}
}
......@@ -154,9 +124,6 @@ public class GenericAgent implements IApplication {
ModelRepository repository = new CDOModelRepository(repositoryHost, repositoryUser, repositoryPassword,
messageBus);
GenericAgentController agent = new GenericAgentController(repository, messageBus, configuration);
agent.setDelegationProvider(new GenericDelegationProvider(configuration));
agent.start().get();
resolvePublicResources(agent, configuration.getSkeleton());
......
......@@ -30,15 +30,6 @@ public interface GenericAgentFactory extends EFactory {
*/
GenericAgentConfiguration createGenericAgentConfiguration();
/**
* Returns a new object of class '<em>Required Container</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Required Container</em>'.
* @generated
*/
RequiredContainer createRequiredContainer();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
......
......@@ -150,69 +150,31 @@ public interface GenericAgentPackage extends EPackage {
int REQUIRED_OBJECT__OBJECT = 0;
/**
* The number of structural features of the '<em>Required Object</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_OBJECT_FEATURE_COUNT = 1;
/**
* The number of operations of the '<em>Required Object</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_OBJECT_OPERATION_COUNT = 0;
/**
* The meta object id for the '{@link tools.descartes.prisma.agent.generic.genericagent.impl.RequiredContainerImpl <em>Required Container</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see tools.descartes.prisma.agent.generic.genericagent.impl.RequiredContainerImpl
* @see tools.descartes.prisma.agent.generic.genericagent.impl.GenericAgentPackageImpl#getRequiredContainer()
* @generated
*/
int REQUIRED_CONTAINER = 2;
/**
* The feature id for the '<em><b>Object</b></em>' reference.
* The feature id for the '<em><b>Exchange</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_CONTAINER__OBJECT = REQUIRED_OBJECT__OBJECT;
int REQUIRED_OBJECT__EXCHANGE = 1;
/**
* The feature id for the '<em><b>Container</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_CONTAINER__CONTAINER = REQUIRED_OBJECT_FEATURE_COUNT + 0;
/**
* The number of structural features of the '<em>Required Container</em>' class.
* The number of structural features of the '<em>Required Object</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_CONTAINER_FEATURE_COUNT = REQUIRED_OBJECT_FEATURE_COUNT + 1;
int REQUIRED_OBJECT_FEATURE_COUNT = 2;
/**
* The number of operations of the '<em>Required Container</em>' class.
* The number of operations of the '<em>Required Object</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
int REQUIRED_CONTAINER_OPERATION_COUNT = REQUIRED_OBJECT_OPERATION_COUNT + 0;
int REQUIRED_OBJECT_OPERATION_COUNT = 0;
/**
* Returns the meta object for class '{@link tools.descartes.prisma.agent.generic.genericagent.GenericAgentConfiguration <em>Configuration</em>}'.
......@@ -301,25 +263,15 @@ public interface GenericAgentPackage extends EPackage {
EReference getRequiredObject_Object();
/**
* Returns the meta object for class '{@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer <em>Required Container</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for class '<em>Required Container</em>'.
* @see tools.descartes.prisma.agent.generic.genericagent.RequiredContainer
* @generated
*/
EClass getRequiredContainer();
/**
* Returns the meta object for the containment reference '{@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer#getContainer <em>Container</em>}'.
* Returns the meta object for the attribute '{@link tools.descartes.prisma.agent.generic.genericagent.RequiredObject#getExchange <em>Exchange</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the meta object for the containment reference '<em>Container</em>'.
* @see tools.descartes.prisma.agent.generic.genericagent.RequiredContainer#getContainer()
* @see #getRequiredContainer()
* @return the meta object for the attribute '<em>Exchange</em>'.
* @see tools.descartes.prisma.agent.generic.genericagent.RequiredObject#getExchange()
* @see #getRequiredObject()
* @generated
*/
EReference getRequiredContainer_Container();
EAttribute getRequiredObject_Exchange();
/**
* Returns the factory that creates the instances of the model.
......@@ -413,22 +365,12 @@ public interface GenericAgentPackage extends EPackage {
EReference REQUIRED_OBJECT__OBJECT = eINSTANCE.getRequiredObject_Object();
/**
* The meta object literal for the '{@link tools.descartes.prisma.agent.generic.genericagent.impl.RequiredContainerImpl <em>Required Container</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see tools.descartes.prisma.agent.generic.genericagent.impl.RequiredContainerImpl
* @see tools.descartes.prisma.agent.generic.genericagent.impl.GenericAgentPackageImpl#getRequiredContainer()
* @generated
*/
EClass REQUIRED_CONTAINER = eINSTANCE.getRequiredContainer();
/**
* The meta object literal for the '<em><b>Container</b></em>' containment reference feature.
* The meta object literal for the '<em><b>Exchange</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EReference REQUIRED_CONTAINER__CONTAINER = eINSTANCE.getRequiredContainer_Container();
EAttribute REQUIRED_OBJECT__EXCHANGE = eINSTANCE.getRequiredObject_Exchange();
}
......
......@@ -15,6 +15,7 @@ import org.eclipse.emf.ecore.EObject;
* </p>
* <ul>
* <li>{@link tools.descartes.prisma.agent.generic.genericagent.RequiredObject#getObject <em>Object</em>}</li>
* <li>{@link tools.descartes.prisma.agent.generic.genericagent.RequiredObject#getExchange <em>Exchange</em>}</li>
* </ul>
*
* @see tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage#getRequiredObject()
......@@ -38,4 +39,30 @@ public interface RequiredObject extends CDOObject {
* @generated
*/
EObject getObject();
/**
* Returns the value of the '<em><b>Exchange</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Exchange</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Exchange</em>' attribute.
* @see #setExchange(String)
* @see tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage#getRequiredObject_Exchange()
* @model required="true"
* @generated
*/
String getExchange();
/**
* Sets the value of the '{@link tools.descartes.prisma.agent.generic.genericagent.RequiredObject#getExchange <em>Exchange</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Exchange</em>' attribute.
* @see #getExchange()
* @generated
*/
void setExchange(String value);
} // RequiredObject
......@@ -57,7 +57,6 @@ public class GenericAgentFactoryImpl extends EFactoryImpl implements GenericAgen
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case GenericAgentPackage.GENERIC_AGENT_CONFIGURATION: return (EObject)createGenericAgentConfiguration();
case GenericAgentPackage.REQUIRED_CONTAINER: return (EObject)createRequiredContainer();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
......@@ -73,16 +72,6 @@ public class GenericAgentFactoryImpl extends EFactoryImpl implements GenericAgen
return genericAgentConfiguration;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RequiredContainer createRequiredContainer() {
RequiredContainerImpl requiredContainer = new RequiredContainerImpl();
return requiredContainer;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
......
......@@ -2,7 +2,6 @@
*/
package tools.descartes.prisma.agent.generic.genericagent.impl;
import edu.kit.ipd.descartes.mm.resourcelandscape.ResourcelandscapePackage;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
......@@ -13,8 +12,6 @@ import org.eclipse.emf.ecore.impl.EPackageImpl;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentConfiguration;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentFactory;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage;
import tools.descartes.prisma.agent.generic.genericagent.RequiredContainer;
import tools.descartes.prisma.agent.generic.genericagent.RequiredObject;
import tools.descartes.prisma.model.scope.ScopePackage;
import tools.descartes.prisma.model.sensor.SensorPackage;
......@@ -40,13 +37,6 @@ public class GenericAgentPackageImpl extends EPackageImpl implements GenericAgen
* @generated
*/
private EClass requiredObjectEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass requiredContainerEClass = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
......@@ -190,17 +180,8 @@ public class GenericAgentPackageImpl extends EPackageImpl implements GenericAgen
* <!-- end-user-doc -->
* @generated
*/
public EClass getRequiredContainer() {
return requiredContainerEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRequiredContainer_Container() {
return (EReference)requiredContainerEClass.getEStructuralFeatures().get(0);
public EAttribute getRequiredObject_Exchange() {
return (EAttribute)requiredObjectEClass.getEStructuralFeatures().get(1);
}
/**
......@@ -240,9 +221,7 @@ public class GenericAgentPackageImpl extends EPackageImpl implements GenericAgen
requiredObjectEClass = createEClass(REQUIRED_OBJECT);
createEReference(requiredObjectEClass, REQUIRED_OBJECT__OBJECT);
requiredContainerEClass = createEClass(REQUIRED_CONTAINER);
createEReference(requiredContainerEClass, REQUIRED_CONTAINER__CONTAINER);
createEAttribute(requiredObjectEClass, REQUIRED_OBJECT__EXCHANGE);
}
/**
......@@ -271,14 +250,12 @@ public class GenericAgentPackageImpl extends EPackageImpl implements GenericAgen
// Obtain other dependent packages
ScopePackage theScopePackage = (ScopePackage)EPackage.Registry.INSTANCE.getEPackage(ScopePackage.eNS_URI);
SkeletonPackage theSkeletonPackage = (SkeletonPackage)EPackage.Registry.INSTANCE.getEPackage(SkeletonPackage.eNS_URI);
ResourcelandscapePackage theResourcelandscapePackage = (ResourcelandscapePackage)EPackage.Registry.INSTANCE.getEPackage(ResourcelandscapePackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
requiredContainerEClass.getESuperTypes().add(this.getRequiredObject());
// Initialize classes, features, and operations; add parameters
initEClass(genericAgentConfigurationEClass, GenericAgentConfiguration.class, "GenericAgentConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
......@@ -290,9 +267,7 @@ public class GenericAgentPackageImpl extends EPackageImpl implements GenericAgen
initEClass(requiredObjectEClass, RequiredObject.class, "RequiredObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRequiredObject_Object(), ecorePackage.getEObject(), null, "object", null, 0, 1, RequiredObject.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEClass(requiredContainerEClass, RequiredContainer.class, "RequiredContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRequiredContainer_Container(), theResourcelandscapePackage.getContainer(), null, "container", null, 1, 1, RequiredContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRequiredObject_Exchange(), ecorePackage.getEString(), "exchange", null, 1, 1, RequiredObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Create resource
createResource(eNS_URI);
......
/**
*/
package tools.descartes.prisma.agent.generic.genericagent.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import tools.descartes.prisma.agent.generic.genericagent.GenericAgentPackage;
import tools.descartes.prisma.agent.generic.genericagent.RequiredContainer;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Required Container</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link tools.descartes.prisma.agent.generic.genericagent.impl.RequiredContainerImpl#getContainer <em>Container</em>}</li>
* </ul>
*
* @generated
*/
public class RequiredContainerImpl extends RequiredObjectImpl implements RequiredContainer {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RequiredContainerImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return GenericAgentPackage.Literals.REQUIRED_CONTAINER;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public edu.kit.ipd.descartes.mm.resourcelandscape.Container getContainer() {
return (edu.kit.ipd.descartes.mm.resourcelandscape.Container)eGet(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER, true);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setContainer(edu.kit.ipd.descartes.mm.resourcelandscape.Container newContainer) {
eSet(GenericAgentPackage.Literals.REQUIRED_CONTAINER__CONTAINER, newContainer);
}
@Override
public EObject getObject() {
return getContainer();
}
} //RequiredContainerImpl
......@@ -19,6 +19,7 @@ import tools.descartes.prisma.agent.generic.genericagent.RequiredObject;
* </p>
* <ul>
* <li>{@link tools.descartes.prisma.agent.generic.genericagent.impl.RequiredObjectImpl#getObject <em>Object</em>}</li>
* <li>{@link tools.descartes.prisma.agent.generic.genericagent.impl.RequiredObjectImpl#getExchange <em>Exchange</em>}</li>
* </ul>
*
* @generated
......@@ -62,4 +63,22 @@ public abstract class RequiredObjectImpl extends CDOObjectImpl implements Requir
return (EObject)eGet(GenericAgentPackage.Literals.REQUIRED_OBJECT__OBJECT, true);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getExchange() {
return (String)eGet(GenericAgentPackage.Literals.REQUIRED_OBJECT__EXCHANGE, true);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setExchange(String newExchange) {
eSet(GenericAgentPackage.Literals.REQUIRED_OBJECT__EXCHANGE, newExchange);
}
} //RequiredObjectImpl
......@@ -76,10 +76,6 @@ public class GenericAgentAdapterFactory extends AdapterFactoryImpl {
return createRequiredObjectAdapter();
}
@Override
public Adapter caseRequiredContainer(RequiredContainer object) {
return createRequiredContainerAdapter();
}
@Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
......@@ -127,20 +123,6 @@ public class GenericAgentAdapterFactory extends AdapterFactoryImpl {
return null;
}
/**
* Creates a new adapter for an object of class '{@link tools.descartes.prisma.agent.generic.genericagent.RequiredContainer <em>Required Container</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see tools.descartes.prisma.agent.generic.genericagent.RequiredContainer
* @generated
*/
public Adapter createRequiredContainerAdapter() {
return null;
}
/**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
......
......@@ -78,13 +78,6 @@ public class GenericAgentSwitch<T> extends Switch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
case GenericAgentPackage.REQUIRED_CONTAINER: {
RequiredContainer requiredContainer = (RequiredContainer)theEObject;
T result = caseRequiredContainer(requiredContainer);
if (result == null) result = caseRequiredObject(requiredContainer);
if (result == null) result = defaultCase(theEObject);
return result;
}
default: return defaultCase(theEObject);
}
}
......@@ -119,21 +112,6 @@ public class GenericAgentSwitch<T> extends Switch<T> {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Required Container</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Required Container</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRequiredContainer(RequiredContainer object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment