Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/newgen' into newgen-iliasg
Browse files Browse the repository at this point in the history
Resolved Conflicts:
	jdeeco-core/src/cz/cuni/mff/d3s/deeco/annotations/processor/AnnotationProcessor.java
	jdeeco-core/src/cz/cuni/mff/d3s/deeco/task/KnowledgePathHelper.java
  • Loading branch information
iliasger committed Nov 19, 2013
2 parents 3a347a1 + 9f078fc commit 43a11fb
Show file tree
Hide file tree
Showing 34 changed files with 11,638 additions and 481 deletions.
11,475 changes: 11,475 additions & 0 deletions jdeeco-architecture/architecture-18.11.2013.emx

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions jdeeco-architecture/reverse-jdeeco-core.tc
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
<Property id="CONTEXT_TARGET_CONTAINER" value="@46,=@com.ibm.xtools.transform.core.metatype.project/jdeeco-architecture"/>
<Property id="DCMP" value="@43,10@com.ibm.xtools.transform.core.metatype.DCMPConceptual1"/>
<Property id="EnableReverseTransformation" value="@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="FORWARD_TRANSFORMATION_EXTENSIONS_STATUS" value="@42,114@com.ibm.xtools.transform.core.metatype.Mapcom.ibm.xtools.transform.java.uml.varargextension=false, com.ibm.xtools.transform.java.enumext.j2u.transform=falsejava.util.HashMap,100,57,102,57&lt;ELEM_START&gt;@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.uml.varargextension,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.enumext.j2u.transform,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="REVERSE_TRANSFORMATION_EXTENSIONS_STATUS" value="@42,261@com.ibm.xtools.transform.core.metatype.Mapcom.ibm.xtools.transform.java.extensions.customGetterSetter=false, com.ibm.xtools.transform.java.enumext.u2j.transform=false, com.ibm.xtools.transform.uml2.java.sm.PassiveClassStatemachineExtension=true, com.ibm.xtools.transform.uml2.java5.varargextension=falsejava.util.HashMap,110,57,102,57,122,56,102,57&lt;ELEM_START&gt;@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.extensions.customGetterSetter,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.enumext.u2j.transform,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.uml2.java.sm.PassiveClassStatemachineExtension,@46,=@com.ibm.xtools.transform.core.metatype.booleantrue,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.uml2.java5.varargextension,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="FORWARD_TRANSFORMATION_EXTENSIONS_STATUS" value="@42,114@com.ibm.xtools.transform.core.metatype.Mapcom.ibm.xtools.transform.java.enumext.j2u.transform=false, com.ibm.xtools.transform.java.uml.varargextension=falsejava.util.HashMap,102,57,100,57&lt;ELEM_START&gt;@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.enumext.j2u.transform,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.uml.varargextension,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="PARENT_CONFIG_URIS" value="@49,0@com.ibm.xtools.transform.core.metatype.Collectionjava.util.ArrayList&lt;ELEM_START&gt;"/>
<Property id="REVERSE_TRANSFORMATION_EXTENSIONS_STATUS" value="@42,261@com.ibm.xtools.transform.core.metatype.Mapcom.ibm.xtools.transform.java.extensions.customGetterSetter=false, com.ibm.xtools.transform.uml2.java.sm.PassiveClassStatemachineExtension=true, com.ibm.xtools.transform.java.enumext.u2j.transform=false, com.ibm.xtools.transform.uml2.java5.varargextension=falsejava.util.HashMap,110,57,122,56,102,57,102,57&lt;ELEM_START&gt;@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.extensions.customGetterSetter,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.uml2.java.sm.PassiveClassStatemachineExtension,@46,=@com.ibm.xtools.transform.core.metatype.booleantrue,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.java.enumext.u2j.transform,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse,@45,=@com.ibm.xtools.transform.core.metatype.stringcom.ibm.xtools.transform.uml2.java5.varargextension,@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="TRANSFORM_FORWARD_SILENT" value="@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="TRANSFORM_REVERSE_SILENT" value="@46,=@com.ibm.xtools.transform.core.metatype.booleanfalse"/>
<Property id="com.ibm.xtools.transform.java.common.JUAFileName" value="@45,=@com.ibm.xtools.transform.core.metatype.string/jdeeco-architecture/java-uml-assoc.xmi"/>
<Property id="com.ibm.xtools.transform.java.uml.GenerateAssociations" value="@45,=@com.ibm.xtools.transform.core.metatype.stringtrue"/>
<Property id="com.ibm.xtools.transform.java.uml.GeneratePrimitiveAssociations" value="@45,=@com.ibm.xtools.transform.core.metatype.stringfalse"/>
<Property id="com.ibm.xtools.transform.java.uml.GenerateVizAssociations" value="@45,=@com.ibm.xtools.transform.core.metatype.stringtrue"/>
Expand Down
6 changes: 3 additions & 3 deletions jdeeco-core/model/RuntimeModel.ecore
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="knowledgeManager" lowerBound="1"
eType="#//KnowledgeManager"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="otherKnowledgeManagersAccess"
lowerBound="1" eType="#//KnowledgeManagersView"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="shadowKnowledgeManagerRegistry"
lowerBound="1" eType="#//ShadowKnowledgeManagerRegistry"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ensembleControllers" upperBound="-1"
eType="#//EnsembleController" containment="true" eOpposite="#//EnsembleController/componentInstance"/>
</eClassifiers>
Expand Down Expand Up @@ -79,7 +79,7 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="method" lowerBound="1"
eType="#//Method"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="KnowledgeManagersView" instanceClassName="cz.cuni.mff.d3s.deeco.knowledge.KnowledgeManagersView"/>
<eClassifiers xsi:type="ecore:EDataType" name="ShadowKnowledgeManagerRegistry" instanceClassName="cz.cuni.mff.d3s.deeco.knowledge.ShadowKnowledgeManagerRegistry"/>
<eClassifiers xsi:type="ecore:EClass" name="EnsembleController">
<eStructuralFeatures xsi:type="ecore:EReference" name="componentInstance" lowerBound="1"
eType="#//ComponentInstance" eOpposite="#//ComponentInstance/ensembleControllers"/>
Expand Down
4 changes: 2 additions & 2 deletions jdeeco-core/model/RuntimeModel.ecorediag
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@
<children xmi:type="notation:Node" xmi:id="_BJCksD89EeOJd_mPeXeLdw" type="4008"/>
<children xmi:type="notation:Node" xmi:id="_BJDLwD89EeOJd_mPeXeLdw" type="4009"/>
<styles xmi:type="notation:ShapeStyle" xmi:id="_BJAvgT89EeOJd_mPeXeLdw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EDataType" href="RuntimeModel.ecore#//KnowledgeManagersView"/>
<element xmi:type="ecore:EDataType" href="RuntimeModel.ecore#//ShadowKnowledgeManagerRegistry"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_BJAvgj89EeOJd_mPeXeLdw" x="837" y="144"/>
</children>
<children xmi:type="notation:Node" xmi:id="_QCPNkD89EeOJd_mPeXeLdw" type="1001">
Expand Down Expand Up @@ -324,7 +324,7 @@
<layoutConstraint xmi:type="notation:Location" xmi:id="_dmDUY0MNEeO3_auUY0X6vg"/>
</children>
<children xmi:type="notation:Node" xmi:id="_dmD7cEMNEeO3_auUY0X6vg" type="2001">
<element xmi:type="ecore:EAttribute" href="RuntimeModel.ecore#//ComponentInstance/otherKnowledgeManagersAccess"/>
<element xmi:type="ecore:EAttribute" href="RuntimeModel.ecore#//ComponentInstance/shadowKnowledgeManagerRegistry"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_dmD7cUMNEeO3_auUY0X6vg"/>
</children>
<styles xmi:type="notation:DrawerStyle" xmi:id="_dl_C8kMNEeO3_auUY0X6vg"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,9 @@
import cz.cuni.mff.d3s.deeco.annotations.pathparser.ParseException;
import cz.cuni.mff.d3s.deeco.annotations.pathparser.PathParser;
import cz.cuni.mff.d3s.deeco.knowledge.ChangeSet;
import cz.cuni.mff.d3s.deeco.knowledge.CloningKnowledgeManager;
import cz.cuni.mff.d3s.deeco.knowledge.CloningKnowledgeManagerContainer;
import cz.cuni.mff.d3s.deeco.knowledge.KnowledgeManager;
import cz.cuni.mff.d3s.deeco.knowledge.KnowledgeManagerViewImpl;
import cz.cuni.mff.d3s.deeco.knowledge.KnowledgeManagersView;
import cz.cuni.mff.d3s.deeco.model.runtime.api.ComponentInstance;
import cz.cuni.mff.d3s.deeco.model.runtime.api.ComponentProcess;
import cz.cuni.mff.d3s.deeco.model.runtime.api.Condition;
Expand Down Expand Up @@ -189,12 +188,11 @@ ComponentInstance createComponentInstance(Object obj) throws AnnotationParsingEx
ComponentInstance componentInstance = factory.createComponentInstance();
componentInstance.setName(clazz.getCanonicalName());
CloningKnowledgeManagerContainer container = new CloningKnowledgeManagerContainer();
//TODO Below should be the id of the component passed instead of "String"
KnowledgeManager km = container.createLocal(clazz.getSimpleName());
km.update(extractInitialKnowledge(obj));
componentInstance.setKnowledgeManager(km);
KnowledgeManagersView view = new KnowledgeManagerViewImpl(km, container);
componentInstance.setOtherKnowledgeManagersAccess(view);

//TODO Below should be the id of the component passed instead of "String"
KnowledgeManager km = new CloningKnowledgeManager(clazz.getSimpleName());
km.update(extractInitialKnowledge(obj));
componentInstance.setKnowledgeManager(km);
List<Method> methods = getMethodsMarkedAsProcesses(clazz);
try {
for (Method m : methods) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class SameThreadExecutor implements Executor {


@Override
public synchronized void execute(Task task, Trigger trigger) {
public void execute(Task task, Trigger trigger) {
if (task != null) {
try {
task.invoke(trigger);
Expand All @@ -36,7 +36,7 @@ public synchronized void execute(Task task, Trigger trigger) {
}

@Override
public synchronized void setExecutionListener(ExecutionListener listener) {
public void setExecutionListener(ExecutionListener listener) {
this.listener = listener;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public ValueSet get(Collection<KnowledgePath> knowledgePaths)
* cz.cuni.mff.d3s.deeco.knowledge.TriggerListener)
*/
@Override
public synchronized void register(Trigger trigger,
public void register(Trigger trigger,
TriggerListener triggerListener) {
if (trigger instanceof KnowledgeChangeTrigger) {
KnowledgeChangeTrigger kct = (KnowledgeChangeTrigger) trigger;
Expand All @@ -99,7 +99,7 @@ public synchronized void register(Trigger trigger,
* cz.cuni.mff.d3s.deeco.knowledge.TriggerListener)
*/
@Override
public synchronized void unregister(Trigger trigger,
public void unregister(Trigger trigger,
TriggerListener triggerListener) {
if (trigger instanceof KnowledgeChangeTrigger) {
KnowledgePath kp = ((KnowledgeChangeTrigger) trigger)
Expand All @@ -110,6 +110,10 @@ public synchronized void unregister(Trigger trigger,
}
}

// FIXME TB: The code here desperately needs comments - in this case even inside the functions
// BTW, is the check implemented whether a path forming a prefix is already contained?
// BTW, why do you decompose the initial object on the first level of nesting? Why can't you just store the initial object as such?

/*
* (non-Javadoc)
*
Expand All @@ -118,7 +122,7 @@ public synchronized void unregister(Trigger trigger,
* .deeco.knowledge.ChangeSet)
*/
@Override
public synchronized void update(ChangeSet changeSet) {
public void update(ChangeSet changeSet) {
// Update
try {
for (KnowledgePath kp : changeSet.getUpdatedReferences()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public CloningKnowledgeManager(String id) {
* )
*/
@Override
public synchronized ValueSet get(Collection<KnowledgePath> knowledgePaths)
public ValueSet get(Collection<KnowledgePath> knowledgePaths)
throws KnowledgeNotFoundException {
ValueSet values = super.get(knowledgePaths);
ValueSet copy = new ValueSet();
Expand All @@ -44,6 +44,7 @@ public synchronized ValueSet get(Collection<KnowledgePath> knowledgePaths)
return copy;
}

// FIXME TB: Why are these methods overriden?
/*
* (non-Javadoc)
*
Expand All @@ -53,7 +54,7 @@ public synchronized ValueSet get(Collection<KnowledgePath> knowledgePaths)
* cz.cuni.mff.d3s.deeco.knowledge.TriggerListener)
*/
@Override
public synchronized void register(Trigger trigger,
public void register(Trigger trigger,
TriggerListener triggerListener) {
super.register(trigger, triggerListener);
}
Expand All @@ -67,7 +68,7 @@ public synchronized void register(Trigger trigger,
* cz.cuni.mff.d3s.deeco.knowledge.TriggerListener)
*/
@Override
public synchronized void unregister(Trigger trigger,
public void unregister(Trigger trigger,
TriggerListener triggerListener) {
super.unregister(trigger, triggerListener);
}
Expand All @@ -80,7 +81,7 @@ public synchronized void unregister(Trigger trigger,
* .d3s.deeco.knowledge.ChangeSet)
*/
@Override
public synchronized void update(ChangeSet changeSet) {
public void update(ChangeSet changeSet) {
ChangeSet copy = new ChangeSet();
// only values need to be cloned (cloning KnowledgePaths in a full model
// causes a loopback in the cloner)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public CloningKnowledgeManagerContainer() {
}

@Override
public synchronized KnowledgeManager createLocal(String id) {
public KnowledgeManager createLocal(String id) {
KnowledgeManager result = new CloningKnowledgeManager(id);
locals.add(result);
for (LocalListener listener : localListeners)
Expand All @@ -32,7 +32,7 @@ public synchronized KnowledgeManager createLocal(String id) {
}

@Override
public synchronized KnowledgeManager removeLocal(KnowledgeManager km) {
public KnowledgeManager removeLocal(KnowledgeManager km) {
if (locals.contains(km)) {
locals.remove(km);
for (LocalListener listener : localListeners)
Expand All @@ -43,18 +43,18 @@ public synchronized KnowledgeManager removeLocal(KnowledgeManager km) {
}

@Override
public synchronized List<KnowledgeManager> getLocals() {
public List<KnowledgeManager> getLocals() {
return locals;
}

@Override
public synchronized void registerLocalListener(LocalListener listener) {
public void registerLocalListener(LocalListener listener) {
if (!localListeners.contains(listener))
localListeners.add(listener);
}

@Override
public synchronized KnowledgeManager removeReplica(KnowledgeManager km) {
public KnowledgeManager removeReplica(KnowledgeManager km) {
if (replicas.contains(km)) {
replicas.remove(km);
for (ReplicaListener listener : replicaListeners)
Expand All @@ -65,18 +65,18 @@ public synchronized KnowledgeManager removeReplica(KnowledgeManager km) {
}

@Override
public synchronized List<KnowledgeManager> getReplicas() {
public List<KnowledgeManager> getReplicas() {
return replicas;
}

@Override
public synchronized void registerReplicaListener(ReplicaListener listener) {
public void registerReplicaListener(ReplicaListener listener) {
if (!replicaListeners.contains(listener))
replicaListeners.add(listener);
}

@Override
public synchronized KnowledgeManager createReplica(String id) {
public KnowledgeManager createReplica(String id) {
KnowledgeManager result = new CloningKnowledgeManager(id);
if (!(locals.contains(result) || replicas.contains(result))) {
replicas.add(result);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

/**
* This interface allows the user to add, update and read the values from
* KnowledgeSet. Also, it allows to bind a trigger to tirggerListener or unbind
* KnowledgeSet. Also, it allows to bind a trigger to triggerListener or unbind
* it.
*
* * It is assumed that {@link KnowledgePath} instances used with this instance are
* It is assumed that {@link KnowledgePath} instances used with this instance are
* absolute, meaning that they are fully evaluated.
*
* @author Rima Al Ali <alali@d3s.mff.cuni.cz>
Expand Down

This file was deleted.

72 changes: 0 additions & 72 deletions jdeeco-core/src/cz/cuni/mff/d3s/deeco/knowledge/OutWrapper.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

/**
* This interface allows the user to read the values from KnowledgeSet. Also,
* the interface allows to bind a trigger to tirggerListener or unbind it.
* the interface allows to bind a trigger to triggerListener or unbind it.
*
* It is assumed that {@link KnowledgePath} instances used with this instance are
* absolute, meaning that they are fully evaluated.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

import cz.cuni.mff.d3s.deeco.model.runtime.api.Trigger;

// FIXME TB: Any idea of some better name of the class? I would say this name is rather misleading.

// FIXME TB: Rewrite the Javadoc comment to the class. At this point it's a bit misleading. In particular:
// - "user" ???
// - "triggers of the others" ???
Expand All @@ -19,15 +17,10 @@
* @author Rima Al Ali <alali@d3s.mff.cuni.cz>
*
*/
public interface KnowledgeManagersView {

public Collection<ReadOnlyKnowledgeManager> getOtherKnowledgeManagers();
// Rima : It is a little bit confusing to have the same name
// register/unregister as in KnowledgeManager.
// TB@RA: Good point. However, I can't come up with any better name. Any suggestions?
public interface ShadowKnowledgeManagerRegistry {

// FIXME TB: It would make more sense to have a separate listener for triggers on shadows since that listener
// should additionally provide the information, in which shadow KM the trigger occured.
public Collection<ReadOnlyKnowledgeManager> getShadowKnowledgeManagers();

public void register(Trigger trigger, ShadowsTriggerListener triggerListener);
public void unregister(Trigger trigger, ShadowsTriggerListener triggerListener);

Expand Down
Loading

0 comments on commit 43a11fb

Please sign in to comment.