Search in sources :

Example 1 with WSRoleItem

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

the class AddBrowseItemsWizardR method modifyRolesWithAttachedBrowseItem.

@Override
protected void modifyRolesWithAttachedBrowseItem(String browseItem, List<Line> roles) {
    for (Line line : roles) {
        List<KeyValue> keyValues = line.keyValues;
        String roleName = keyValues.get(0).value;
        MDMServerObjectItem roleItem = RepositoryQueryService.findServerObjectItemByName(IServerObjectRepositoryType.TYPE_ROLE, roleName);
        if (roleItem != null) {
            CommandManager.getInstance().pushCommand(ICommand.CMD_MODIFY, roleItem.getProperty().getId(), roleItem.getMDMServerObject().getName());
        }
        if (roleItem != null) {
            IProxyRepositoryFactory factory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
            if (factory.isEditableAndLockIfPossible(roleItem)) {
                WSRoleE role = ((WSRoleItem) roleItem).getWsRole();
                for (WSRoleSpecificationE spec : role.getSpecification()) {
                    if (spec.getObjectType().equals("View")) {
                        // $NON-NLS-1$
                        EList<WSRoleSpecificationInstanceE> specInstance = spec.getInstance();
                        // 
                        WSRoleSpecificationInstanceE newInstance = MdmserverobjectFactory.eINSTANCE.createWSRoleSpecificationInstanceE();
                        newInstance.setInstanceName(browseItem);
                        // $NON-NLS-1$
                        newInstance.setWritable(keyValues.get(1).value.equals("Read Only") ? false : true);
                        // 
                        specInstance.add(newInstance);
                        // 
                        break;
                    }
                }
                RepositoryResourceUtil.saveItem(roleItem);
            }
            try {
                factory.unlock(roleItem);
            } catch (PersistenceException e) {
                log.error(e.getMessage(), e);
            } catch (LoginException e) {
                log.error(e.getMessage(), e);
            }
        }
    }
}
Also used : KeyValue(com.amalto.workbench.models.KeyValue) WSRoleE(org.talend.mdm.repository.model.mdmserverobject.WSRoleE) WSRoleSpecificationInstanceE(org.talend.mdm.repository.model.mdmserverobject.WSRoleSpecificationInstanceE) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) WSRoleSpecificationE(org.talend.mdm.repository.model.mdmserverobject.WSRoleSpecificationE) Line(com.amalto.workbench.models.Line) WSRoleItem(org.talend.mdm.repository.model.mdmproperties.WSRoleItem) PersistenceException(org.talend.commons.exception.PersistenceException) LoginException(org.talend.commons.exception.LoginException) IProxyRepositoryFactory(org.talend.repository.model.IProxyRepositoryFactory)

Aggregations

KeyValue (com.amalto.workbench.models.KeyValue)1 Line (com.amalto.workbench.models.Line)1 LoginException (org.talend.commons.exception.LoginException)1 PersistenceException (org.talend.commons.exception.PersistenceException)1 MDMServerObjectItem (org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem)1 WSRoleItem (org.talend.mdm.repository.model.mdmproperties.WSRoleItem)1 WSRoleE (org.talend.mdm.repository.model.mdmserverobject.WSRoleE)1 WSRoleSpecificationE (org.talend.mdm.repository.model.mdmserverobject.WSRoleSpecificationE)1 WSRoleSpecificationInstanceE (org.talend.mdm.repository.model.mdmserverobject.WSRoleSpecificationInstanceE)1 IProxyRepositoryFactory (org.talend.repository.model.IProxyRepositoryFactory)1