GraphRelationshipImp(ingenias.editor.entities.NAryEdgeEntity rel,ModelJGraph graph, IDEState ids){ super(rel,graph,ids); this.rel=rel; this.graph=graph; dgc=this.getCell(); this.ids=ids; if (ids==null) throw new RuntimeException("The ids parameter cannot be null"); }
@Override public GraphRole[] getRoles(String roleName) { GraphRole[] roles = getRoles(); int k=0; Vector<GraphRole> rolesFound=new Vector<GraphRole>(); for (GraphRole role:roles){ if (role.getName().equalsIgnoreCase(roleName)){ rolesFound.add(role); } } return rolesFound.toArray(new GraphRole[rolesFound.size()]); }
public GraphRelationship[] getRelationships() { Object[] roots= mjg.getRoots(); java.util.Vector v = new java.util.Vector(); boolean found = false; int k = 0; org.jgraph.graph.DefaultGraphCell dgc = null; while (k < roots.length) { Object o = roots[k]; if (org.jgraph.graph.DefaultGraphCell.class.isAssignableFrom(o.getClass())) { dgc = (org.jgraph.graph.DefaultGraphCell) o; if (ingenias.editor.entities.NAryEdgeEntity.class.isAssignableFrom(dgc. getUserObject().getClass())) { ingenias.editor.entities.NAryEdgeEntity ne = (ingenias.editor.entities.NAryEdgeEntity) dgc.getUserObject(); v.add(new GraphRelationshipImp(ne, mjg,ids)); } } k++; } GraphRelationship[] result = new GraphRelationship[v.size()]; for (k = 0; k < result.length; k++) { result[k] = (GraphRelationship) v.elementAt(k); } return result; }
public void actionPerformed(ActionEvent e) { Log.getInstance().logERROR("Replacing"); try { Vector<GraphRelationship> rels = browser.findEntity(ent.getId()).getAllRelationships(); Entity newent = ConvertUtils.convert(state,ent.getId(), ent.getType(), current); for (int j=0;j<rels.size();j++){ ((GraphRelationshipImp)rels.elementAt(j)).getNAryEdge().replace(ent.getId(),newent); } Vector<ModelJGraph> models = state.gm.getUOModels(); for (int j=0;j<models.size();j++){ GraphModel mjg = models.elementAt(j).getModel(); for (int l=0;l<mjg.getRootCount();l++){ if (((DefaultGraphCell)mjg.getRootAt(l)).getUserObject().equals(ent)){ ((DefaultGraphCell)mjg.getRootAt(l)).setUserObject(newent); Log.getInstance().logERROR("Replaced in model "+models.elementAt(j).getName()); } } } } catch (Exception e1) { e1.printStackTrace(); Log.getInstance().log(e1.getMessage()); } } });
public GraphRelationship[] getRelationships(){ Vector v=new Vector(); Iterator ports=dgc.getChildren().iterator(); while (ports.hasNext()){ Object port=ports.next(); Iterator it=graph.getModel().edges(port); while (it.hasNext()){ org.jgraph.graph.Edge current= (org.jgraph.graph.Edge)it.next(); DefaultGraphCell extr=this.getExtreme(current); ingenias.editor.entities.NAryEdgeEntity nary= (ingenias.editor.entities.NAryEdgeEntity)extr.getUserObject(); v.add(nary); } } GraphRelationship[] result=new GraphRelationship[v.size()]; for (int k=0;k<result.length;k++){ result[k]=new GraphRelationshipImp((NAryEdgeEntity)v.elementAt(k),graph,ids); } return result; }
@Override public GraphRelationship[] getRelationships(String type) { Vector v=new Vector(); Iterator ports=dgc.getChildren().iterator(); while (ports.hasNext()){ Object port=ports.next(); Iterator it=graph.getModel().edges(port); while (it.hasNext()){ org.jgraph.graph.Edge current= (org.jgraph.graph.Edge)it.next(); DefaultGraphCell extr=this.getExtreme(current); ingenias.editor.entities.NAryEdgeEntity nary= (ingenias.editor.entities.NAryEdgeEntity)extr.getUserObject(); if (nary.getType().equalsIgnoreCase(type)) v.add(nary); } } GraphRelationship[] result=new GraphRelationship[v.size()]; for (int k=0;k<result.length;k++){ result[k]=new GraphRelationshipImp((NAryEdgeEntity)v.elementAt(k),graph,ids); } return result; }
private HashSet<GraphRelationship> getRelationshipsFromAGraph(ingenias.editor.ModelJGraph graph){ HashSet<GraphRelationship> v=new HashSet<GraphRelationship>(); Enumeration dgcs=this.getCells(graph).elements(); while (dgcs.hasMoreElements()){ DefaultGraphCell dgc=(DefaultGraphCell)dgcs.nextElement(); if (dgc!=null && dgc.getChildren()!=null){ Iterator ports=dgc.getChildren().iterator(); while (ports.hasNext()){ Object port=ports.next(); Iterator it=graph.getModel().edges(port); while (it.hasNext()){ org.jgraph.graph.Edge current= (org.jgraph.graph.Edge)it.next(); DefaultGraphCell extr=this.getExtreme(current); ingenias.editor.entities.NAryEdgeEntity nary= (ingenias.editor.entities.NAryEdgeEntity)extr.getUserObject(); v.add(new GraphRelationshipImp(nary,graph,ids)); } } } } return v; }
return new GraphRelationshipImp((NAryEdgeEntity) nEdge.getUserObject(),graph,ids);