Search in sources :

Example 26 with MDMServerObject

use of org.talend.mdm.repository.model.mdmserverobject.MDMServerObject in project tmdm-studio-se by Talend.

the class RenameViewAction method renameViewObject.

private void renameViewObject(IRepositoryViewObject viewObj) {
    MDMServerObjectItem item = (MDMServerObjectItem) viewObj.getProperty().getItem();
    MDMServerObject serverObject = item.getMDMServerObject();
    IProxyRepositoryFactory factory = getFactory();
    try {
        if (serverObject != null) {
            String oldName = serverObject.getName();
            RenameViewDialog dialog = getRenameDialog(oldName);
            int returnCode = dialog.open();
            if (returnCode == IDialogConstants.OK_ID) {
                String newName = dialog.getValue();
                if (RepositoryTransformUtil.getInstance().getViewType(oldName) == TYPE_WEBFILTER) {
                    newName = PREFIX_VIEW_UPPER + newName;
                } else {
                    if (newName.startsWith(PREFIX_VIEW_UPPER)) {
                        viewTypeChanged = true;
                        item.getState().setPath(IPath.SEPARATOR + PATH_WEBFILTER);
                    }
                }
                if (newName != null && factory.isEditableAndLockIfPossible(item)) {
                    serverObject.setName(newName);
                    viewObj.getProperty().setLabel(newName);
                    viewObj.getProperty().setDisplayName(newName);
                    factory.save(viewObj.getProperty().getItem(), false);
                    MDMServerDef lastServerDef = RepositoryResourceUtil.getLastServerDef(viewObj);
                    if (lastServerDef != null) {
                        CommandManager.getInstance().pushCommand(ICommand.CMD_RENAME, viewObj.getId(), new String[] { oldName, newName });
                    }
                }
                commonViewer.refresh(viewObj);
            }
        }
    } catch (PersistenceException e) {
        log.error(e.getMessage(), e);
    } finally {
        try {
            factory.unlock(item);
        } catch (PersistenceException e) {
            log.error(e.getMessage(), e);
        } catch (LoginException e) {
            log.error(e.getMessage(), e);
        }
    }
}
Also used : MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) PersistenceException(org.talend.commons.exception.PersistenceException) RenameViewDialog(org.talend.mdm.repository.ui.dialogs.RenameViewDialog) LoginException(org.talend.commons.exception.LoginException) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) IProxyRepositoryFactory(org.talend.repository.model.IProxyRepositoryFactory) MDMServerDef(org.talend.mdm.repository.model.mdmmetadata.MDMServerDef)

Example 27 with MDMServerObject

use of org.talend.mdm.repository.model.mdmserverobject.MDMServerObject in project tmdm-studio-se by Talend.

the class AbstractLabelProvider method getServerObjectItemText.

protected String getServerObjectItemText(Item item) {
    item = RepositoryResourceUtil.assertItem(item);
    MDMServerObject serverObject = ((MDMServerObjectItem) item).getMDMServerObject();
    if (serverObject != null) {
        return serverObject.getName();
    }
    return null;
}
Also used : MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)

Example 28 with MDMServerObject

use of org.talend.mdm.repository.model.mdmserverobject.MDMServerObject in project tmdm-studio-se by Talend.

the class RepositoryNodeActionProviderAdapter method getOpenEditorInput.

/**
 * The child class can override this method, current implement is adapt to most of MDMServerobject
 */
@Override
public IRepositoryViewEditorInput getOpenEditorInput(IRepositoryViewObject viewObj) {
    Item item = viewObj.getProperty().getItem();
    MDMServerObject serverObject = ((MDMServerObjectItem) item).getMDMServerObject();
    if (serverObject.getType() == TreeObject.DATA_CLUSTER) {
        // Data Cluster
        return new XObjectBrowserInput2(viewObj);
    }
    return new XObjectEditorInput2(viewObj);
}
Also used : WorkspaceRootItem(org.talend.mdm.repository.model.mdmproperties.WorkspaceRootItem) Item(org.talend.core.model.properties.Item) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) FolderItem(org.talend.core.model.properties.FolderItem) MDMItem(org.talend.mdm.repository.model.mdmproperties.MDMItem) ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) XObjectEditorInput2(org.talend.mdm.repository.ui.editors.XObjectEditorInput2) XObjectBrowserInput2(org.talend.mdm.repository.ui.editors.XObjectBrowserInput2) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)

Example 29 with MDMServerObject

use of org.talend.mdm.repository.model.mdmserverobject.MDMServerObject in project tmdm-studio-se by Talend.

the class Bean2EObjUtil method wrapEObjWithTreeObject.

public TreeObject wrapEObjWithTreeObject(EObject eobj, Object wsObj) {
    if (eobj instanceof MDMServerObject) {
        MDMServerObject serverObject = (MDMServerObject) eobj;
        TreeObject treeObj = new TreeObject(serverObject.getName(), null, serverObject.getType(), serverObject.getName(), wsObj);
        return treeObj;
    }
    return null;
}
Also used : TreeObject(com.amalto.workbench.models.TreeObject) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)

Example 30 with MDMServerObject

use of org.talend.mdm.repository.model.mdmserverobject.MDMServerObject in project tmdm-studio-se by Talend.

the class ImportServerObjectWizard method doImport.

public List<String> doImport(Object[] objs, IProgressMonitor monitor) {
    monitor.beginTask(Messages.Import_Objects, objs.length);
    List<String> importedIds = new LinkedList<String>();
    ImportService.setImporting(true);
    List<Integer> types = new ArrayList<Integer>();
    types.add(TreeObject.CUSTOM_FORM);
    types.add(TreeObject.DATA_CLUSTER);
    types.add(TreeObject.DATA_MODEL);
    types.add(TreeObject.TRANSFORMER);
    types.add(TreeObject.ROUTING_RULE);
    types.add(TreeObject.MENU);
    types.add(TreeObject.ROLE);
    types.add(TreeObject.STORED_PROCEDURE);
    types.add(TreeObject.VIEW);
    types.add(TreeObject.WORKFLOW_PROCESS);
    IProxyRepositoryFactory factory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
    for (Object obj : objs) {
        try {
            TreeObject treeObj = (TreeObject) obj;
            monitor.subTask(treeObj.getDisplayName());
            String treeObjName = treeObj.getName();
            MDMServerObject eobj = handleSpecialTreeObject(treeObj);
            if (treeObj.getType() == TreeObject.WORKFLOW_PROCESS) {
                continue;
            }
            if (eobj == null) {
                if (!types.contains(treeObj.getType()) || treeObj.getWsObject() == null || ("JCAAdapers".equals(treeObj.getName()) && treeObj.getType() == TreeObject.DATA_CLUSTER)) {
                    // $NON-NLS-1$
                    continue;
                }
                eobj = (MDMServerObject) Bean2EObjUtil.getInstance().convertFromBean2EObj(treeObj.getWsObject(), null);
            }
            eobj.setLastServerName(serverDef.getName());
            ERepositoryObjectType type = RepositoryQueryService.getRepositoryObjectType(treeObj.getType());
            String uniqueName = getUniqueName(treeObj, treeObjName);
            MDMServerObjectItem item = RepositoryQueryService.findServerObjectItemByNameWithDeleted(type, uniqueName, true);
            if (item != null) {
                if (!isOverrideAll) {
                    int result = isOveride(treeObj.getName(), TreeObject.getTypeName(treeObj.getType()));
                    if (result == IDialogConstants.CANCEL_ID) {
                        ImportService.setImporting(false);
                        return importedIds;
                    }
                    if (result == IDialogConstants.YES_TO_ALL_ID) {
                        isOverrideAll = true;
                    }
                    if (result == IDialogConstants.NO_ID) {
                        break;
                    }
                }
                if (!RepositoryResourceUtil.isLockedItem(item)) {
                    try {
                        factory.lock(item);
                    } catch (PersistenceException e1) {
                        log.error(e1.getMessage(), e1);
                    } catch (LoginException e1) {
                        log.error(e1.getMessage(), e1);
                    }
                    item.setMDMServerObject(eobj);
                    item.getState().setDeleted(false);
                    // save
                    RepositoryResourceUtil.saveItem(item, false);
                    try {
                        factory.unlock(item);
                    } catch (PersistenceException e) {
                        log.error(e.getMessage(), e);
                    } catch (LoginException e) {
                        log.error(e.getMessage(), e);
                    }
                    importedIds.add(item.getProperty().getId());
                }
                CommandManager.getInstance().removeCommandStack(item.getProperty().getId());
            } else {
                IRepositoryNodeConfiguration config = RepositoryNodeConfigurationManager.getConfiguration(type);
                item = (MDMServerObjectItem) config.getResourceProvider().createNewItem(type);
                item.setMDMServerObject(eobj);
                ItemState itemState = PropertiesFactory.eINSTANCE.createItemState();
                itemState.setPath(caculatePath(treeObj));
                handlePath(itemState, type);
                item.setState(itemState);
                String version = getVersion(treeObj);
                if (RepositoryResourceUtil.createItem(item, uniqueName, version, false, false)) {
                    importedIds.add(item.getProperty().getId());
                }
            }
        } catch (IOException e) {
            log.error(e.getMessage(), e);
        }
        monitor.worked(1);
    }
    ImportService.setImporting(false);
    monitor.done();
    return importedIds;
}
Also used : MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) ArrayList(java.util.ArrayList) IOException(java.io.IOException) LinkedList(java.util.LinkedList) ItemState(org.talend.core.model.properties.ItemState) PersistenceException(org.talend.commons.exception.PersistenceException) TreeObject(com.amalto.workbench.models.TreeObject) LoginException(org.talend.commons.exception.LoginException) IRepositoryNodeConfiguration(org.talend.mdm.repository.core.IRepositoryNodeConfiguration) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) TreeObject(com.amalto.workbench.models.TreeObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) IProxyRepositoryFactory(org.talend.repository.model.IProxyRepositoryFactory) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)

Aggregations

MDMServerObject (org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)37 MDMServerObjectItem (org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem)33 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)19 Item (org.talend.core.model.properties.Item)13 TreeObject (com.amalto.workbench.models.TreeObject)11 Property (org.talend.core.model.properties.Property)11 PersistenceException (org.talend.commons.exception.PersistenceException)9 Test (org.junit.Test)7 ERepositoryObjectType (org.talend.core.model.repository.ERepositoryObjectType)7 MDMServerDef (org.talend.mdm.repository.model.mdmmetadata.MDMServerDef)7 ContainerItem (org.talend.mdm.repository.model.mdmproperties.ContainerItem)7 IProxyRepositoryFactory (org.talend.repository.model.IProxyRepositoryFactory)7 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)6 LoginException (org.talend.commons.exception.LoginException)6 EObject (org.eclipse.emf.ecore.EObject)5 ArrayList (java.util.ArrayList)4 FolderItem (org.talend.core.model.properties.FolderItem)4 TMDMService (com.amalto.workbench.webservices.TMDMService)3 LinkedList (java.util.LinkedList)3 ItemState (org.talend.core.model.properties.ItemState)3