All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ingenias.editor.ObjectManager Maven / Gradle / Ivy

Go to download

Meta-language editor built over INGENME. It is the most basic editor to be used in the rest of projects

There is a newer version: 1.0.9
Show newest version



/** 
 * 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