/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#updateApiDefinitionFromURL(java.lang.String, java.lang.String, java.lang.String, io.apiman.manager.api.beans.apis.NewApiDefinitionBean) */ @Override public void updateApiDefinitionFromURL(String organizationId, String apiId, String version, NewApiDefinitionBean bean) throws ApiVersionNotFoundException, NotAuthorizedException, InvalidApiStatusException { InputStream data; try { String definitionURL = bean.getDefinitionUrl(); URL url = new URL(definitionURL); data = url.openStream(); } catch (IOException e) { throw new SystemErrorException(e); } try { storeApiDefinition(organizationId, apiId, version, bean.getDefinitionType(), data); log.debug(String.format("Updated API definition for %s from URL %s", apiId, bean.getDefinitionUrl())); //$NON-NLS-1$ } finally { IOUtils.closeQuietly(data); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#updateApiDefinitionFromURL(java.lang.String, java.lang.String, java.lang.String, io.apiman.manager.api.beans.apis.NewApiDefinitionBean) */ @Override public void updateApiDefinitionFromURL(String organizationId, String apiId, String version, NewApiDefinitionBean bean) throws ApiVersionNotFoundException, NotAuthorizedException, InvalidApiStatusException { InputStream data; try { String definitionURL = bean.getDefinitionUrl(); URL url = new URL(definitionURL); data = url.openStream(); } catch (IOException e) { throw new SystemErrorException(e); } try { storeApiDefinition(organizationId, apiId, version, bean.getDefinitionType(), data); log.debug(String.format("Updated API definition for %s from URL %s", apiId, bean.getDefinitionUrl())); //$NON-NLS-1$ } finally { IOUtils.closeQuietly(data); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getApiVersionContracts(java.lang.String, java.lang.String, java.lang.String, int, int) */ @Override public List<ContractSummaryBean> getApiVersionContracts(String organizationId, String apiId, String version, int page, int pageSize) throws ApiVersionNotFoundException, NotAuthorizedException { if (page <= 1) { page = 1; } if (pageSize == 0) { pageSize = 20; } // Try to get the API first - will throw an exception if not found. getApiVersion(organizationId, apiId, version); try { List<ContractSummaryBean> contracts = query.getContracts(organizationId, apiId, version, page, pageSize); log.debug(String.format("Got API %s version %s contracts: %s", apiId, version, contracts)); //$NON-NLS-1$ return contracts; } catch (StorageException e) { throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getApiVersionContracts(java.lang.String, java.lang.String, java.lang.String, int, int) */ @Override public List<ContractSummaryBean> getApiVersionContracts(String organizationId, String apiId, String version, int page, int pageSize) throws ApiVersionNotFoundException, NotAuthorizedException { if (page <= 1) { page = 1; } if (pageSize == 0) { pageSize = 20; } // Try to get the API first - will throw an exception if not found. getApiVersion(organizationId, apiId, version); try { List<ContractSummaryBean> contracts = query.getContracts(organizationId, apiId, version, page, pageSize); log.debug(String.format("Got API %s version %s contracts: %s", apiId, version, contracts)); //$NON-NLS-1$ return contracts; } catch (StorageException e) { throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getPlanPolicy(java.lang.String, java.lang.String, java.lang.String, long) */ @Override public PolicyBean getPlanPolicy(String organizationId, String planId, String version, long policyId) throws OrganizationNotFoundException, PlanVersionNotFoundException, PolicyNotFoundException, NotAuthorizedException { boolean hasPermission = securityContext.hasPermission(PermissionType.planView, organizationId); // Make sure the plan version exists getPlanVersion(organizationId, planId, version); PolicyBean policy = doGetPolicy(PolicyType.Plan, organizationId, planId, version, policyId); if (!hasPermission) { policy.setConfiguration(null); } log.debug(String.format("Got plan policy %s", policy)); //$NON-NLS-1$ return policy; }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getPlanPolicy(java.lang.String, java.lang.String, java.lang.String, long) */ @Override public PolicyBean getPlanPolicy(String organizationId, String planId, String version, long policyId) throws OrganizationNotFoundException, PlanVersionNotFoundException, PolicyNotFoundException, NotAuthorizedException { boolean hasPermission = securityContext.hasPermission(PermissionType.planView, organizationId); // Make sure the plan version exists getPlanVersion(organizationId, planId, version); PolicyBean policy = doGetPolicy(PolicyType.Plan, organizationId, planId, version, policyId); if (!hasPermission) { policy.setConfiguration(null); } log.debug(String.format("Got plan policy %s", policy)); //$NON-NLS-1$ return policy; }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getPlanVersion(java.lang.String, java.lang.String, java.lang.String) */ @Override public PlanVersionBean getPlanVersion(String organizationId, String planId, String version) throws PlanVersionNotFoundException, NotAuthorizedException { try { storage.beginTx(); PlanVersionBean planVersion = storage.getPlanVersion(organizationId, planId, version); if (planVersion == null) { throw ExceptionFactory.planVersionNotFoundException(planId, version); } storage.commitTx(); log.debug(String.format("Got plan %s version: %s", planId, planVersion)); //$NON-NLS-1$ return planVersion; } 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); } }
/** * @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); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getPlanVersion(java.lang.String, java.lang.String, java.lang.String) */ @Override public PlanVersionBean getPlanVersion(String organizationId, String planId, String version) throws PlanVersionNotFoundException, NotAuthorizedException { try { storage.beginTx(); PlanVersionBean planVersion = storage.getPlanVersion(organizationId, planId, version); if (planVersion == null) { throw ExceptionFactory.planVersionNotFoundException(planId, version); } storage.commitTx(); log.debug(String.format("Got plan %s version: %s", planId, planVersion)); //$NON-NLS-1$ return planVersion; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#get(java.lang.String) */ @Override public OrganizationBean get(String organizationId) throws OrganizationNotFoundException, NotAuthorizedException { try { storage.beginTx(); OrganizationBean organizationBean = storage.getOrganization(organizationId); if (organizationBean == null) { throw ExceptionFactory.organizationNotFoundException(organizationId); } storage.commitTx(); log.debug(String.format("Got organization %s: %s", organizationBean.getName(), organizationBean)); //$NON-NLS-1$ return organizationBean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getContract(java.lang.String, java.lang.String, java.lang.String, java.lang.Long) */ @Override public ContractBean getContract(String organizationId, String clientId, String version, Long contractId) throws ClientNotFoundException, ContractNotFoundException, NotAuthorizedException { try { storage.beginTx(); ContractBean contract = storage.getContract(contractId); if (contract == null) throw ExceptionFactory.contractNotFoundException(contractId); storage.commitTx(); log.debug(String.format("Got contract %s: %s", contract.getId(), contract)); //$NON-NLS-1$ return contract; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getClient(java.lang.String, java.lang.String) */ @Override public ClientBean getClient(String organizationId, String clientId) throws ClientNotFoundException, NotAuthorizedException { try { storage.beginTx(); ClientBean clientBean = storage.getClient(organizationId, clientId); if (clientBean == null) { throw ExceptionFactory.clientNotFoundException(clientId); } storage.commitTx(); log.debug(String.format("Got client %s: %s", clientBean.getName(), clientBean)); //$NON-NLS-1$ return clientBean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#get(java.lang.String) */ @Override public OrganizationBean get(String organizationId) throws OrganizationNotFoundException, NotAuthorizedException { try { storage.beginTx(); OrganizationBean organizationBean = storage.getOrganization(organizationId); if (organizationBean == null) { throw ExceptionFactory.organizationNotFoundException(organizationId); } storage.commitTx(); log.debug(String.format("Got organization %s: %s", organizationBean.getName(), organizationBean)); //$NON-NLS-1$ return organizationBean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getContract(java.lang.String, java.lang.String, java.lang.String, java.lang.Long) */ @Override public ContractBean getContract(String organizationId, String clientId, String version, Long contractId) throws ClientNotFoundException, ContractNotFoundException, NotAuthorizedException { try { storage.beginTx(); ContractBean contract = storage.getContract(contractId); if (contract == null) throw ExceptionFactory.contractNotFoundException(contractId); storage.commitTx(); log.debug(String.format("Got contract %s: %s", contract.getId(), contract)); //$NON-NLS-1$ return contract; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#getClient(java.lang.String, java.lang.String) */ @Override public ClientBean getClient(String organizationId, String clientId) throws ClientNotFoundException, NotAuthorizedException { try { storage.beginTx(); ClientBean clientBean = storage.getClient(organizationId, clientId); if (clientBean == null) { throw ExceptionFactory.clientNotFoundException(clientId); } storage.commitTx(); log.debug(String.format("Got client %s: %s", clientBean.getName(), clientBean)); //$NON-NLS-1$ return clientBean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.IOrganizationResource#createPlanPolicy(java.lang.String, * java.lang.String, java.lang.String, io.apiman.manager.api.beans.policies.NewPolicyBean) */ @Override public PolicyBean createPlanPolicy(String organizationId, String planId, String version, NewPolicyBean bean) throws OrganizationNotFoundException, PlanVersionNotFoundException, NotAuthorizedException { if (!securityContext.hasPermission(PermissionType.planEdit, organizationId)) throw ExceptionFactory.notAuthorizedException(); // Make sure the plan version exists and is in the right state PlanVersionBean pvb = getPlanVersion(organizationId, planId, version); if (pvb.getStatus() == PlanStatus.Locked) { throw ExceptionFactory.invalidPlanStatusException(); } log.debug(String.format("Creating plan %s policy %s", planId, pvb)); //$NON-NLS-1$ PolicyBean policy = doCreatePolicy(organizationId, planId, version, bean, PolicyType.Plan); try { storage.beginTx(); pvb.setModifiedOn(new Date()); pvb.setModifiedBy(securityContext.getCurrentUser()); storage.commitTx(); } catch (Exception e) { storage.rollbackTx(); log.error(e); } return policy; }
/** * @see io.apiman.manager.api.rest.contract.IGatewayResource#delete(java.lang.String) */ @Override public void delete(String gatewayId) throws GatewayNotFoundException, NotAuthorizedException { if (!securityContext.isAdmin()) throw ExceptionFactory.notAuthorizedException(); try { storage.beginTx(); GatewayBean gbean = storage.getGateway(gatewayId); if (gbean == null) { throw ExceptionFactory.gatewayNotFoundException(gatewayId); } storage.deleteGateway(gbean); storage.commitTx(); log.debug(String.format("Successfully deleted gateway %s: %s", gbean.getName(), gbean)); //$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.IGatewayResource#get(java.lang.String) */ @Override public GatewayBean get(String gatewayId) throws GatewayNotFoundException, NotAuthorizedException { try { storage.beginTx(); GatewayBean bean = storage.getGateway(gatewayId); if (bean == null) { throw ExceptionFactory.gatewayNotFoundException(gatewayId); } if (!securityContext.isAdmin()) { bean.setConfiguration(null); } else { decryptPasswords(bean); } storage.commitTx(); log.debug(String.format("Successfully fetched gateway %s: %s", bean.getName(), bean)); //$NON-NLS-1$ return bean; } catch (AbstractRestException e) { storage.rollbackTx(); throw e; } catch (Exception e) { storage.rollbackTx(); throw new SystemErrorException(e); } }
/** * @see io.apiman.manager.api.rest.contract.ICurrentUserResource#updateInfo(io.apiman.manager.api.beans.idm.UpdateUserBean) */ @Override public void updateInfo(UpdateUserBean info) { try { storage.beginTx(); UserBean user = storage.getUser(securityContext.getCurrentUser()); if (user == null) { throw new StorageException("User not found: " + securityContext.getCurrentUser()); //$NON-NLS-1$ } if (info.getEmail() != null) { user.setEmail(info.getEmail()); } if (info.getFullName() != null) { user.setFullName(info.getFullName()); } storage.updateUser(user); storage.commitTx(); log.debug(String.format("Successfully updated user %s: %s", user.getUsername(), user)); //$NON-NLS-1$ } catch (StorageException e) { storage.rollbackTx(); throw new SystemErrorException(e); } }