/******************************************************************************* * Copyright (c) 2008 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.smooks.graphical.editors; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPartFactory; import org.jboss.tools.smooks.gef.common.RootModel; import org.jboss.tools.smooks.gef.common.SmooksGEFEditFactory; import org.jboss.tools.smooks.gef.tree.editparts.TreeContainerEditPart; import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeConnectionEditPart; import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart; import org.jboss.tools.smooks.gef.tree.model.BeanReferenceConnection; import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel; import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection; import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel; import org.jboss.tools.smooks.gef.tree.model.TriggerConnection; import org.jboss.tools.smooks.gef.tree.model.ValueBindingConnection; import org.jboss.tools.smooks.graphical.editors.editparts.InputDataContainerEditPart; import org.jboss.tools.smooks.graphical.editors.editparts.InputDataTreeNodeEditPart; import org.jboss.tools.smooks.graphical.editors.editparts.ResourceConfigEditFactory; import org.jboss.tools.smooks.graphical.editors.editparts.SmooksRootEditPart; import org.jboss.tools.smooks.graphical.editors.editparts.TriggerConnectionEditPart; import org.jboss.tools.smooks.graphical.editors.editparts.javamapping.BeanReferenceConnectionEditPart; import org.jboss.tools.smooks.graphical.editors.editparts.javamapping.ValueBindingConnectionEditPart; import org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigChildNodeGraphModel; import org.jboss.tools.smooks.graphical.editors.model.AbstractResourceConfigGraphModel; import org.jboss.tools.smooks.graphical.editors.model.InputDataContianerModel; import org.jboss.tools.smooks.graphical.editors.model.InputDataTreeNodeModel; /** * @author Dart * */ public class SmooksEditFactory extends SmooksGEFEditFactory implements EditPartFactory { private ResourceConfigEditFactory resourceConfigFactory; private boolean displayInput = true; public SmooksEditFactory() { super(); resourceConfigFactory = new ResourceConfigEditFactory(); } /** * @return the displayInput */ public boolean isDisplayInput() { return displayInput; } /** * @param displayInput the displayInput to set */ public void setDisplayInput(boolean displayInput) { this.displayInput = displayInput; } public EditPart createEditPart(EditPart context, Object model) { EditPart editPart = null; if (model instanceof RootModel) { editPart = new SmooksRootEditPart(); } if (model.getClass() == TreeNodeModel.class) { editPart = new TreeNodeEditPart(); } if (model.getClass() == TreeContainerModel.class) { editPart = new TreeContainerEditPart(); } if (model.getClass() == InputDataTreeNodeModel.class && displayInput) { editPart = new InputDataTreeNodeEditPart(); } if (model.getClass() == InputDataContianerModel.class && displayInput) { editPart = new InputDataContainerEditPart(); } if (model instanceof AbstractResourceConfigGraphModel || model instanceof AbstractResourceConfigChildNodeGraphModel) { editPart = resourceConfigFactory.createEditPart(model); } if (model.getClass() == TreeNodeConnection.class) { editPart = new TreeNodeConnectionEditPart(); } if(model.getClass() == TriggerConnection.class){ editPart = new TriggerConnectionEditPart(); } if(model.getClass() == ValueBindingConnection.class){ editPart = new ValueBindingConnectionEditPart(); } if(model.getClass() == BeanReferenceConnection.class){ editPart = new BeanReferenceConnectionEditPart(); } if (editPart != null) { editPart.setModel(model); } return editPart; } }