/** * Constructor for use when serializing. * * @param baseUri the base uri of the REST request * @param mask the mask * @param uow the transaction * @throws KException if error occurs */ public RestVdbMask(URI baseUri, Mask mask, UnitOfWork uow) throws KException { super(baseUri, mask, uow); setName(mask.getName(uow)); setOrder(mask.getOrder(uow)); Permission permission = ancestor(mask, Permission.class, uow); ArgCheck.isNotNull(permission); String permName = permission.getName(uow); DataRole dataRole = ancestor(permission, DataRole.class, uow); ArgCheck.isNotNull(dataRole); String dataRoleName = dataRole.getName(uow); Vdb vdb = ancestor(dataRole, Vdb.class, uow); ArgCheck.isNotNull(vdb); String vdbName = vdb.getName(uow); Properties settings = getUriBuilder().createSettings(SettingNames.VDB_NAME, vdbName); getUriBuilder().addSetting(settings, SettingNames.DATA_ROLE_ID, dataRoleName); getUriBuilder().addSetting(settings, SettingNames.PERMISSION_ID, permName); getUriBuilder() .addSetting(settings, SettingNames.PERMISSION_CHILD_TYPE, LinkType.MASKS.uriName()); getUriBuilder().addSetting(settings, SettingNames.PERMISSION_CHILD_ID, getId()); addLink( new RestLink( LinkType.SELF, getUriBuilder().buildVdbPermissionChildUri(LinkType.SELF, settings))); addLink( new RestLink( LinkType.PARENT, getUriBuilder().buildVdbPermissionChildUri(LinkType.PARENT, settings))); }
/** * {@inheritDoc} * * @see org.komodo.shell.BuiltInShellCommand#doExecute() */ @Override protected CommandResult doExecute() { CommandResult result = null; try { final String mappedRoleName = requiredArgument(0, I18n.bind(DataRoleCommandsI18n.missingMappedRoleName)); final DataRole dataRole = getDataRole(); dataRole.addMappedRole(getTransaction(), mappedRoleName); result = new CommandResultImpl(I18n.bind(DataRoleCommandsI18n.mappedRoleAdded, mappedRoleName)); } catch (final Exception e) { result = new CommandResultImpl(e); } return result; }
/** * {@inheritDoc} * * @see * org.komodo.relational.internal.TypeResolver#create(org.komodo.spi.repository.Repository.UnitOfWork, * org.komodo.spi.repository.Repository, org.komodo.spi.repository.KomodoObject, * java.lang.String, org.komodo.relational.RelationalProperties) */ @Override public Permission create( final UnitOfWork transaction, final Repository repository, final KomodoObject parent, final String id, final RelationalProperties properties) throws KException { final AdapterFactory adapter = new AdapterFactory(repository); final DataRole parentDataRole = adapter.adapt(transaction, parent, DataRole.class); if (parentDataRole == null) { throw new KException( Messages.getString( Relational.INVALID_PARENT_TYPE, parent.getAbsolutePath(), Permission.class.getSimpleName())); } return parentDataRole.addPermission(transaction, id); }
/** * {@inheritDoc} * * @see org.komodo.shell.BuiltInShellCommand#doExecute() */ @Override protected CommandResult doExecute() { CommandResult result = null; try { final String name = requiredArgument(0, I18n.bind(WorkspaceCommandsI18n.missingPropertyNameValue)); final String value = requiredArgument(1, I18n.bind(WorkspaceCommandsI18n.missingPropertyNameValue)); final DataRole dataRole = getDataRole(); final UnitOfWork transaction = getTransaction(); String errorMsg = null; switch (name) { case ALLOWED_CREATE_TEMPORARY_TABLES: if (Boolean.TRUE.toString().equals(value) || Boolean.FALSE.toString().equals(value)) { dataRole.setAllowCreateTempTables(transaction, Boolean.parseBoolean(value)); } else { errorMsg = I18n.bind( WorkspaceCommandsI18n.invalidBooleanPropertyValue, ALLOWED_CREATE_TEMPORARY_TABLES); } break; case ANY_AUTHENTICATED: if (Boolean.TRUE.toString().equals(value) || Boolean.FALSE.toString().equals(value)) { dataRole.setAnyAuthenticated(transaction, Boolean.parseBoolean(value)); } else { I18n.bind(WorkspaceCommandsI18n.invalidBooleanPropertyValue, ANY_AUTHENTICATED); } break; case DESCRIPTION: dataRole.setDescription(transaction, value); break; case GRANT_ALL: if (Boolean.TRUE.toString().equals(value) || Boolean.FALSE.toString().equals(value)) { dataRole.setGrantAll(transaction, Boolean.parseBoolean(value)); } else { errorMsg = I18n.bind(WorkspaceCommandsI18n.invalidBooleanPropertyValue, GRANT_ALL); } break; default: errorMsg = I18n.bind( WorkspaceCommandsI18n.invalidPropertyName, name, DataRole.class.getSimpleName()); break; } if (StringUtils.isBlank(errorMsg)) { result = new CommandResultImpl(I18n.bind(WorkspaceCommandsI18n.setPropertySuccess, name)); } else { result = new CommandResultImpl(false, errorMsg, null); } } catch (final Exception e) { result = new CommandResultImpl(e); } return result; }