diff --git a/AlgebraicDataflowArchitectureModel/src/algorithms/DataStorageDecision.java b/AlgebraicDataflowArchitectureModel/src/algorithms/DataStorageDecision.java index 028996b..1ebaf1e 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithms/DataStorageDecision.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithms/DataStorageDecision.java @@ -37,7 +37,9 @@ if (resource.getIdentifierTemplate().getResourceStateType() == null) { for (Edge e : resource.getInEdges()) { for (ChannelMember cm : ((ResourceDependency) e).getChannelGenerator().getChannelMembers()) { - if (cm.getStateTransition().getNextStateExpression().getClass() == Term.class) { + if (((PushPullAttribute) ((ResourceDependency) e).getAttribute()).getOptions() + .get(0) == PushPullValue.PUSH + && cm.getStateTransition().getNextStateExpression().getClass() == Term.class) { if (((Term) cm.getStateTransition().getNextStateExpression()).getSymbol().getName() .equals("cons")) { resource.getIdentifierTemplate().setResourceStateType(DataConstraintModel.typeList); @@ -48,7 +50,9 @@ } for (Edge e : resource.getOutEdges()) { for (ChannelMember cm : ((ResourceDependency) e).getChannelGenerator().getChannelMembers()) { - if (cm.getStateTransition().getNextStateExpression().getClass() == Term.class) { + if (((PushPullAttribute) ((ResourceDependency) e).getAttribute()).getOptions() + .get(0) != PushPullValue.PUSH + && cm.getStateTransition().getNextStateExpression().getClass() == Term.class) { if (((Term) cm.getStateTransition().getNextStateExpression()).getSymbol().getName() .equals("cons")) { resource.getIdentifierTemplate().setResourceStateType(DataConstraintModel.typeList);