Search in sources :

Example 6 with EndpointAdminServiceProxy

use of org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy in project carbon-apimgt by wso2.

the class APIGatewayAdmin method deployAPI.

public boolean deployAPI(GatewayAPIDTO gatewayAPIDTO) throws AxisFault {
    CertificateManager certificateManager = CertificateManagerImpl.getInstance();
    SequenceAdminServiceProxy sequenceAdminServiceProxy = getSequenceAdminServiceClient(gatewayAPIDTO.getTenantDomain());
    RESTAPIAdminServiceProxy restapiAdminServiceProxy = getRestapiAdminClient(gatewayAPIDTO.getTenantDomain());
    LocalEntryServiceProxy localEntryServiceProxy = new LocalEntryServiceProxy(gatewayAPIDTO.getTenantDomain());
    EndpointAdminServiceProxy endpointAdminServiceProxy = new EndpointAdminServiceProxy(gatewayAPIDTO.getTenantDomain());
    MediationSecurityAdminServiceProxy mediationSecurityAdminServiceProxy = new MediationSecurityAdminServiceProxy(gatewayAPIDTO.getTenantDomain());
    if (log.isDebugEnabled()) {
        log.debug("Start to undeploy API" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    unDeployAPI(certificateManager, sequenceAdminServiceProxy, restapiAdminServiceProxy, localEntryServiceProxy, endpointAdminServiceProxy, gatewayAPIDTO, mediationSecurityAdminServiceProxy);
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " undeployed");
        log.debug("Start to deploy Local entries" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add Local Entries
    if (gatewayAPIDTO.getLocalEntriesToBeAdd() != null) {
        for (GatewayContentDTO localEntry : gatewayAPIDTO.getLocalEntriesToBeAdd()) {
            if (localEntryServiceProxy.isEntryExists(localEntry.getName())) {
                localEntryServiceProxy.deleteEntry(localEntry.getName());
                localEntryServiceProxy.addLocalEntry(localEntry.getContent());
            } else {
                localEntryServiceProxy.addLocalEntry(localEntry.getContent());
            }
        }
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " Local Entries deployed");
        log.debug("Start to deploy Endpoint entries" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add Endpoints
    if (gatewayAPIDTO.getEndpointEntriesToBeAdd() != null) {
        for (GatewayContentDTO endpointEntry : gatewayAPIDTO.getEndpointEntriesToBeAdd()) {
            if (endpointAdminServiceProxy.isEndpointExist(endpointEntry.getName())) {
                endpointAdminServiceProxy.deleteEndpoint(endpointEntry.getName());
                endpointAdminServiceProxy.addEndpoint(endpointEntry.getContent());
            } else {
                endpointAdminServiceProxy.addEndpoint(endpointEntry.getContent());
            }
        }
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " Endpoints deployed");
        log.debug("Start to deploy Client certificates" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add Client Certificates
    if (gatewayAPIDTO.getClientCertificatesToBeAdd() != null) {
        for (GatewayContentDTO certificate : gatewayAPIDTO.getClientCertificatesToBeAdd()) {
            certificateManager.addClientCertificateToGateway(certificate.getContent(), certificate.getName());
        }
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " client certificates deployed");
        log.debug("Start to add vault entries " + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add vault entries
    if (gatewayAPIDTO.getCredentialsToBeAdd() != null) {
        for (CredentialDto certificate : gatewayAPIDTO.getCredentialsToBeAdd()) {
            try {
                String encryptedValue = mediationSecurityAdminServiceProxy.doEncryption(certificate.getPassword());
                if (mediationSecurityAdminServiceProxy.isAliasExist(certificate.getAlias())) {
                    setRegistryProperty(gatewayAPIDTO.getTenantDomain(), certificate.getAlias(), encryptedValue);
                } else {
                    setRegistryProperty(gatewayAPIDTO.getTenantDomain(), certificate.getAlias(), encryptedValue);
                }
            } catch (APIManagementException e) {
                log.error("Exception occurred while encrypting password.", e);
                throw new AxisFault(e.getMessage());
            }
        }
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " Vault Entries Added successfully");
        log.debug("Start to deploy custom sequences" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add Sequences
    if (gatewayAPIDTO.getSequenceToBeAdd() != null) {
        for (GatewayContentDTO sequence : gatewayAPIDTO.getSequenceToBeAdd()) {
            OMElement element;
            try {
                element = AXIOMUtil.stringToOM(sequence.getContent());
            } catch (XMLStreamException e) {
                log.error("Exception occurred while converting String to an OM.", e);
                throw new AxisFault(e.getMessage());
            }
            if (sequenceAdminServiceProxy.isExistingSequence(sequence.getName())) {
                sequenceAdminServiceProxy.deleteSequence(sequence.getName());
                sequenceAdminServiceProxy.addSequence(element);
            } else {
                sequenceAdminServiceProxy.addSequence(element);
            }
        }
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " custom sequences deployed");
        log.debug("Start to deploy API Definition" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    // Add API
    if (StringUtils.isNotEmpty(gatewayAPIDTO.getApiDefinition())) {
        restapiAdminServiceProxy.addApi(gatewayAPIDTO.getApiDefinition());
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " API Definition deployed");
        log.debug("Start to deploy Default API Definition" + gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion());
    }
    if (log.isDebugEnabled()) {
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + " Default API Definition deployed");
        log.debug(gatewayAPIDTO.getName() + ":" + gatewayAPIDTO.getVersion() + "Deployed successfully");
    }
    return true;
}
Also used : AxisFault(org.apache.axis2.AxisFault) MediationSecurityAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.MediationSecurityAdminServiceProxy) CertificateManager(org.wso2.carbon.apimgt.impl.certificatemgt.CertificateManager) OMElement(org.apache.axiom.om.OMElement) RESTAPIAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.RESTAPIAdminServiceProxy) CredentialDto(org.wso2.carbon.apimgt.api.gateway.CredentialDto) APIManagementException(org.wso2.carbon.apimgt.api.APIManagementException) XMLStreamException(javax.xml.stream.XMLStreamException) LocalEntryServiceProxy(org.wso2.carbon.apimgt.gateway.utils.LocalEntryServiceProxy) EndpointAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy) GatewayContentDTO(org.wso2.carbon.apimgt.api.gateway.GatewayContentDTO) SequenceAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.SequenceAdminServiceProxy)

Example 7 with EndpointAdminServiceProxy

use of org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy in project carbon-apimgt by wso2.

the class APIGatewayAdmin method unDeployAPI.

public boolean unDeployAPI(GatewayAPIDTO gatewayAPIDTO) throws AxisFault {
    CertificateManager certificateManager = CertificateManagerImpl.getInstance();
    SequenceAdminServiceProxy sequenceAdminServiceProxy = getSequenceAdminServiceClient(gatewayAPIDTO.getTenantDomain());
    RESTAPIAdminServiceProxy restapiAdminServiceProxy = getRestapiAdminClient(gatewayAPIDTO.getTenantDomain());
    LocalEntryServiceProxy localEntryServiceProxy = new LocalEntryServiceProxy(gatewayAPIDTO.getTenantDomain());
    EndpointAdminServiceProxy endpointAdminServiceProxy = new EndpointAdminServiceProxy(gatewayAPIDTO.getTenantDomain());
    MediationSecurityAdminServiceProxy mediationSecurityAdminServiceProxy = new MediationSecurityAdminServiceProxy(gatewayAPIDTO.getTenantDomain());
    unDeployAPI(certificateManager, sequenceAdminServiceProxy, restapiAdminServiceProxy, localEntryServiceProxy, endpointAdminServiceProxy, gatewayAPIDTO, mediationSecurityAdminServiceProxy);
    return true;
}
Also used : RESTAPIAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.RESTAPIAdminServiceProxy) MediationSecurityAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.MediationSecurityAdminServiceProxy) LocalEntryServiceProxy(org.wso2.carbon.apimgt.gateway.utils.LocalEntryServiceProxy) CertificateManager(org.wso2.carbon.apimgt.impl.certificatemgt.CertificateManager) EndpointAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy) SequenceAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.SequenceAdminServiceProxy)

Example 8 with EndpointAdminServiceProxy

use of org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy in project carbon-apimgt by wso2.

the class APIGatewayAdminTest method addEndpointForTenant.

@Test
public void addEndpointForTenant() throws Exception {
    String endpointData = "<endpoint></endpoint>";
    EndpointAdminServiceProxy endpointAdminServiceProxy = Mockito.mock(EndpointAdminServiceProxy.class);
    Mockito.when(endpointAdminServiceProxy.addEndpoint(Mockito.anyString())).thenReturn(true);
    APIGatewayAdmin apiGatewayAdmin = new APIGatewayAdminWrapper(null, endpointAdminServiceProxy, null);
    Assert.assertTrue(apiGatewayAdmin.addEndpoint(endpointData));
}
Also used : EndpointAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy) Test(org.junit.Test)

Example 9 with EndpointAdminServiceProxy

use of org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy in project carbon-apimgt by wso2.

the class APIGatewayAdminTest method deleteEndpoint.

@Test
public void deleteEndpoint() throws Exception {
    String endpointName = "PizzaShackAPI--v1.0.0_APIproductionEndpoint";
    EndpointAdminServiceProxy endpointAdminServiceProxy = Mockito.mock(EndpointAdminServiceProxy.class);
    Mockito.when(endpointAdminServiceProxy.deleteEndpoint(Mockito.anyString())).thenReturn(true);
    APIGatewayAdmin apiGatewayAdmin = new APIGatewayAdminWrapper(null, endpointAdminServiceProxy, null);
    Assert.assertTrue(apiGatewayAdmin.deleteEndpoint(endpointName));
}
Also used : EndpointAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy) Test(org.junit.Test)

Example 10 with EndpointAdminServiceProxy

use of org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy in project carbon-apimgt by wso2.

the class APIGatewayAdminTest method addEndpoint.

@Test
public void addEndpoint() throws Exception {
    String endpointData = "<endpoint></endpoint>";
    EndpointAdminServiceProxy endpointAdminServiceProxy = Mockito.mock(EndpointAdminServiceProxy.class);
    Mockito.when(endpointAdminServiceProxy.addEndpoint(Mockito.anyString())).thenReturn(true);
    APIGatewayAdmin apiGatewayAdmin = new APIGatewayAdminWrapper(null, endpointAdminServiceProxy, null);
    Assert.assertTrue(apiGatewayAdmin.addEndpoint(endpointData));
}
Also used : EndpointAdminServiceProxy(org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)17 EndpointAdminServiceProxy (org.wso2.carbon.apimgt.gateway.utils.EndpointAdminServiceProxy)14 RESTAPIAdminServiceProxy (org.wso2.carbon.apimgt.gateway.utils.RESTAPIAdminServiceProxy)10 SequenceAdminServiceProxy (org.wso2.carbon.apimgt.gateway.utils.SequenceAdminServiceProxy)10 AxisFault (org.apache.axis2.AxisFault)7 OMElement (org.apache.axiom.om.OMElement)4 EndpointAdmin (org.wso2.carbon.endpoint.service.EndpointAdmin)4 APIManagementException (org.wso2.carbon.apimgt.api.APIManagementException)3 OMFactory (org.apache.axiom.om.OMFactory)2 API (org.wso2.carbon.apimgt.api.model.API)2 APIIdentifier (org.wso2.carbon.apimgt.api.model.APIIdentifier)2 LocalEntryServiceProxy (org.wso2.carbon.apimgt.gateway.utils.LocalEntryServiceProxy)2 MediationSecurityAdminServiceProxy (org.wso2.carbon.apimgt.gateway.utils.MediationSecurityAdminServiceProxy)2 CertificateManager (org.wso2.carbon.apimgt.impl.certificatemgt.CertificateManager)2 ArrayList (java.util.ArrayList)1 XMLStreamException (javax.xml.stream.XMLStreamException)1 CredentialDto (org.wso2.carbon.apimgt.api.gateway.CredentialDto)1 GatewayContentDTO (org.wso2.carbon.apimgt.api.gateway.GatewayContentDTO)1