Loading plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtxDerivedStateComputer.java 0 → 100644 +36 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl; import java.util.List; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.resource.DerivedStateAwareResource; import org.eclipse.xtext.resource.IDerivedStateComputer; //TODO: move upstream class TDLtxDerivedStateComputer implements IDerivedStateComputer { @Override public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) { List<EnumDataType> enums = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), EnumDataType.class); enums.forEach(e-> { e.getValue().forEach(v -> v.setDataType(e)); }); // //TODO: also for gate references (instead of in scope?) // List<GateReference> grs = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), GateReference.class); // grs.forEach(e-> e.setName(e.getName()==null ? // null //e.getComponent().getName()+"_"+e.getGate().getName() // : e.getName())); // grs.forEach(e-> System.out.println(e.getName())); } @Override public void discardDerivedState(DerivedStateAwareResource resource) { List<EnumDataType> enums = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), EnumDataType.class); enums.forEach(e-> { e.getValue().forEach(v -> v.setDataType(null)); }); // //TODO: also for gate references (instead of in scope?) // List<GateReference> grs = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), GateReference.class); // grs.forEach(e-> e.setName(null)); } } No newline at end of file plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtxRuntimeModule.java +33 −0 Original line number Diff line number Diff line Loading @@ -6,7 +6,15 @@ package org.etsi.mts.tdl; import org.eclipse.xtext.conversion.IValueConverterService; import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.resource.DerivedStateAwareResource; import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager; import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy; import org.eclipse.xtext.resource.IDerivedStateComputer; import org.eclipse.xtext.resource.IResourceDescription; import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.scoping.IGlobalScopeProvider; import org.etsi.mts.tdl.scoping.TDLQualifiedNameConverter; import org.etsi.mts.tdl.scoping.TDLtxGlobalScopeProvider; import org.etsi.mts.tdl.scoping.TdlQualifiedNameProvider; /** Loading @@ -24,4 +32,29 @@ public class TDLtxRuntimeModule extends AbstractTDLtxRuntimeModule { public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { return TdlQualifiedNameProvider.class; } public Class<? extends IDerivedStateComputer> bindIDerivedStateComputer() { return TDLtxDerivedStateComputer.class; } // Not needed for Xbase-projects @Override public Class<? extends XtextResource> bindXtextResource() { return DerivedStateAwareResource.class; } // Not needed for Xbase-projects public Class<? extends IResourceDescription.Manager> bindIResourceDescriptionManager() { return DerivedStateAwareResourceDescriptionManager.class; } // public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() { // return RDS.class; // } // @Override // public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { // return TDLtxGlobalScopeProvider.class; // } } Loading
plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtxDerivedStateComputer.java 0 → 100644 +36 −0 Original line number Diff line number Diff line package org.etsi.mts.tdl; import java.util.List; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.resource.DerivedStateAwareResource; import org.eclipse.xtext.resource.IDerivedStateComputer; //TODO: move upstream class TDLtxDerivedStateComputer implements IDerivedStateComputer { @Override public void installDerivedState(DerivedStateAwareResource resource, boolean preLinkingPhase) { List<EnumDataType> enums = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), EnumDataType.class); enums.forEach(e-> { e.getValue().forEach(v -> v.setDataType(e)); }); // //TODO: also for gate references (instead of in scope?) // List<GateReference> grs = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), GateReference.class); // grs.forEach(e-> e.setName(e.getName()==null ? // null //e.getComponent().getName()+"_"+e.getGate().getName() // : e.getName())); // grs.forEach(e-> System.out.println(e.getName())); } @Override public void discardDerivedState(DerivedStateAwareResource resource) { List<EnumDataType> enums = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), EnumDataType.class); enums.forEach(e-> { e.getValue().forEach(v -> v.setDataType(null)); }); // //TODO: also for gate references (instead of in scope?) // List<GateReference> grs = EcoreUtil2.getAllContentsOfType(resource.getContents().get(0), GateReference.class); // grs.forEach(e-> e.setName(null)); } } No newline at end of file
plugins/org.etsi.mts.tdl.tx/src/org/etsi/mts/tdl/TDLtxRuntimeModule.java +33 −0 Original line number Diff line number Diff line Loading @@ -6,7 +6,15 @@ package org.etsi.mts.tdl; import org.eclipse.xtext.conversion.IValueConverterService; import org.eclipse.xtext.naming.IQualifiedNameConverter; import org.eclipse.xtext.naming.IQualifiedNameProvider; import org.eclipse.xtext.resource.DerivedStateAwareResource; import org.eclipse.xtext.resource.DerivedStateAwareResourceDescriptionManager; import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy; import org.eclipse.xtext.resource.IDerivedStateComputer; import org.eclipse.xtext.resource.IResourceDescription; import org.eclipse.xtext.resource.XtextResource; import org.eclipse.xtext.scoping.IGlobalScopeProvider; import org.etsi.mts.tdl.scoping.TDLQualifiedNameConverter; import org.etsi.mts.tdl.scoping.TDLtxGlobalScopeProvider; import org.etsi.mts.tdl.scoping.TdlQualifiedNameProvider; /** Loading @@ -24,4 +32,29 @@ public class TDLtxRuntimeModule extends AbstractTDLtxRuntimeModule { public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { return TdlQualifiedNameProvider.class; } public Class<? extends IDerivedStateComputer> bindIDerivedStateComputer() { return TDLtxDerivedStateComputer.class; } // Not needed for Xbase-projects @Override public Class<? extends XtextResource> bindXtextResource() { return DerivedStateAwareResource.class; } // Not needed for Xbase-projects public Class<? extends IResourceDescription.Manager> bindIResourceDescriptionManager() { return DerivedStateAwareResourceDescriptionManager.class; } // public Class<? extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() { // return RDS.class; // } // @Override // public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { // return TDLtxGlobalScopeProvider.class; // } }