/** * @see io.apiman.manager.api.rest.contract.IPolicyDefinitionResource#get(java.lang.String) */ @Override public PolicyDefinitionBean get(String policyDefinitionId) throws PolicyDefinitionNotFoundException, NotAuthorizedException { try { storage.beginTx(); PolicyDefinitionBean bean = storage.getPolicyDefinition(policyDefinitionId); if (bean == null) { throw ExceptionFactory.policyDefNotFoundException(policyDefinitionId); } storage.commitTx(); return bean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.core.IStorage#createPolicyDefinition(io.apiman.manager.api.beans.policies.PolicyDefinitionBean) */ @Override public void createPolicyDefinition(PolicyDefinitionBean policyDef) throws StorageException { this.delegate.createPolicyDefinition(policyDef); }
/** * @see io.apiman.manager.api.core.IStorage#updatePolicyDefinition(io.apiman.manager.api.beans.policies.PolicyDefinitionBean) */ @Override public void updatePolicyDefinition(PolicyDefinitionBean policyDef) throws StorageException { this.delegate.updatePolicyDefinition(policyDef); }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getApi(java.lang.String, java.lang.String) */ @Override public ApiBean getApi(String organizationId, String apiId) throws ApiNotFoundException, NotAuthorizedException { try { storage.beginTx(); ApiBean bean = storage.getApi(organizationId, apiId); if (bean == null) { throw ExceptionFactory.apiNotFoundException(apiId); } storage.commitTx(); return bean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.core.IDownloadManager#getDownload(java.lang.String) */ @Override public DownloadBean getDownload(String downloadId) throws StorageException { storage.beginTx(); try { DownloadBean download = storage.getDownload(downloadId); if (download != null) { storage.deleteDownload(download); storage.commitTx(); Date now = new Date(); // Check if the download expired. If so, return null instead of the download. if (now.getTime() > download.getExpires().getTime()) { download = null; } } return download; } catch (StorageException e) { storage.rollbackTx(); throw e; } }
pluginBean.setCreatedOn(new Date()); try { storage.beginTx(); PluginBean existingPlugin = storage.getPlugin(bean.getGroupId(), bean.getArtifactId()); existingPlugin.setType(pluginBean.getType()); pluginBean.setId(existingPlugin.getId()); storage.updatePlugin(existingPlugin); } else if (!hasExistingPlugin && existingPlugin != null) { isUpdatePolicyDefs = true; existingPlugin.setDeleted(false); pluginBean.setId(existingPlugin.getId()); storage.updatePlugin(existingPlugin); } else { if (bean.isUpgrade()) { throw ExceptionFactory.pluginNotFoundException(0L); storage.createPlugin(pluginBean); PolicyDefinitionBean existingPolicyDef = storage.getPolicyDefinition(policyDef.getId()); if (existingPolicyDef == null) { storage.createPolicyDefinition(policyDef); createdPolicyDefCounter++; } else if (isUpdatePolicyDefs) { existingPolicyDef.setDeleted(false); existingPolicyDef.setPolicyImpl(policyDef.getPolicyImpl()); storage.updatePolicyDefinition(existingPolicyDef);
List<PolicyDefinitionSummaryBean> policyDefs = query.listPluginPolicyDefs(pluginId); storage.beginTx(); PluginBean pbean = storage.getPlugin(pluginId); if (pbean == null) { throw ExceptionFactory.pluginNotFoundException(pluginId); storage.updatePlugin(pbean); PolicyDefinitionBean definition = storage.getPolicyDefinition(policyDef.getId()); if (definition != null) { definition.setDeleted(true); storage.updatePolicyDefinition(definition); storage.commitTx(); log.info(String.format("Deleted plugin mvn:%s:%s:%s", pbean.getGroupId(), pbean.getArtifactId(), //$NON-NLS-1$ pbean.getVersion())); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getPlan(java.lang.String, java.lang.String) */ @Override public PlanBean getPlan(String organizationId, String planId) throws PlanNotFoundException, NotAuthorizedException { try { storage.beginTx(); PlanBean bean = storage.getPlan(organizationId, planId); if (bean == null) { throw ExceptionFactory.planNotFoundException(planId); } storage.commitTx(); log.debug(String.format("Got plan: %s", bean)); //$NON-NLS-1$ return bean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
storage.beginTx(); List<Long> newOrder = new ArrayList<>(policyChain.getPolicies().size()); for (PolicySummaryBean psb : policyChain.getPolicies()) { newOrder.add(psb.getId()); storage.reorderPolicies(PolicyType.Plan, organizationId, planId, version, newOrder); storage.createAuditEntry(AuditUtils.policiesReordered(pvb, PolicyType.Plan, securityContext)); storage.updatePlanVersion(pvb); storage.commitTx(); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
protected void storeApiDefinition(String organizationId, String apiId, String version, ApiDefinitionType definitionType, InputStream data) { if (!securityContext.hasPermission(PermissionType.apiEdit, organizationId)) throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); ApiVersionBean apiVersion = storage.getApiVersion(organizationId, apiId, version); if (apiVersion == null) { throw ExceptionFactory.apiVersionNotFoundException(apiId, version); } if (apiVersion.getDefinitionType() != definitionType) { apiVersion.setDefinitionType(definitionType); storage.updateApiVersion(apiVersion); } storage.createAuditEntry(AuditUtils.apiDefinitionUpdated(apiVersion, securityContext)); storage.updateApiDefinition(apiVersion, data); apiVersion.setModifiedOn(new Date()); apiVersion.setModifiedBy(securityContext.getCurrentUser()); storage.updateApiVersion(apiVersion); storage.commitTx(); log.debug(String.format("Stored API definition %s: %s", apiId, apiVersion)); //$NON-NLS-1$ } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#deleteApiDefinition(java.lang.String, java.lang.String, java.lang.String) */ @Override public void deleteApiDefinition(String organizationId, String apiId, String version) throws OrganizationNotFoundException, ApiVersionNotFoundException, NotAuthorizedException { if (!securityContext.hasPermission(PermissionType.apiEdit, organizationId)) throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); ApiVersionBean apiVersion = storage.getApiVersion(organizationId, apiId, version); if (apiVersion == null) { throw ExceptionFactory.apiVersionNotFoundException(apiId, version); } apiVersion.setDefinitionType(ApiDefinitionType.None); apiVersion.setModifiedBy(securityContext.getCurrentUser()); apiVersion.setModifiedOn(new Date()); storage.createAuditEntry(AuditUtils.apiDefinitionDeleted(apiVersion, securityContext)); storage.deleteApiDefinition(apiVersion); storage.updateApiVersion(apiVersion); storage.commitTx(); log.debug(String.format("Deleted API %s definition %s", apiId, apiVersion)); //$NON-NLS-1$ } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
try { storage.beginTx(); OrganizationBean org = storage.getOrganization(organizationId); if (org == null) { throw ExceptionFactory.organizationNotFoundException(organizationId); if (storage.getClient(org.getId(), newClient.getId()) != null) { throw ExceptionFactory.organizationAlreadyExistsException(bean.getName()); storage.createClient(newClient); storage.createAuditEntry(AuditUtils.clientCreated(newClient, securityContext)); storage.commitTx(); storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
GatewaySummaryBean gateway = getSingularGateway(); storage.beginTx(); OrganizationBean orgBean = storage.getOrganization(organizationId); if (orgBean == null) { throw ExceptionFactory.organizationNotFoundException(organizationId); if (storage.getApi(orgBean.getId(), newApi.getId()) != null) { throw ExceptionFactory.apiAlreadyExistsException(bean.getName()); storage.createApi(newApi); storage.createAuditEntry(AuditUtils.apiCreated(newApi, securityContext)); storage.commitTx(); return newApi; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
storage.beginTx(); PolicyBean policy = this.storage.getPolicy(PolicyType.Client, organizationId, clientId, version, policyId); if (policy == null) { throw ExceptionFactory.policyNotFoundException(policyId); storage.deletePolicy(policy); storage.createAuditEntry(AuditUtils.policyRemoved(policy, PolicyType.Client, securityContext)); storage.updateClientVersion(cvb); storage.commitTx(); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#updateApi(java.lang.String, java.lang.String, io.apiman.manager.api.beans.apis.UpdateApiBean) */ @Override public void updateApi(String organizationId, String apiId, UpdateApiBean bean) throws ApiNotFoundException, NotAuthorizedException { if (!securityContext.hasPermission(PermissionType.apiEdit, organizationId)) throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); ApiBean apiForUpdate = storage.getApi(organizationId, apiId); if (apiForUpdate == null) { throw ExceptionFactory.apiNotFoundException(apiId); } EntityUpdatedData auditData = new EntityUpdatedData(); if (AuditUtils.valueChanged(apiForUpdate.getDescription(), bean.getDescription())) { auditData.addChange("description", apiForUpdate.getDescription(), bean.getDescription()); //$NON-NLS-1$ apiForUpdate.setDescription(bean.getDescription()); } storage.updateApi(apiForUpdate); storage.createAuditEntry(AuditUtils.apiUpdated(apiForUpdate, auditData, securityContext)); storage.commitTx(); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); OrganizationBean orgForUpdate = storage.getOrganization(organizationId); if (orgForUpdate == null) { throw ExceptionFactory.organizationNotFoundException(organizationId); orgForUpdate.setDescription(bean.getDescription()); storage.updateOrganization(orgForUpdate); storage.createAuditEntry(AuditUtils.organizationUpdated(orgForUpdate, auditData, securityContext)); storage.commitTx(); log.debug(String.format("Updated organization %s: %s", orgForUpdate.getName(), orgForUpdate)); //$NON-NLS-1$ } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); ClientBean clientForUpdate = storage.getClient(organizationId, clientId); if (clientForUpdate == null) { throw ExceptionFactory.clientNotFoundException(clientId); clientForUpdate.setDescription(bean.getDescription()); storage.updateClient(clientForUpdate); storage.createAuditEntry(AuditUtils.clientUpdated(clientForUpdate, auditData, securityContext)); storage.commitTx(); log.debug(String.format("Updated client %s: %s", clientForUpdate.getName(), clientForUpdate)); //$NON-NLS-1$ } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
storage.beginTx(); List<Long> newOrder = new ArrayList<>(policyChain.getPolicies().size()); for (PolicySummaryBean psb : policyChain.getPolicies()) { newOrder.add(psb.getId()); storage.reorderPolicies(PolicyType.Client, organizationId, clientId, version, newOrder); storage.createAuditEntry(AuditUtils.policiesReordered(cvb, PolicyType.Client, securityContext)); storage.updateClientVersion(cvb); storage.commitTx(); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
storage.beginTx(); List<Long> newOrder = new ArrayList<>(policyChain.getPolicies().size()); for (PolicySummaryBean psb : policyChain.getPolicies()) { newOrder.add(psb.getId()); storage.reorderPolicies(PolicyType.Api, organizationId, apiId, version, newOrder); storage.createAuditEntry(AuditUtils.policiesReordered(avb, PolicyType.Api, securityContext)); storage.updateApiVersion(avb); storage.commitTx(); } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e);
/** * @see io.apiman.manager.api.rest.contract.IUserResource#update(java.lang.String, io.apiman.manager.api.beans.idm.UpdateUserBean) */ @Override public void update(String userId, UpdateUserBean user) throws UserNotFoundException, NotAuthorizedException { if (!securityContext.isAdmin() && !securityContext.getCurrentUser().equals(userId)) throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); UserBean updatedUser = storage.getUser(userId); if (updatedUser == null) { throw ExceptionFactory.userNotFoundException(userId); } if (user.getEmail() != null) { updatedUser.setEmail(user.getEmail()); } if (user.getFullName() != null) { updatedUser.setFullName(user.getFullName()); } storage.updateUser(updatedUser); storage.commitTx(); } catch (StorageException e) { storage.rollbackTx(); throw new SystemErrorException(e); } }