Search in sources :

Example 6 with BusinessItem

use of org.talend.designer.business.model.business.BusinessItem in project tdi-studio-se by Talend.

the class ElementHelper method getElement.

/**
     * DOC mhelleboid Comment method "getElement".
     * 
     * @param editPart
     * @return
     */
public BusinessItem getElement(EditPart editPart) {
    Object model = editPart.getModel();
    if (model instanceof View) {
        View node = (View) model;
        EObject element = node.getElement();
        if (element instanceof BusinessItem) {
            return (BusinessItem) element;
        }
    }
    return null;
}
Also used : EObject(org.eclipse.emf.ecore.EObject) EObject(org.eclipse.emf.ecore.EObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) View(org.eclipse.gmf.runtime.notation.View) BusinessItem(org.talend.designer.business.model.business.BusinessItem)

Example 7 with BusinessItem

use of org.talend.designer.business.model.business.BusinessItem in project tdi-studio-se by Talend.

the class ClipboardActionHandler method saveCut.

private void saveCut(ISelection object) {
    cutItemIds = new HashMap();
    if (object instanceof IStructuredSelection) {
        for (Object obj : ((IStructuredSelection) object).toList()) {
            if (obj instanceof AbstractEditPart) {
                AbstractEditPart editPart = (AbstractEditPart) obj;
                EObject element = ((View) editPart.getModel()).getElement();
                if (element instanceof BusinessItem) {
                    BusinessItem businessItem = (BusinessItem) element;
                    List assignments = new ArrayList();
                    for (Object assignment : businessItem.getAssignments()) {
                        BusinessAssignment ba = (BusinessAssignment) assignment;
                        TalendItem item = ba.getTalendItem();
                        if (item != null) {
                            assignments.add(item.getId());
                        }
                    }
                    cutItemIds.put(businessItem, assignments);
                }
            }
        }
    }
}
Also used : BusinessAssignment(org.talend.designer.business.model.business.BusinessAssignment) HashMap(java.util.HashMap) AbstractEditPart(org.eclipse.gef.editparts.AbstractEditPart) EObject(org.eclipse.emf.ecore.EObject) ArrayList(java.util.ArrayList) EObject(org.eclipse.emf.ecore.EObject) ArrayList(java.util.ArrayList) List(java.util.List) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) TalendItem(org.talend.designer.business.model.business.TalendItem) View(org.eclipse.gmf.runtime.notation.View) BusinessItem(org.talend.designer.business.model.business.BusinessItem)

Example 8 with BusinessItem

use of org.talend.designer.business.model.business.BusinessItem in project tdi-studio-se by Talend.

the class ClipboardActionHandler method transfer.

private void transfer(ISelection object) {
    if (object instanceof IStructuredSelection) {
        List<BusinessItem> selections = new ArrayList();
        for (Object obj : ((IStructuredSelection) object).toList()) {
            if (obj instanceof AbstractEditPart) {
                AbstractEditPart editPart = (AbstractEditPart) obj;
                EObject element = ((View) editPart.getModel()).getElement();
                if (element instanceof BusinessItem) {
                    selections.add((BusinessItem) element);
                }
            }
        }
        TemplateTransfer.getInstance().setObject(selections);
    }
}
Also used : AbstractEditPart(org.eclipse.gef.editparts.AbstractEditPart) EObject(org.eclipse.emf.ecore.EObject) ArrayList(java.util.ArrayList) EObject(org.eclipse.emf.ecore.EObject) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) View(org.eclipse.gmf.runtime.notation.View) BusinessItem(org.talend.designer.business.model.business.BusinessItem)

Example 9 with BusinessItem

use of org.talend.designer.business.model.business.BusinessItem in project tdi-studio-se by Talend.

the class ClipboardActionHandler method getCommand.

@Override
public ICommand getCommand(IGlobalActionContext cntxt) {
    IWorkbenchPart part = cntxt.getActivePart();
    if (!(part instanceof IDiagramWorkbenchPart)) {
        return null;
    }
    IDiagramWorkbenchPart workbenchPart = (IDiagramWorkbenchPart) part;
    DiagramEditPart diagramEditPart = workbenchPart.getDiagramEditPart();
    ICommand command = null;
    String actionId = cntxt.getActionId();
    if (actionId.equals(GlobalActionId.COPY)) {
        command = getCopyCommand(cntxt, workbenchPart, false);
        transfer(cntxt.getSelection());
        isCut = false;
        older = workbenchPart;
        orginalCopyFrom = workbenchPart;
        clonedSourceProcessItemsList = new ArrayList<BusinessItem>(((BusinessProcess) ((Diagram) diagramEditPart.getModel()).getElement()).getBusinessItems());
    } else if (actionId.equals(GlobalActionId.CUT) && cntxt.getSelection() != null) {
        saveCut(cntxt.getSelection());
        command = getCutCommand(cntxt, workbenchPart);
        transfer(cntxt.getSelection());
        isCut = true;
        older = workbenchPart;
        clonedSourceProcessItemsList = new ArrayList<BusinessItem>(((BusinessProcess) ((Diagram) diagramEditPart.getModel()).getElement()).getBusinessItems());
    } else if (actionId.equals(GlobalActionId.SAVE)) {
        if (workbenchPart instanceof IEditorPart) {
            IEditorPart editorPart = (IEditorPart) workbenchPart;
            if (editorPart.isDirty()) {
                IWorkbenchPage page = editorPart.getSite().getPage();
                page.saveEditor(editorPart, false);
            }
        }
    }
    if (actionId.equals(GlobalActionId.PASTE)) {
        // diagramPart.getDiagramGraphicalViewer().setSelection(new
        // StructuredSelection(diagramPart.getDiagramEditPart()));
        PasteViewRequest pasteReq = createPasteViewRequest();
        CommandStack cs = workbenchPart.getDiagramEditDomain().getDiagramCommandStack();
        IStructuredSelection selection = (IStructuredSelection) cntxt.getSelection();
        if (!(selection.getFirstElement() instanceof BusinessProcessEditPart)) {
            selection = new StructuredSelection(workbenchPart.getDiagramEditPart());
        }
        Object[] objects = selection.toArray();
        Collection returnValues = null;
        if (objects.length == 1) {
            Command paste = ((EditPart) objects[0]).getCommand(pasteReq);
            if (paste != null) {
                cs.execute(paste);
                workbenchPart.getDiagramEditPart().getFigure().invalidate();
                workbenchPart.getDiagramEditPart().getFigure().validate();
                returnValues = DiagramCommandStack.getReturnValues(paste);
            // selectAddedObject(diagramPart.getDiagramGraphicalViewer(), returnValues);
            }
        }
        Object elements = TemplateTransfer.getInstance().getObject();
        if (elements instanceof List) {
            List<BusinessItem> list = (List<BusinessItem>) elements;
            boolean inEditors = false;
            if (older != workbenchPart) {
                inEditors = true;
            } else if (!this.isCut && orginalCopyFrom != workbenchPart) {
                // bug 16065 fixed, by xtan. to resolve the copy(A)/parse(B)/parse(B)/parse(B)... problem.
                inEditors = true;
            }
            // always keep the last one as the current selection.
            older = workbenchPart;
            GmfPastCommand pastBusiness = new GmfPastCommand((BusinessProcess) ((Diagram) diagramEditPart.getModel()).getElement(), list, diagramEditPart, this.cutItemIds, this.isCut | inEditors);
            pastBusiness.setClonedSourceProcessItemsList(clonedSourceProcessItemsList);
            try {
                pastBusiness.execute(null, null);
            } catch (ExecutionException e) {
                ExceptionHandler.process(e);
            }
        }
        if (returnValues != null) {
            selectAddedObject(workbenchPart.getDiagramGraphicalViewer(), returnValues);
        }
        return null;
    }
    return command;
}
Also used : PasteViewRequest(org.eclipse.gmf.runtime.diagram.ui.requests.PasteViewRequest) ArrayList(java.util.ArrayList) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) BusinessProcessEditPart(org.talend.designer.business.model.business.diagram.edit.parts.BusinessProcessEditPart) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ICommand(org.eclipse.gmf.runtime.common.core.command.ICommand) ArrayList(java.util.ArrayList) List(java.util.List) ExecutionException(org.eclipse.core.commands.ExecutionException) GmfPastCommand(org.talend.designer.business.diagram.custom.commands.GmfPastCommand) DiagramCommandStack(org.eclipse.gmf.runtime.diagram.ui.parts.DiagramCommandStack) CommandStack(org.eclipse.gef.commands.CommandStack) IDiagramWorkbenchPart(org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart) AbstractEditPart(org.eclipse.gef.editparts.AbstractEditPart) DiagramEditPart(org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart) BusinessProcessEditPart(org.talend.designer.business.model.business.diagram.edit.parts.BusinessProcessEditPart) EditPart(org.eclipse.gef.EditPart) IEditorPart(org.eclipse.ui.IEditorPart) Diagram(org.eclipse.gmf.runtime.notation.Diagram) DiagramEditPart(org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart) ICommand(org.eclipse.gmf.runtime.common.core.command.ICommand) GmfPastCommand(org.talend.designer.business.diagram.custom.commands.GmfPastCommand) Command(org.eclipse.gef.commands.Command) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) Collection(java.util.Collection) EObject(org.eclipse.emf.ecore.EObject) BusinessItem(org.talend.designer.business.model.business.BusinessItem) BusinessProcess(org.talend.designer.business.model.business.BusinessProcess)

Example 10 with BusinessItem

use of org.talend.designer.business.model.business.BusinessItem in project tdi-studio-se by Talend.

the class ElementHelper method updateTooltipFigure.

/**
     * DOC Administrator Comment method "getTooltipFigure".
     * 
     * @param figure
     */
public void updateTooltipFigure(Figure figure, BusinessTooltipFigure tooltipFigure, EditPart editPart) {
    EObject element = ((View) editPart.getModel()).getElement();
    if (element instanceof BusinessItem) {
        List assignements = ((BusinessItem) element).getAssignments();
        BusinessItemProviderAdapterFactory adapterFactory = new BusinessItemProviderAdapterFactory();
        BusinessAssignmentItemProvider provider = (BusinessAssignmentItemProvider) adapterFactory.createBusinessAssignmentAdapter();
        Image img = null;
        Label label = null;
        List<Label> labels = new ArrayList();
        try {
            for (Object assignment : assignements) {
                if (assignment instanceof BusinessAssignment) {
                    TalendItem talendItem = ((BusinessAssignment) assignment).getTalendItem();
                    if (talendItem != null) {
                        IRepositoryViewObject obj = CorePlugin.getDefault().getProxyRepositoryFactory().getLastVersion(talendItem.getId());
                        if (obj != null) {
                            ERepositoryObjectType type = obj.getRepositoryObjectType();
                            Item item = obj.getProperty().getItem();
                            if (item instanceof JobletProcessItem) {
                                JobletProcessItem jobletItem = (JobletProcessItem) item;
                                Image jobletCustomIcon = RepositoryLabelProvider.getJobletCustomIcon(jobletItem.getProperty());
                                if (jobletCustomIcon != null) {
                                    img = ImageUtils.scale(jobletCustomIcon, ICON_SIZE.ICON_16);
                                }
                            } else {
                                img = CoreImageProvider.getImage(type);
                            }
                            //$NON-NLS-1$ //$NON-NLS-2$
                            label = new Label(obj.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", img);
                            labels.add(label);
                        } else {
                            MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(talendItem.getId());
                            Query query = MetadataToolHelper.getQueryFromRepository(talendItem.getId());
                            SAPFunctionUnit function = MetadataToolHelper.getSAPFunctionFromRepository(talendItem.getId());
                            if (table != null) {
                                img = ImageDescriptor.createFromFile(ECoreImage.class, ECoreImage.METADATA_TABLE_ICON.getPath()).createImage();
                                label = new Label(talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", //$NON-NLS-1$ //$NON-NLS-2$
                                img);
                                labels.add(label);
                            } else if (query != null) {
                                img = ImageDescriptor.createFromFile(ECoreImage.class, ECoreImage.METADATA_QUERY_ICON.getPath()).createImage();
                                label = new Label(talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", //$NON-NLS-1$ //$NON-NLS-2$
                                img);
                                labels.add(label);
                            } else if (talendItem instanceof SQLPattern) {
                                List<IRepositoryViewObject> list = ProxyRepositoryFactory.getInstance().getAll(ERepositoryObjectType.SQLPATTERNS);
                                for (IRepositoryViewObject object : list) {
                                    if (talendItem.getLabel().equals(object.getLabel())) {
                                        img = ImageDescriptor.createFromFile(ECoreImage.class, ECoreImage.METADATA_SQLPATTERN_ICON.getPath()).createImage();
                                        label = new Label(//$NON-NLS-1$
                                        talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", //$NON-NLS-1$
                                        img);
                                        labels.add(label);
                                    }
                                }
                            } else if (talendItem instanceof Routine) {
                                List<IRepositoryViewObject> list = ProxyRepositoryFactory.getInstance().getAll(ERepositoryObjectType.ROUTINES);
                                for (IRepositoryViewObject object : list) {
                                    if (talendItem.getLabel().equals(object.getLabel())) {
                                        img = ImageDescriptor.createFromFile(ECoreImage.class, ECoreImage.ROUTINE_ICON.getPath()).createImage();
                                        label = new Label(//$NON-NLS-1$
                                        talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", //$NON-NLS-1$
                                        img);
                                        labels.add(label);
                                    }
                                }
                            } else if (function != null) {
                                img = ImageDescriptor.createFromFile(ECoreImage.class, ECoreImage.METADATA_SAPCONNECTION_ICON.getPath()).createImage();
                                label = new Label(talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", //$NON-NLS-1$ //$NON-NLS-2$
                                img);
                                labels.add(label);
                            } else {
                                img = (Image) provider.getImage(assignment);
                                img = new OverlayImage(img, ImageProvider.getImageDesc(ECoreImage.DELETED_OVERLAY), EPosition.BOTTOM_RIGHT).createImage();
                                String text = provider.getText(assignment) + " (" + provider.getColumnText(assignment, 0) + //$NON-NLS-1$ //$NON-NLS-2$
                                ")";
                                label = new Label(text, img);
                                labels.add(label);
                            }
                        }
                    }
                }
            }
            if (tooltipFigure == null) {
                tooltipFigure = new BusinessTooltipFigure();
            }
            if (labels.size() == 0) {
                figure.setToolTip(null);
            } else {
                tooltipFigure.buildFigures(labels);
                figure.setToolTip(tooltipFigure);
            }
        } catch (PersistenceException e) {
            ExceptionHandler.process(e);
        }
    }
}
Also used : BusinessAssignment(org.talend.designer.business.model.business.BusinessAssignment) Query(org.talend.core.model.metadata.builder.connection.Query) SAPFunctionUnit(org.talend.core.model.metadata.builder.connection.SAPFunctionUnit) Label(org.eclipse.draw2d.Label) ArrayList(java.util.ArrayList) Image(org.eclipse.swt.graphics.Image) OverlayImage(org.talend.commons.ui.runtime.image.OverlayImage) ECoreImage(org.talend.commons.ui.runtime.image.ECoreImage) BusinessItem(org.talend.designer.business.model.business.BusinessItem) Item(org.talend.core.model.properties.Item) TalendItem(org.talend.designer.business.model.business.TalendItem) JobletProcessItem(org.talend.core.model.properties.JobletProcessItem) BusinessItemProviderAdapterFactory(org.talend.designer.business.model.business.provider.BusinessItemProviderAdapterFactory) BusinessAssignmentItemProvider(org.talend.designer.business.model.business.provider.BusinessAssignmentItemProvider) EObject(org.eclipse.emf.ecore.EObject) OverlayImage(org.talend.commons.ui.runtime.image.OverlayImage) MetadataTable(org.talend.core.model.metadata.builder.connection.MetadataTable) ECoreImage(org.talend.commons.ui.runtime.image.ECoreImage) ArrayList(java.util.ArrayList) List(java.util.List) TalendItem(org.talend.designer.business.model.business.TalendItem) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) SQLPattern(org.talend.designer.business.model.business.SQLPattern) BusinessTooltipFigure(org.talend.designer.business.diagram.custom.figures.BusinessTooltipFigure) Routine(org.talend.designer.business.model.business.Routine) View(org.eclipse.gmf.runtime.notation.View) JobletProcessItem(org.talend.core.model.properties.JobletProcessItem) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) PersistenceException(org.talend.commons.exception.PersistenceException) EObject(org.eclipse.emf.ecore.EObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) BusinessItem(org.talend.designer.business.model.business.BusinessItem)

Aggregations

BusinessItem (org.talend.designer.business.model.business.BusinessItem)14 EObject (org.eclipse.emf.ecore.EObject)9 ArrayList (java.util.ArrayList)7 List (java.util.List)7 BusinessAssignment (org.talend.designer.business.model.business.BusinessAssignment)6 View (org.eclipse.gmf.runtime.notation.View)5 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 Iterator (java.util.Iterator)3 ExecutionException (org.eclipse.core.commands.ExecutionException)3 AbstractEditPart (org.eclipse.gef.editparts.AbstractEditPart)3 IEditorPart (org.eclipse.ui.IEditorPart)3 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)3 BusinessItemShapeEditPart (org.talend.designer.business.diagram.custom.edit.parts.BusinessItemShapeEditPart)3 TalendItem (org.talend.designer.business.model.business.TalendItem)3 HashMap (java.util.HashMap)2 EditPart (org.eclipse.gef.EditPart)2 DiagramEditPart (org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart)2 Diagram (org.eclipse.gmf.runtime.notation.Diagram)2 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)2 BaseBusinessItemRelationShipEditPart (org.talend.designer.business.diagram.custom.edit.parts.BaseBusinessItemRelationShipEditPart)2