summaryrefslogtreecommitdiffstats
path: root/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java
diff options
context:
space:
mode:
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java')
-rwxr-xr-xcollaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java246
1 files changed, 246 insertions, 0 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java
new file mode 100755
index 0000000000..34c750bbce
--- /dev/null
+++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/Entity.java
@@ -0,0 +1,246 @@
+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.Component;
+import org.apache.tuscany.sca.impl.artifacts.Property;
+import org.apache.tuscany.sca.impl.artifacts.Reference;
+import org.apache.tuscany.sca.impl.artifacts.Service;
+
+/**
+ * Represents an unit (a component including its references, services, properties
+ * and adjacent units) in the diagram.
+ * @author nirmal
+ *
+ */
+public class Entity {
+
+ private String componentName;
+ private int X, Y, level, lane, refHeight, serHeight, propLength;
+
+ 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 HashMap<String, String> referenceToServiceMap = new HashMap<String, String>();
+
+ private ArrayList<String> references = new ArrayList<String>();
+ private ArrayList<String> refProperties = new ArrayList<String>();
+
+ private ArrayList<String> services = new ArrayList<String>();
+ private ArrayList<String> serProperties = new ArrayList<String>();
+
+ private ArrayList<String> properties = new ArrayList<String>();
+ private ArrayList<String> propProperties = new ArrayList<String>();
+
+ private HashSet<String> adjacentEntities = new HashSet<String>();
+
+
+ public Entity(){
+
+
+ }
+
+ public void referenceHeight(){
+ if(Entity.defaultNoOfRefs < getNoOfRefs()){
+
+ refHeight = (Component.DEFAULT_HEIGHT / getNoOfRefs()) - Reference.SPACING;
+ }
+ else
+ refHeight = Reference.MAXIMUM_HEIGHT;
+ }
+
+ public void serviceHeight(){
+ if(Entity.defaultNoOfSers < getNoOfSers()){
+
+ serHeight = (Component.DEFAULT_HEIGHT / getNoOfSers()) - Service.SPACING;
+ }
+ else
+ serHeight = Service.MAXIMUM_HEIGHT;
+ }
+
+ public void propertyLength(){
+ if(Entity.defaultNoOfProps < getNoOfProps()){
+
+ propLength = (Component.DEFAULT_WIDTH / getNoOfProps()) - Property.SPACING;
+ }
+ else
+ propLength = Property.MAXIMUM_HEIGHT;
+ }
+
+ 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){
+
+ adjacentEntities.add(x);
+
+ }
+
+ public void setComponentName(String componentName) {
+ this.componentName = componentName;
+ }
+ public String getComponentName() {
+ return componentName;
+ }
+
+ 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 int getX() {
+ return X;
+ }
+
+ public void setX(int x) {
+ X = x;
+ }
+
+ public int getY() {
+ return Y;
+ }
+
+ public void setY(int y) {
+ Y = y;
+ }
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setLevel(int level) {
+ this.level = level;
+ }
+
+ public int getLane() {
+ return lane;
+ }
+
+ public void setLane(int lane) {
+ this.lane = lane;
+ }
+
+ public ArrayList<String> getRefProperties() {
+ return refProperties;
+ }
+
+ public void setRefProperties(ArrayList<String> refProperties) {
+ this.refProperties = refProperties;
+ }
+
+ public ArrayList<String> getSerProperties() {
+ return serProperties;
+ }
+
+ public void setSerProperties(ArrayList<String> serProperties) {
+ this.serProperties = serProperties;
+ }
+
+ public ArrayList<String> getPropProperties() {
+ return propProperties;
+ }
+
+ public void setPropProperties(ArrayList<String> propProperties) {
+ this.propProperties = propProperties;
+ }
+
+ public int getRefHeight() {
+ return refHeight;
+ }
+
+ public int getSerHeight() {
+ return serHeight;
+ }
+
+ public int getPropLength() {
+ return propLength;
+ }
+
+}