package net.ms.designer.core; import java.io.File; import java.io.IOException; import java.io.Serializable; import net.ms.designer.editors.component.models.CompDiagram; import net.ms.designer.editors.componentdetail.models.AutoNumField; import net.ms.designer.editors.componentdetail.models.ChildTable; import net.ms.designer.editors.componentdetail.models.ComponentTable; import net.ms.designer.editors.componentdetail.models.Container; import net.ms.designer.editors.enumcomponentdetail.model.Table; import net.ms.designer.editors.packages.models.PackageDiagram; import net.ms.designer.editors.packages.ui.PackageEditor; import org.eclipse.draw2d.geometry.Point; import org.eclipse.ui.internal.UIPlugin; public class ContainerFactory implements Serializable { String filePath; Object container; IOStreams stream; MsProject project; private PackageEditor editor; public ContainerFactory(MsProject project) { this.project = project; stream = new IOStreams(); this.editor = (PackageEditor)UIPlugin.getDefault() .getWorkbench().getActiveWorkbenchWindow() .getActivePage().getActiveEditor(); } public Object getContainer(String type , String name) { if(type.equals("package")) { container = new PackageDiagram(); } if(type.equals("component")) { container = new CompDiagram(); } if(type.equals("componentdetail")) { MsElement element = editor.getCurrentElement(); container = new Container(); Container ct = (Container)container; ct.setName(name); ct.setId(element.getId()); ComponentTable table = new ComponentTable(); table.setId(ct.getId()); table.setName(ct.getName()); table.setIName(table.getName()); AutoNumField at = new AutoNumField(); at.setName(ct.getName().toLowerCase() + "id"); at.setIName(at.getName()); ChildTable cd = new ChildTable(); cd.setMainTableName(ct.getName().toLowerCase() + "id"); ct.addChild(table); table.addChild(at); ct.setMainTable(true); } if(type.equals("enumdetail")) { container = new net.ms.designer.editors.enumcomponentdetail.model.Container(); Table table = new Table(); Point p = new Point(88,88); table.setTableName(name); table.setLocation(p); ((net.ms.designer.editors.enumcomponentdetail.model.Container)container).addChild(table); } if(type.equals("workflow")) { container = new net.ms.designer.editors.workflow.models.WorkflowDiagram(); ((net.ms.designer.editors.workflow.models.WorkflowDiagram)container).setName(name); } if(type.equals("subflow")) { container = new net.ms.designer.editors.workflow.models.WorkflowDiagram(); ((net.ms.designer.editors.workflow.models.WorkflowDiagram)container).setIsSubflow(true); ((net.ms.designer.editors.workflow.models.WorkflowDiagram)container).setName(name); } return container; } }