/*
* argun 1.0
* Web 2.0 delivery framework
* Copyright (C) 2007 Hammurapi Group
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* URL: http://www.hammurapi.biz
* e-Mail: support@hammurapi.biz
*/
package biz.hammurapi.web.webdiagram;
import java.awt.Color;
import java.util.Map;
import javax.swing.tree.TreeNode;
import org.jgraph.graph.DefaultPort;
import org.jgraph.graph.GraphConstants;
import biz.hammurapi.diagram.DiagramEdge;
import biz.hammurapi.diagram.DiagramModel;
import biz.hammurapi.diagram.data.Edge;
public class ServiceFlow extends DiagramEdge {
public ServiceFlow(DiagramModel owner, Edge data) {
super(owner, data);
}
public void setAttributes(Map attributes) {
super.setAttributes(attributes);
GraphConstants.setLineEnd(attributes, GraphConstants.ARROW_SIMPLE);
GraphConstants.setLineWidth(attributes, 1);
GraphConstants.setLineColor(attributes, Color.BLUE);
}
public boolean acceptsSource(Object port) {
if (port==null) {
return false;
}
DefaultPort defaultPort = (DefaultPort) port;
TreeNode portParent = defaultPort.getParent();
if (portParent instanceof Start) {
return true;
}
return portParent instanceof Service && Service.OUTPUT_PORT.equals(defaultPort.getUserObject());
}
public boolean acceptsTarget(Object port) {
if (port==null) {
return false;
}
DefaultPort defaultPort = (DefaultPort) port;
TreeNode portParent = defaultPort.getParent();
if (portParent instanceof Stop) {
return true;
}
return portParent instanceof Service && Service.INPUT_PORT.equals(defaultPort.getUserObject()) ;
}
}
|