Update of /cvsroot/ccmtools/ccmtools/src/ccmtools/generator/java/metamodel
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv10938/src/ccmtools/generator/java/metamodel
Modified Files:
ComponentDef.java
Log Message:
Java assemblies
Index: ComponentDef.java
===================================================================
RCS file: /cvsroot/ccmtools/ccmtools/src/ccmtools/generator/java/metamodel/ComponentDef.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** ComponentDef.java 19 Feb 2007 09:09:42 -0000 1.22
--- ComponentDef.java 19 Feb 2007 09:39:22 -0000 1.23
***************
*** 4,7 ****
--- 4,8 ----
import java.util.ArrayList;
import java.util.HashMap;
+ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
***************
*** 326,329 ****
--- 327,331 ----
public Iterator getAssemblyAttributeSetup()
{
+ HashSet<String> outer_facets = new HashSet<String>();
ArrayList<String> list = new ArrayList<String>();
for (AssemblyElement e : assembly_.getElements())
***************
*** 335,343 ****
String code_tail;
Port target = c.getReceptacle();
! String target_name=target.getConnector();
! if(target.getComponent()==null)
{
// connect to an outer facet
! String check=TAB3+"if("+target_name+"_!=null)";
list.add(check);
code.append(TAB4);
--- 337,345 ----
String code_tail;
Port target = c.getReceptacle();
! String target_name = target.getConnector();
! if (target.getComponent() == null)
{
// connect to an outer facet
! String check = TAB3 + "if(" + target_name + "_!=null)";
list.add(check);
code.append(TAB4);
***************
*** 345,348 ****
--- 347,351 ----
code.append("_.target = ");
code_tail = ";";
+ outer_facets.add(target_name);
}
else
***************
*** 404,411 ****
}
}
return list.iterator();
}
-
/***********************************************************************************************
* Client Library Generator Methods
--- 407,422 ----
}
}
+ for (ProvidesDef p : getFacet())
+ {
+ String name = p.getIdentifier();
+ if (!outer_facets.contains(name))
+ {
+ throw new RuntimeException("facet " + name
+ + " is not connected to an inner component");
+ }
+ }
return list.iterator();
}
/***********************************************************************************************
* Client Library Generator Methods
|