use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.
the class RepositoryResourceUtil method createFolderViewObject.
public static IRepositoryViewObject createFolderViewObject(ERepositoryObjectType type, String folderName, Item pItem, boolean isSystem) {
Property prop = PropertiesFactory.eINSTANCE.createProperty();
prop.setId(EcoreUtil.generateUUID());
//
ContainerItem item = MdmpropertiesFactory.eINSTANCE.createContainerItem();
isSystem = isSystemFolder(pItem, folderName);
item.setType(isSystem ? FolderType.STABLE_SYSTEM_FOLDER_LITERAL : FolderType.FOLDER_LITERAL);
item.setLabel(folderName);
item.setRepObjType(type);
ItemState itemState = PropertiesFactory.eINSTANCE.createItemState();
itemState.setDeleted(false);
item.setState(itemState);
//
prop.setItem(item);
prop.setLabel(folderName);
try {
if (!isSystem) {
Project project = ProjectManager.getInstance().getCurrentProject();
IProject fsProject = ResourceUtils.getProject(project);
ItemState state = pItem.getState();
itemState.setPath(state.getPath() + IPath.SEPARATOR + folderName);
String path = ERepositoryObjectType.getFolderName(type);
if (!path.isEmpty()) {
path += itemState.getPath();
}
IFolder folder = fsProject.getFolder(path);
if (!folder.exists()) {
Path parentPath = new Path(pItem.getState().getPath());
ProxyRepositoryFactory.getInstance().createFolder(project, type, parentPath, folderName);
}
} else {
itemState.setPath(folderName);
}
} catch (PersistenceException e) {
log.error(e.getMessage(), e);
}
FolderRepositoryObject containerRepositoryObject = new FolderRepositoryObject(prop);
//
ContainerCacheService.putContainer(containerRepositoryObject);
//
return containerRepositoryObject;
}
use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.
the class TISProcessActionProvider method getActions.
@Override
public List<AbstractRepositoryAction> getActions(IRepositoryViewObject viewObj) {
List<AbstractRepositoryAction> actions = super.getActions(viewObj);
Item item = viewObj.getProperty().getItem();
if (item instanceof ContainerItem) {
FolderType type = ((FolderItem) item).getType();
switch(type.getValue()) {
case FolderType.SYSTEM_FOLDER:
addAction(actions, createProcessAction, viewObj);
break;
case FolderType.STABLE_SYSTEM_FOLDER:
break;
case FolderType.FOLDER:
addAction(actions, createProcessAction, viewObj);
addAction(actions, renameFolderAction, viewObj);
addAction(actions, deleteAction, viewObj);
break;
}
} else if (item instanceof ProcessItem) {
addAction(actions, editProcessAction, viewObj);
addAction(actions, readProcessAction, viewObj);
addAction(actions, runProcessAction, viewObj);
addAction(actions, openExistVersionProcessAction, viewObj);
addAction(actions, editPropAction, viewObj);
addAction(actions, deleteAction, viewObj);
addAction(actions, generateTransformerAction, viewObj);
addAction(actions, generateTriggerAction, viewObj);
// deploy
actions.add(deployToAction);
addAction(actions, deployToLastServerAction, viewObj);
addAction(actions, deployAnotherToAction, viewObj);
addAction(actions, undeployAction, viewObj);
}
actions.add(deployAllAction);
return actions;
}
use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.
the class TransformerV2ActionProvider method canDelete.
private boolean canDelete(IRepositoryViewObject viewObj) {
Item item = viewObj.getProperty().getItem();
if (!(item instanceof ContainerItem)) {
return true;
}
String path = item.getState().getPath();
List<String> paths = Arrays.asList(ITransformerV2NodeConsDef.PATH_BEFOREDEL, ITransformerV2NodeConsDef.PATH_BEFORESAVE, ITransformerV2NodeConsDef.PATH_ENTITYACTION, ITransformerV2NodeConsDef.PATH_WELCOMEACTION, ITransformerV2NodeConsDef.PATH_SMARTVIEW, ITransformerV2NodeConsDef.PATH_OTHER);
if (path.startsWith("/")) {
// $NON-NLS-1$
path = path.substring(1);
}
boolean canDel = !paths.contains(path);
return canDel;
}
use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.
the class RepositoryViewObjectCheckedWidget method updateServerDef.
private void updateServerDef(IRepositoryViewObject viewObj) {
if (hasSameServerDef) {
Item item = viewObj.getProperty().getItem();
if (item == null || item instanceof ContainerItem) {
return;
}
MDMServerDef serverDef = RepositoryResourceUtil.getLastServerDef(item);
if (lastServerDef == null) {
lastServerDef = serverDef;
} else {
if (!lastServerDef.equals(serverDef)) {
lastServerDef = null;
hasSameServerDef = false;
}
}
}
}
use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.
the class ContainerCacheServiceTest method testRemoveContainer.
@Test
public void testRemoveContainer() {
// $NON-NLS-1$
String path = "/path";
// $NON-NLS-1$
String propId = "propertyId";
ERepositoryObjectType repObjType = IServerObjectRepositoryType.TYPE_DATAMODEL;
IRepositoryViewObject mockChildRpViewObj = PowerMockito.mock(IRepositoryViewObject.class);
Property mockProperty = PowerMockito.mock(Property.class);
PowerMockito.when(mockProperty.getId()).thenReturn(propId);
PowerMockito.when(mockChildRpViewObj.getId()).thenReturn(propId);
PowerMockito.when(mockChildRpViewObj.getProperty()).thenReturn(mockProperty);
ContainerCacheService.put(mockChildRpViewObj);
// container item
ItemState mockState = PowerMockito.mock(ItemState.class);
PowerMockito.when(mockState.getPath()).thenReturn(path);
ContainerItem mockContainerItem = PowerMockito.mock(ContainerItem.class);
PowerMockito.when(mockContainerItem.getState()).thenReturn(mockState);
PowerMockito.when(mockContainerItem.getRepObjType()).thenReturn(repObjType);
FolderRepositoryObject mockFolderRepoObj = PowerMockito.mock(FolderRepositoryObject.class);
List<IRepositoryViewObject> children = new ArrayList<IRepositoryViewObject>();
children.add(mockChildRpViewObj);
children = spy(children);
PowerMockito.when(mockFolderRepoObj.getChildren()).thenReturn(children);
Property mockFolderProperty = PowerMockito.mock(Property.class);
PowerMockito.when(mockFolderProperty.getItem()).thenReturn(mockContainerItem);
PowerMockito.when(mockFolderRepoObj.getProperty()).thenReturn(mockFolderProperty);
ContainerCacheService.putContainer(mockFolderRepoObj);
//
ContainerCacheService.removeContainer(repObjType, path);
assertNull(ContainerCacheService.get(repObjType, path));
assertNull(ContainerCacheService.get(mockProperty));
}
Aggregations