/** * This method determines whether the supplied service node * requires layout. * * @param sn The service node * @return Whether the service node requires layout */ protected boolean requiresLayout(ServiceNode sn) { return (sn.getProperties().get(ServiceGraphLayout.X_POSITION) == null); }
if (sn.getProperties().get(ServiceNode.INITIAL_NODE) == Boolean.TRUE) { initialNodes.add(sn);
sn.getProperties().put(ServiceGraphLayout.X_POSITION, x); sn.getProperties().put(ServiceGraphLayout.Y_POSITION, y); sn.getProperties().put(ServiceGraphLayout.WIDTH, SERVICE_WIDTH); sn.getProperties().put(ServiceGraphLayout.HEIGHT, SERVICE_HEADER_PADDING+((OPERATION_HEIGHT + SERVICE_BORDER_PADDING) int maxX=(Integer)sn.getProperties().get(ServiceGraphLayout.X_POSITION) +(Integer)sn.getProperties().get(ServiceGraphLayout.WIDTH); int maxY=(Integer)sn.getProperties().get(ServiceGraphLayout.Y_POSITION) +(Integer)sn.getProperties().get(ServiceGraphLayout.HEIGHT); layoutService(sg, ul.getTarget(), newX, newY); newY += (Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.HEIGHT) +SERVICE_VERTICAL_PADDING;
if (!ul.getSource().getProperties().containsKey(ServiceGraphLayout.WIDTH)) { if (LOG.isLoggable(Level.FINER)) { LOG.fine("Source node on usage link with definition '"+ul.getSource().getService()+"' does not have layout information"); if (!ul.getTarget().getProperties().containsKey(ServiceGraphLayout.WIDTH)) { if (LOG.isLoggable(Level.FINER)) { LOG.fine("Target node on usage link with definition '"+ul.getTarget().getService()+"' does not have layout information"); int x1=(int)(((Integer)ul.getSource().getProperties().get(ServiceGraphLayout.X_POSITION) +(Integer)ul.getSource().getProperties().get(ServiceGraphLayout.WIDTH)) * ratio); int y1=(int)(((Integer)ul.getSource().getProperties().get(ServiceGraphLayout.Y_POSITION)) * ratio); int x2=(int)(((Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.X_POSITION)) * ratio); int y2=(int)(((Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.Y_POSITION)) * ratio); int x3=(int)(((Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.X_POSITION)) * ratio); int y3=(int)(((Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.Y_POSITION) +(Integer)ul.getTarget().getProperties().get(ServiceGraphLayout.HEIGHT)) * ratio); int x4=(int)(((Integer)ul.getSource().getProperties().get(ServiceGraphLayout.X_POSITION) +(Integer)ul.getSource().getProperties().get(ServiceGraphLayout.WIDTH)) * ratio); int y4=(int)(((Integer)ul.getSource().getProperties().get(ServiceGraphLayout.Y_POSITION) +(Integer)ul.getSource().getProperties().get(ServiceGraphLayout.HEIGHT)) * ratio);
if (!sn.getProperties().containsKey(ServiceGraphLayout.WIDTH)) { if (LOG.isLoggable(Level.FINER)) { LOG.fine("Service node with definition '"+sn.getService()+"' does not have layout information"); container.getOwnerDocument().createElement("rect"); int width=(int)((Integer)sn.getProperties().get(ServiceGraphLayout.WIDTH) * ratio); rect.setAttribute("width", ""+width); int height=(int)((Integer)sn.getProperties().get(ServiceGraphLayout.HEIGHT) * ratio); rect.setAttribute("height", ""+height); int x=(int)((Integer)sn.getProperties().get(ServiceGraphLayout.X_POSITION) * ratio); rect.setAttribute("x", ""+x); int y=(int)((Integer)sn.getProperties().get(ServiceGraphLayout.Y_POSITION) * ratio); rect.setAttribute("y", ""+y); x= (Integer)sn.getProperties().get(ServiceGraphLayout.X_POSITION); x += 5; x *= ratio; y=(Integer)sn.getProperties().get(ServiceGraphLayout.Y_POSITION); y += 10; y *= ratio;
sn.getProperties().put(ServiceNode.INITIAL_NODE, initialNodes.contains(sd));