01: /*
02: * argun 1.0
03: * Web 2.0 delivery framework
04: * Copyright (C) 2007 Hammurapi Group
05: *
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2 of the License, or (at your option) any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: *
20: * URL: http://www.hammurapi.biz
21: * e-Mail: support@hammurapi.biz
22: */
23: package biz.hammurapi.web.webdiagram;
24:
25: import java.awt.Color;
26: import java.awt.Point;
27: import java.net.URL;
28: import java.util.Map;
29:
30: import javax.swing.ImageIcon;
31:
32: import org.jgraph.graph.GraphConstants;
33:
34: import biz.hammurapi.diagram.DiagramModel;
35: import biz.hammurapi.diagram.data.Cell;
36:
37: public class Service extends Operation {
38:
39: public static final String INPUT_PORT = "Input";
40: public static final String OUTPUT_PORT = "Output";
41: public static final String ERROR_PORT = "Error";
42:
43: public Service(DiagramModel owner, Cell data) {
44: super (owner, data);
45: if (data == null) {
46: setName("Service " + getId());
47: }
48:
49: if (((WebDiagramModel) owner).isCompositeService()) {
50: addPort(new Point(0, GraphConstants.PERMILLE / 2),
51: INPUT_PORT);
52: addPort(new Point(GraphConstants.PERMILLE,
53: GraphConstants.PERMILLE / 3), OUTPUT_PORT);
54: addPort(new Point(GraphConstants.PERMILLE,
55: GraphConstants.PERMILLE * 2 / 3), ERROR_PORT);
56: }
57: }
58:
59: public void setAttributes(Map attributes) {
60: super .setAttributes(attributes);
61: // Add a Border Color Attribute to the Map
62: GraphConstants.setBorderColor(attributes, Color.BLACK);
63:
64: // Add a White Background
65: GraphConstants.setBackground(attributes, new Color(255, 230,
66: 230));
67: // Make Vertex Opaque
68: GraphConstants.setOpaque(attributes, true);
69:
70: URL saveAndCloseUrl = getClass().getClassLoader().getResource(
71: "biz/hammurapi/diagram/images/service.gif");
72: ImageIcon saveAndCloseIcon = new ImageIcon(saveAndCloseUrl);
73: GraphConstants.setIcon(attributes, saveAndCloseIcon);
74:
75: if (((WebDiagramModel) getModel()).isCompositeService()) {
76: GraphConstants.setInset(attributes, 10);
77: }
78: }
79: }
|