From: Robert L. <rle...@us...> - 2007-02-27 12:36:20
|
Update of /cvsroot/ccmtools/ccmtools/src/ccmtools/generator/java/metamodel In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv21862/src/ccmtools/generator/java/metamodel Modified Files: ComponentDef.java AttributeDef.java Log Message: now support "set attribute" after "configuration complete" Index: AttributeDef.java =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/ccmtools/generator/java/metamodel/AttributeDef.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** AttributeDef.java 16 Jan 2007 09:25:22 -0000 1.10 --- AttributeDef.java 27 Feb 2007 12:36:16 -0000 1.11 *************** *** 1,10 **** package ccmtools.generator.java.metamodel; import java.util.Set; - import ccmtools.generator.java.templates.AttributeDefAdapterFromCorbaTemplate; import ccmtools.generator.java.templates.AttributeDefAdapterLocalTemplate; import ccmtools.generator.java.templates.AttributeDefAdapterToCorbaTemplate; import ccmtools.generator.java.templates.AttributeDefApplicationImplementationTemplate; import ccmtools.generator.java.templates.AttributeDefDeclarationTemplate; --- 1,11 ---- package ccmtools.generator.java.metamodel; + import java.util.List; import java.util.Set; import ccmtools.generator.java.templates.AttributeDefAdapterFromCorbaTemplate; import ccmtools.generator.java.templates.AttributeDefAdapterLocalTemplate; import ccmtools.generator.java.templates.AttributeDefAdapterToCorbaTemplate; import ccmtools.generator.java.templates.AttributeDefApplicationImplementationTemplate; + import ccmtools.generator.java.templates.AttributeDefAssemblyImplementationTemplate; import ccmtools.generator.java.templates.AttributeDefDeclarationTemplate; *************** *** 86,89 **** --- 87,98 ---- return new AttributeDefApplicationImplementationTemplate().generate(this); } + + public String generateAssemblyImplementation(List<String> assembly_extra_code) + { + this.assembly_extra_code = assembly_extra_code; + return new AttributeDefAssemblyImplementationTemplate().generate(this); + } + + public List<String> assembly_extra_code; Index: ComponentDef.java =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/src/ccmtools/generator/java/metamodel/ComponentDef.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** ComponentDef.java 27 Feb 2007 08:28:16 -0000 1.27 --- ComponentDef.java 27 Feb 2007 12:36:15 -0000 1.28 *************** *** 309,312 **** --- 309,313 ---- { ArrayList<String> list = new ArrayList<String>(); + list.add(TAB3 + "// create inner components"); for (String key : getAssemblyLocalComponents().keySet()) { *************** *** 345,348 **** --- 346,368 ---- } } + list.add("\n" + TAB3 + "// set constant attributes"); + for (AssemblyElement e : assembly_.getElements()) + { + if (e instanceof Constant) + { + Constant c = (Constant) e; + Port target = c.getTarget(); + String value = c.getValue().toString(); + StringBuffer code = new StringBuffer(); + code.append(TAB3); + code.append(target.getComponent()); + code.append("_."); + code.append(target.getConnector()); + code.append("("); + code.append(value); + code.append(");"); + list.add(code.toString()); + } + } return list.iterator(); } *************** *** 402,420 **** list.add(code.toString()); } - else if (e instanceof Constant) - { - Constant c = (Constant) e; - Port target = c.getTarget(); - String value = c.getValue().toString(); - StringBuffer code = new StringBuffer(); - code.append(TAB3); - code.append(target.getComponent()); - code.append("_."); - code.append(target.getConnector()); - code.append("("); - code.append(value); - code.append(");"); - list.add(code.toString()); - } } for (ProvidesDef p : getFacet()) --- 422,425 ---- *************** *** 430,433 **** --- 435,472 ---- } + public List<String> getAssemblyAttributeTarget( String source ) + { + ArrayList<String> list = new ArrayList<String>(); + boolean empty = true; + for (AssemblyElement e : assembly_.getElements()) + { + if (e instanceof Attribute) + { + Attribute a = (Attribute) e; + if (a.getSource().equals(source)) + { + Port target = a.getTarget(); + StringBuilder code = new StringBuilder(); + code.append(TAB3); + code.append(target.getComponent()); + code.append("_."); + code.append(target.getConnector()); + code.append("(this."); + code.append(source); + code.append("_);"); + if (empty) + { + list.add(TAB2 + "if(ccm_activate_ok) {"); + empty = false; + } + list.add(code.toString()); + } + } + } + if (!empty) + list.add(TAB2 + "}"); + return list; + } + private static String getFacetValue( Port source ) { |