ingenias.editor.ObjectManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ingened Show documentation
Show all versions of ingened Show documentation
Meta-language editor built over INGENME. It is the most basic editor to be used in the rest of projects
/**
* Copyright (C) 2010 Jorge J. Gomez-Sanz
*
*
* This file is part of the INGENME tool. INGENME is an open source meta-editor
* which produces customized editors for user-defined modeling languages
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 3 of the License
*
* 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 General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
**/
package ingenias.editor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import org.jgraph.JGraph;
import org.jgraph.graph.*;
import javax.swing.tree.*;
import javax.swing.JTree;
import ingenias.editor.entities.*;
import ingenias.editor.widget.DnDJTreeObject;
public class ObjectManager extends javax.swing.tree.DefaultMutableTreeNode implements java.io.Serializable {
public DnDJTreeObject arbolObjetos=null;
javax.swing.tree.DefaultMutableTreeNode root=new javax.swing.tree.DefaultMutableTreeNode("SystemObjects");
public javax.swing.tree.DefaultMutableTreeNode PropertyFieldNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaObjectTypeWrapperNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaDiagramNode=null;
public javax.swing.tree.DefaultMutableTreeNode ExternalTypeWrapperNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaRelationshipNode=null;
public javax.swing.tree.DefaultMutableTreeNode DefaultValueNode=null;
public javax.swing.tree.DefaultMutableTreeNode PropertyOrderNode=null;
public javax.swing.tree.DefaultMutableTreeNode DocumentationNode=null;
public javax.swing.tree.DefaultMutableTreeNode PreferredOrderNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaObjectNode=null;
public javax.swing.tree.DefaultMutableTreeNode BasicRepresentationNode=null;
public javax.swing.tree.DefaultMutableTreeNode VisualRepresentationNode=null;
public javax.swing.tree.DefaultMutableTreeNode TypeWrapperNode=null;
public javax.swing.tree.DefaultMutableTreeNode UMLCommentNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaRoleNode=null;
public javax.swing.tree.DefaultMutableTreeNode MetaDiagramTypeWrapperNode=null;
public static ObjectManager initialise(javax.swing.tree.DefaultMutableTreeNode root,DnDJTreeObject arbolObjetos){
ObjectManager om=new ObjectManager(root,arbolObjetos);
return om;
}
private ObjectManager(javax.swing.tree.DefaultMutableTreeNode root,DnDJTreeObject arbolObjetos) {
super("System Objects");
this.root=root;
this.arbolObjetos=arbolObjetos;
PropertyFieldNode=new javax.swing.tree.DefaultMutableTreeNode("PropertyField");
MetaObjectTypeWrapperNode=new javax.swing.tree.DefaultMutableTreeNode("MetaObjectTypeWrapper");
MetaDiagramNode=new javax.swing.tree.DefaultMutableTreeNode("MetaDiagram");
ExternalTypeWrapperNode=new javax.swing.tree.DefaultMutableTreeNode("ExternalTypeWrapper");
MetaRelationshipNode=new javax.swing.tree.DefaultMutableTreeNode("MetaRelationship");
DefaultValueNode=new javax.swing.tree.DefaultMutableTreeNode("DefaultValue");
PropertyOrderNode=new javax.swing.tree.DefaultMutableTreeNode("PropertyOrder");
DocumentationNode=new javax.swing.tree.DefaultMutableTreeNode("Documentation");
PreferredOrderNode=new javax.swing.tree.DefaultMutableTreeNode("PreferredOrder");
MetaObjectNode=new javax.swing.tree.DefaultMutableTreeNode("MetaObject");
BasicRepresentationNode=new javax.swing.tree.DefaultMutableTreeNode("BasicRepresentation");
VisualRepresentationNode=new javax.swing.tree.DefaultMutableTreeNode("VisualRepresentation");
TypeWrapperNode=new javax.swing.tree.DefaultMutableTreeNode("TypeWrapper");
UMLCommentNode=new javax.swing.tree.DefaultMutableTreeNode("UMLComment");
MetaRoleNode=new javax.swing.tree.DefaultMutableTreeNode("MetaRole");
MetaDiagramTypeWrapperNode=new javax.swing.tree.DefaultMutableTreeNode("MetaDiagramTypeWrapper");
/*
// 1st level nodes
addNodeInSortedOrder( root,PropertyFieldNode);
addNodeInSortedOrder( root,MetaDiagramNode);
addNodeInSortedOrder( root,MetaRelationshipNode);
addNodeInSortedOrder( root,DefaultValueNode);
addNodeInSortedOrder( root,PropertyOrderNode);
addNodeInSortedOrder( root,DocumentationNode);
addNodeInSortedOrder( root,PreferredOrderNode);
addNodeInSortedOrder( root,MetaObjectNode);
addNodeInSortedOrder( root,BasicRepresentationNode);
addNodeInSortedOrder( root,VisualRepresentationNode);
addNodeInSortedOrder( root,TypeWrapperNode);
addNodeInSortedOrder( root,UMLCommentNode);
addNodeInSortedOrder( root,MetaRoleNode);
*/
// 2nd and lower nodes
addNodeInSortedOrder( TypeWrapperNode,MetaObjectTypeWrapperNode);
addNodeInSortedOrder( TypeWrapperNode,ExternalTypeWrapperNode);
addNodeInSortedOrder( TypeWrapperNode,MetaDiagramTypeWrapperNode);
}
// Function is a contribution from Ike http://www.groupsrv.com/computers/about116987.html
private void addNodeInSortedOrder(DefaultMutableTreeNode parent,
DefaultMutableTreeNode child){
int n = parent.getChildCount();
if(n==0){
parent.add(child);
return;
}
DefaultMutableTreeNode node=null;
for(int i=0;i0){
parent.insert(child, i);
return;
}
}
parent.add(child);
return;
}
public PropertyField createPropertyField(String id){
PropertyField object=new PropertyField(id);
DefaultMutableTreeNode nn=new DefaultMutableTreeNode(object);
PropertyFieldNode.insert(nn, PropertyFieldNode.getChildCount());
nn.setParent(PropertyFieldNode);
fixAscendants(PropertyFieldNode);
for (int k=0;k entities = getAllObjects();
for (Entity ent:entities){
renameModelID(ent,oldModelId,newModelId);
}
}
public void setRoot(javax.swing.tree.DefaultMutableTreeNode root) {
this.root = root;
}
public javax.swing.tree.DefaultMutableTreeNode getRoot() {
return root;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy