diff options
Diffstat (limited to 'collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java')
-rwxr-xr-x | collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java new file mode 100755 index 0000000000..4feaaff635 --- /dev/null +++ b/collaboration/GSoC-2011-Nirmal/CompositeDiagramGeneratorUsingBatik/src/main/java/org/apache/tuscany/sca/impl/layout/ComponentEntity.java @@ -0,0 +1,251 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +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. + * + */ +public class ComponentEntity 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 HashMap<String, String> referenceToServiceMap = new HashMap<String, String>(); + //private HashSet<String> connectedEntities = new HashSet<String>(); + + + public ComponentEntity(){ + + setHeight(Component.DEFAULT_HEIGHT); + setWidth(Component.DEFAULT_WIDTH); + + setDefaultNoOfSers( + Component.DEFAULT_HEIGHT / + (Service.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT+Service.SPACING_FOR_COMPONENT)); + setDefaultNoOfRefs( + Component.DEFAULT_HEIGHT / + (Reference.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT+Reference.SPACING_FOR_COMPONENT)); + setDefaultNoOfProps( + Component.DEFAULT_WIDTH / + (Property.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT+Property.SPACING_FOR_COMPONENT)); + } + + public void referenceHeight(){ + if(getDefaultNoOfRefs() < getNoOfRefs()){ + + setRefHeight((Component.DEFAULT_HEIGHT / getNoOfRefs()) - Reference.SPACING_FOR_COMPONENT); + } + else + setRefHeight(Reference.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT); + } + + public void serviceHeight(){ + if(getDefaultNoOfSers() < getNoOfSers()){ + + setSerHeight((Component.DEFAULT_HEIGHT / getNoOfSers()) - Service.SPACING_FOR_COMPONENT); + } + else + setSerHeight(Service.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT); + } + + public void propertyLength(){ + if(getDefaultNoOfProps() < getNoOfProps()){ + + setPropLength((Component.DEFAULT_WIDTH / getNoOfProps()) - Property.SPACING_FOR_COMPONENT); + } + else + setPropLength(Property.DEFAULT_MAXIMUM_HEIGHT_FOR_COMPONENT); + } + + /** + * 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 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; +// } + +} |