ServiceFlow.java :  » Web-Framework » argun » biz » hammurapi » web » webdiagram » Java Open Source

Java Open Source » Web Framework » argun 
argun » biz » hammurapi » web » webdiagram » ServiceFlow.java
/*
  * 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()) ;
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.