diff options
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java')
-rwxr-xr-x | collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java | 707 |
1 files changed, 341 insertions, 366 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java index e916b176a5..21746dfa28 100755 --- a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/CompositeEntity.java @@ -21,379 +21,354 @@ package org.apache.tuscany.sca.impl.layout; import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; -import org.apache.tuscany.sca.impl.artifacts.ComponentArtifact; -import org.apache.tuscany.sca.impl.artifacts.CompositeArtifact; import org.apache.tuscany.sca.impl.artifacts.Constant; -import org.apache.tuscany.sca.impl.artifacts.PropertyArtifact; -import org.apache.tuscany.sca.impl.artifacts.ReferenceArtifact; -import org.apache.tuscany.sca.impl.artifacts.ServiceArtifact; /** * Represents an unit (a component including its references, services, properties * and adjacent units) in the diagram. * */ -public class CompositeEntity extends Entity{ - -// private String componentName; -// private int X, Y, level=-1, lane=-1, refHeight, serHeight, propLength; -// private final int height= Component.DEFAULT_HEIGHT, width= Component.DEFAULT_WIDTH; -// public static final int defaultNoOfSers= Component.DEFAULT_HEIGHT / (Service.MAXIMUM_HEIGHT+Service.SPACING); -// public static final int defaultNoOfRefs= Component.DEFAULT_HEIGHT / (Reference.MAXIMUM_HEIGHT+Reference.SPACING); //same value for defaultNoOfSers -// public static final int defaultNoOfProps= Component.DEFAULT_WIDTH / (Property.MAXIMUM_HEIGHT+Property.SPACING); - - private final String fileNameSuffix = "_diagram"; - private int maxInternalLevel=0; - private int maxInternalLane=0; - private ComponentEntity[] componentList; - private int[][] connections; - private HashMap<String, String> promoteAService = new HashMap<String, String>(); - private HashMap<String, ArrayList<String>> promoteAReference = new HashMap<String, ArrayList<String>>(); - private ArrayList<String> includedComposites = new ArrayList<String>(); - //private HashSet<String> connectedEntities = new HashSet<String>(); - - - public CompositeEntity(String name){ - - setStartPosition(200); - setLevel(0); - setLane(0); - - setX(getStartPosition()); - setY(getStartPosition()/2); - - setName(name); - //componentList = comps; - //setConnections(conns); - - - - } - - public void referenceHeight(){ - //System.err.println(getDefaultNoOfRefs() + " kkkkkkk "+getNoOfRefs()); - - if(getDefaultNoOfRefs() < getNoOfRefs()){ - - setRefHeight((getHeight() / getNoOfRefs()) - Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE); - } - else - setRefHeight(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_REFERENCE); - } - - public void serviceHeight(){ - if(getDefaultNoOfSers() < getNoOfSers()){ - setSerHeight((getHeight() / getNoOfSers()) - Constant.SPACING_FOR_COMPOSITE_OF_SERVICE); - } - else - setSerHeight(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_SERVICE); - } - - public void propertyLength(){ - if(getDefaultNoOfProps() < getNoOfProps()){ - - setPropLength((getWidth() / getNoOfProps()) - Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY); - } - else - setPropLength(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_PROPERTY); - } - -// /** -// * Put a value to referenceToServiceMap -// * @param ref -// * @param ser -// * @return successfully added or not -// */ -// //assumption there can not be two services for the same reference -// public boolean addToRefToSerMap(String ref, String ser){ -// //ref = ref.toLowerCase(); -// //ser = ser.toLowerCase(); -// -// if (referenceToServiceMap.containsKey(ref)) -// return false; -// -// referenceToServiceMap.put(ref, ser); -// return true; -// } -// -// /** -// * Retrieve a service name for a given reference -// * @param ref -// * @return service name -// */ -// public String getSerOfRef(String ref){ -// //ref = ref.toLowerCase(); -// -// if (!referenceToServiceMap.containsKey(ref)) -// return null; -// -// return referenceToServiceMap.get(ref); -// } -// -// public HashMap<String, String> getReferenceToServiceMap() { -// return referenceToServiceMap; -// } -// -// public void setReferenceToServiceMap( -// HashMap<String, String> referenceToServiceMap) { -// this.referenceToServiceMap = referenceToServiceMap; -// } - - public void calcHeight(int initPoint) { - setHeight((Constant.COMPONENT_DEFAULT_HEIGHT * getSpaceFactor()) * (maxInternalLevel + 1) + initPoint); - } - - public void calcWidth(int initPoint) { - //System.err.println("maxInternalLane "+maxInternalLane); - setWidth((Constant.COMPONENT_DEFAULT_WIDTH * getSpaceFactor()) * (maxInternalLane + 1) + initPoint); - } - - private int max(int a, int b){ - if(a>=b) - return a; - return b; - } - - public void setMaxInternalProperties() { - - for(ComponentEntity ent: componentList){ - - maxInternalLevel = max(maxInternalLevel, ent.getLevel()); - maxInternalLane = max(maxInternalLane, ent.getLane()); - - } - //System.out.println("++++++ "+maxInternalLevel+" +++++ "+maxInternalLane); - } - - public int getMaxInternalLevel() { - return maxInternalLevel; - } - - public int getMaxInternalLane() { - return maxInternalLane; - } - - public boolean addToPromoteAService(String compositeSer, String componentSer){ - //ref = ref.toLowerCase(); - //ser = ser.toLowerCase(); - - if (promoteAService.containsKey(compositeSer)) - return false; - - promoteAService.put(compositeSer, componentSer); - return true; - } - - public void setPromoteAService(HashMap<String, String> promoteAService) { - this.promoteAService = promoteAService; - } - - public HashMap<String, String> getPromoteAService() { - return promoteAService; - } - - public boolean addToPromoteAReference(String compositeRef, String componentRef){ - ArrayList<String> list; - - if (promoteAReference.containsKey(compositeRef)){ - list = promoteAReference.get(compositeRef); - } - else{ - list = new ArrayList<String>(); - } - - list.add(componentRef); - promoteAReference.put(compositeRef, list); - return true; - } - - public boolean addToIncludedComposites(String composite){ - - includedComposites.add(composite); - - return true; - } - - public void setPromoteAReference(HashMap<String, ArrayList<String>> promoteAReference) { - this.promoteAReference = promoteAReference; - } - - public HashMap<String, ArrayList<String>> getPromoteAReference() { - return promoteAReference; - } - - public ComponentEntity[] getComponentList() { - return componentList; - } - - public void setComponentList(ComponentEntity[] componentList) { - this.componentList = componentList; - } - - public void setConnections(int[][] connections) { - this.connections = connections; - } - - public int[][] getConnections() { - return connections; - } - - public void setAttributes() { - - setMaxInternalProperties(); - - - //System.out.println("++++++ "+this.maxInternalLevel); - - calcHeight(getY()); - calcWidth(getX()); - - setDefaultNoOfSers( - getHeight()/ - (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_SERVICE + - Constant.SPACING_FOR_COMPOSITE_OF_SERVICE)); - setDefaultNoOfRefs( - getHeight()/ - (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_REFERENCE + - Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE)); - setDefaultNoOfProps( - getWidth()/ - (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_PROPERTY + - Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY)); - - referenceHeight(); - serviceHeight(); - propertyLength(); - } - - - public ArrayList<String> getIncludedComposites() { - return includedComposites; - } - - public String getFileNameSuffix() { - return fileNameSuffix; - } - - - -// public int getNoOfRefs(){ -// return references.size(); -// } -// -// public int getNoOfSers(){ -// return services.size(); -// } -// -// public int getNoOfProps(){ -// return properties.size(); -// } -// -// public int getNoOfAdjacentUnits(){ -// return adjacentEntities.size(); -// } -// -// /** -// * Put a value to referenceToServiceMap -// * @param ref -// * @param ser -// * @return successfully added or not -// */ -// //assumption there can not be two services for the same reference -// public boolean addToRefToSerMap(String ref, String ser){ -// //ref = ref.toLowerCase(); -// //ser = ser.toLowerCase(); -// -// if (referenceToServiceMap.containsKey(ref)) -// return false; -// -// referenceToServiceMap.put(ref, ser); -// return true; -// } -// -// /** -// * Retrieve a service name for a given reference -// * @param ref -// * @return service name -// */ -// public String getSerOfRef(String ref){ -// //ref = ref.toLowerCase(); -// -// if (!referenceToServiceMap.containsKey(ref)) -// return null; -// -// return referenceToServiceMap.get(ref); -// } -// -// public void addAService(String serName){ -// //serName = serName.toLowerCase(); -// services.add(serName); -// -// } -// -// public void addAReference(String refName){ -// //refName = refName.toLowerCase(); -// references.add(refName); -// -// } -// -// public void addAProperty(String propName){ -// //propName = propName.toLowerCase(); -// properties.add(propName); -// -// } -// -// public void addAnAdjacentEntity(String x){ -//// System.out.println("eee "+x); -// adjacentEntities.add(x); -// -// } -// -// public void addAnConnectedEntity(String x){ -//// System.out.println("eee "+x); -// adjacentEntities.add(x); -// -// } -// -// public HashMap<String, String> getReferenceToServiceMap() { -// return referenceToServiceMap; -// } -// public void setReferenceToServiceMap( -// HashMap<String, String> referenceToServiceMap) { -// this.referenceToServiceMap = referenceToServiceMap; -// } -// public ArrayList<String> getProperties() { -// return properties; -// } -// public void setProperties(ArrayList<String> properties) { -// this.properties = properties; -// } -// public HashSet<String> getAdjacentEntities() { -// return adjacentEntities; -// } -// public void setAdjacentEntities(HashSet<String> adjacentEntities) { -// this.adjacentEntities = adjacentEntities; -// } -// public void setServices(ArrayList<String> services) { -// this.services = services; -// } -// -// public ArrayList<String> getServices() { -// return services; -// } -// -// public ArrayList<String> getReferences() { -// return references; -// } - -// public void setConnectedEntities(HashSet<String> connectedEntities) { -// this.connectedEntities = connectedEntities; -// } -// -// public HashSet<String> getConnectedEntities() { -// return connectedEntities; -// } +public class CompositeEntity extends Entity { + + // private String componentName; + // private int X, Y, level=-1, lane=-1, refHeight, serHeight, propLength; + // private final int height= Component.DEFAULT_HEIGHT, width= Component.DEFAULT_WIDTH; + // public static final int defaultNoOfSers= Component.DEFAULT_HEIGHT / (Service.MAXIMUM_HEIGHT+Service.SPACING); + // public static final int defaultNoOfRefs= Component.DEFAULT_HEIGHT / (Reference.MAXIMUM_HEIGHT+Reference.SPACING); //same value for defaultNoOfSers + // public static final int defaultNoOfProps= Component.DEFAULT_WIDTH / (Property.MAXIMUM_HEIGHT+Property.SPACING); + + private final String fileNameSuffix = "_diagram"; + private int maxInternalLevel = 0; + private int maxInternalLane = 0; + private ComponentEntity[] componentList; + private int[][] connections; + private HashMap<String, String> promoteAService = new HashMap<String, String>(); + private HashMap<String, ArrayList<String>> promoteAReference = new HashMap<String, ArrayList<String>>(); + private ArrayList<String> includedComposites = new ArrayList<String>(); + + //private HashSet<String> connectedEntities = new HashSet<String>(); + + public CompositeEntity(String name) { + + setStartPosition(200); + setLevel(0); + setLane(0); + + setX(getStartPosition()); + setY(getStartPosition() / 2); + + setName(name); + //componentList = comps; + //setConnections(conns); + + } + + public void referenceHeight() { + //System.err.println(getDefaultNoOfRefs() + " kkkkkkk "+getNoOfRefs()); + + if (getDefaultNoOfRefs() < getNoOfRefs()) { + + setRefHeight((getHeight() / getNoOfRefs()) - Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE); + } else + setRefHeight(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_REFERENCE); + } + + public void serviceHeight() { + if (getDefaultNoOfSers() < getNoOfSers()) { + setSerHeight((getHeight() / getNoOfSers()) - Constant.SPACING_FOR_COMPOSITE_OF_SERVICE); + } else + setSerHeight(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_SERVICE); + } + + public void propertyLength() { + if (getDefaultNoOfProps() < getNoOfProps()) { + + setPropLength((getWidth() / getNoOfProps()) - Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY); + } else + setPropLength(Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_PROPERTY); + } + + // /** + // * Put a value to referenceToServiceMap + // * @param ref + // * @param ser + // * @return successfully added or not + // */ + // //assumption there can not be two services for the same reference + // public boolean addToRefToSerMap(String ref, String ser){ + // //ref = ref.toLowerCase(); + // //ser = ser.toLowerCase(); + // + // if (referenceToServiceMap.containsKey(ref)) + // return false; + // + // referenceToServiceMap.put(ref, ser); + // return true; + // } + // + // /** + // * Retrieve a service name for a given reference + // * @param ref + // * @return service name + // */ + // public String getSerOfRef(String ref){ + // //ref = ref.toLowerCase(); + // + // if (!referenceToServiceMap.containsKey(ref)) + // return null; + // + // return referenceToServiceMap.get(ref); + // } + // + // public HashMap<String, String> getReferenceToServiceMap() { + // return referenceToServiceMap; + // } + // + // public void setReferenceToServiceMap( + // HashMap<String, String> referenceToServiceMap) { + // this.referenceToServiceMap = referenceToServiceMap; + // } + + public void calcHeight(int initPoint) { + setHeight((Constant.COMPONENT_DEFAULT_HEIGHT * getSpaceFactor()) * (maxInternalLevel + 1) + initPoint); + } + + public void calcWidth(int initPoint) { + //System.err.println("maxInternalLane "+maxInternalLane); + setWidth((Constant.COMPONENT_DEFAULT_WIDTH * getSpaceFactor()) * (maxInternalLane + 1) + initPoint); + } + + private int max(int a, int b) { + if (a >= b) + return a; + return b; + } + + public void setMaxInternalProperties() { + + for (ComponentEntity ent : componentList) { + + maxInternalLevel = max(maxInternalLevel, ent.getLevel()); + maxInternalLane = max(maxInternalLane, ent.getLane()); + + } + //System.out.println("++++++ "+maxInternalLevel+" +++++ "+maxInternalLane); + } + + public int getMaxInternalLevel() { + return maxInternalLevel; + } + + public int getMaxInternalLane() { + return maxInternalLane; + } + + public boolean addToPromoteAService(String compositeSer, String componentSer) { + //ref = ref.toLowerCase(); + //ser = ser.toLowerCase(); + + if (promoteAService.containsKey(compositeSer)) + return false; + + promoteAService.put(compositeSer, componentSer); + return true; + } + + public void setPromoteAService(HashMap<String, String> promoteAService) { + this.promoteAService = promoteAService; + } + + public HashMap<String, String> getPromoteAService() { + return promoteAService; + } + + public boolean addToPromoteAReference(String compositeRef, String componentRef) { + ArrayList<String> list; + + if (promoteAReference.containsKey(compositeRef)) { + list = promoteAReference.get(compositeRef); + } else { + list = new ArrayList<String>(); + } + + list.add(componentRef); + promoteAReference.put(compositeRef, list); + return true; + } + + public boolean addToIncludedComposites(String composite) { + + includedComposites.add(composite); + + return true; + } + + public void setPromoteAReference(HashMap<String, ArrayList<String>> promoteAReference) { + this.promoteAReference = promoteAReference; + } + + public HashMap<String, ArrayList<String>> getPromoteAReference() { + return promoteAReference; + } + + public ComponentEntity[] getComponentList() { + return componentList; + } + + public void setComponentList(ComponentEntity[] componentList) { + this.componentList = componentList; + } + + public void setConnections(int[][] connections) { + this.connections = connections; + } + + public int[][] getConnections() { + return connections; + } + + public void setAttributes() { + + setMaxInternalProperties(); + + //System.out.println("++++++ "+this.maxInternalLevel); + + calcHeight(getY()); + calcWidth(getX()); + + setDefaultNoOfSers(getHeight() / (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_SERVICE + Constant.SPACING_FOR_COMPOSITE_OF_SERVICE)); + setDefaultNoOfRefs(getHeight() / (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_REFERENCE + Constant.SPACING_FOR_COMPOSITE_OF_REFERENCE)); + setDefaultNoOfProps(getWidth() / (Constant.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPOSITE_OF_PROPERTY + Constant.SPACING_FOR_COMPOSITE_OF_PROPERTY)); + + referenceHeight(); + serviceHeight(); + propertyLength(); + } + + public ArrayList<String> getIncludedComposites() { + return includedComposites; + } + + public String getFileNameSuffix() { + return fileNameSuffix; + } + + // public int getNoOfRefs(){ + // return references.size(); + // } + // + // public int getNoOfSers(){ + // return services.size(); + // } + // + // public int getNoOfProps(){ + // return properties.size(); + // } + // + // public int getNoOfAdjacentUnits(){ + // return adjacentEntities.size(); + // } + // + // /** + // * Put a value to referenceToServiceMap + // * @param ref + // * @param ser + // * @return successfully added or not + // */ + // //assumption there can not be two services for the same reference + // public boolean addToRefToSerMap(String ref, String ser){ + // //ref = ref.toLowerCase(); + // //ser = ser.toLowerCase(); + // + // if (referenceToServiceMap.containsKey(ref)) + // return false; + // + // referenceToServiceMap.put(ref, ser); + // return true; + // } + // + // /** + // * Retrieve a service name for a given reference + // * @param ref + // * @return service name + // */ + // public String getSerOfRef(String ref){ + // //ref = ref.toLowerCase(); + // + // if (!referenceToServiceMap.containsKey(ref)) + // return null; + // + // return referenceToServiceMap.get(ref); + // } + // + // public void addAService(String serName){ + // //serName = serName.toLowerCase(); + // services.add(serName); + // + // } + // + // public void addAReference(String refName){ + // //refName = refName.toLowerCase(); + // references.add(refName); + // + // } + // + // public void addAProperty(String propName){ + // //propName = propName.toLowerCase(); + // properties.add(propName); + // + // } + // + // public void addAnAdjacentEntity(String x){ + //// System.out.println("eee "+x); + // adjacentEntities.add(x); + // + // } + // + // public void addAnConnectedEntity(String x){ + //// System.out.println("eee "+x); + // adjacentEntities.add(x); + // + // } + // + // public HashMap<String, String> getReferenceToServiceMap() { + // return referenceToServiceMap; + // } + // public void setReferenceToServiceMap( + // HashMap<String, String> referenceToServiceMap) { + // this.referenceToServiceMap = referenceToServiceMap; + // } + // public ArrayList<String> getProperties() { + // return properties; + // } + // public void setProperties(ArrayList<String> properties) { + // this.properties = properties; + // } + // public HashSet<String> getAdjacentEntities() { + // return adjacentEntities; + // } + // public void setAdjacentEntities(HashSet<String> adjacentEntities) { + // this.adjacentEntities = adjacentEntities; + // } + // public void setServices(ArrayList<String> services) { + // this.services = services; + // } + // + // public ArrayList<String> getServices() { + // return services; + // } + // + // public ArrayList<String> getReferences() { + // return references; + // } + + // public void setConnectedEntities(HashSet<String> connectedEntities) { + // this.connectedEntities = connectedEntities; + // } + // + // public HashSet<String> getConnectedEntities() { + // return connectedEntities; + // } } |