/* * The contents of this file are subject to the Mozilla Public License * Version 1.1 (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.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * The Original Code is available at http://www.abiquo.com/..... * * The Initial Developer of the Original Code is Soluciones Grid, S.L. (www.abiquo.com), * Consell de Cent 296, Principal 2�, 08007 Barcelona, Spain. * * No portions of the Code have been created by third parties. * All Rights Reserved. * * Contributor(s): ______________________________________. * * Graphical User Interface of this software may be used under the terms * of the Common Public Attribution License Version 1.0 (the "CPAL License", * available at http://cpal.abiquo.com/), in which case the * provisions of CPAL License are applicable instead of those above. In relation * of this portions of the Code, a Legal Notice according to Exhibits A and B of * CPAL Licence should be provided in any distribution of the corresponding Code * to Graphical User Interface. */ package com.abiquo.abiserver.pojo.virtualappliance; import com.abiquo.abiserver.business.hibernate.pojohb.IPojoHB; import com.abiquo.abiserver.business.hibernate.pojohb.virtualappliance.NodeHB; import com.abiquo.abiserver.business.hibernate.pojohb.virtualappliance.NodeTypeHB; import com.abiquo.abiserver.pojo.IPojo; /** * This class represents a Virtual Appliance's node Relations between nodes are from a child to its * parent * * @author Oliver */ public class Node implements IPojo { /* ------------- Public constants ------------- */ public static final int NODE_NOT_MODIFIED = 0; public static final int NODE_MODIFIED = 1; public static final int NODE_ERASED = 2; public static final int NODE_NEW = 3; /* ------------- Public attributes ------------- */ protected int id; protected String name; protected int idVirtualAppliance; protected NodeType nodeType; // For drawing purposes protected int posX; protected int posY; // For performance purposes // To be set when a node has been modified, when we want to save changes on editing a virtual // appliance protected int modified; /* ------------- Constructor ------------- */ public Node() { id = 0; name = ""; idVirtualAppliance = 0; nodeType = new NodeType(); posX = 0; posY = 0; modified = NODE_NOT_MODIFIED; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIdVirtualAppliance() { return idVirtualAppliance; } public void setIdVirtualAppliance(int idVirtualAppliance) { this.idVirtualAppliance = idVirtualAppliance; } public NodeType getNodeType() { return nodeType; } public void setNodeType(NodeType nodeType) { this.nodeType = nodeType; } public int getPosX() { return posX; } public void setPosX(int posX) { this.posX = posX; } public int getPosY() { return posY; } public void setPosY(int posY) { this.posY = posY; } public int getModified() { return modified; } public void setModified(int modified) { this.modified = modified; } public IPojoHB toPojoHB() { NodeHB nodeHB = new NodeHB(); nodeHB.setIdNode(this.id); nodeHB.setIdVirtualApp(this.idVirtualAppliance); nodeHB.setName(this.name); nodeHB.setNodeTypeHB((NodeTypeHB) this.nodeType.toPojoHB()); nodeHB.setPosX(this.posX); nodeHB.setPosY(this.posY); return nodeHB; } }