Search in sources :

Example 21 with ProcessType

use of com.helger.xsds.bdxr.smp1.ProcessType in project phoss-smp by phax.

the class ServiceMetadataInterfaceTest method testCreateAndDeleteServiceInformationJerseyClient.

@Test
public void testCreateAndDeleteServiceInformationJerseyClient() {
    // Lower case
    final IParticipantIdentifier aPI_LC = PeppolIdentifierFactory.INSTANCE.createParticipantIdentifierWithDefaultScheme("9915:xxx");
    final String sPI_LC = aPI_LC.getURIEncoded();
    // Upper case
    final IParticipantIdentifier aPI_UC = PeppolIdentifierFactory.INSTANCE.createParticipantIdentifierWithDefaultScheme("9915:XXX");
    final String sPI_UC = aPI_UC.getURIEncoded();
    final PeppolDocumentTypeIdentifier aDT = EPredefinedDocumentTypeIdentifier.INVOICE_EN16931_PEPPOL_V30.getAsDocumentTypeIdentifier();
    final String sDT = aDT.getURIEncoded();
    final PeppolProcessIdentifier aProcID = EPredefinedProcessIdentifier.BIS3_BILLING.getAsProcessIdentifier();
    final ServiceGroupType aSG = new ServiceGroupType();
    aSG.setParticipantIdentifier(new SimpleParticipantIdentifier(aPI_LC));
    aSG.setServiceMetadataReferenceCollection(new ServiceMetadataReferenceCollectionType());
    final ServiceMetadataType aSM = new ServiceMetadataType();
    final ServiceInformationType aSI = new ServiceInformationType();
    aSI.setParticipantIdentifier(new SimpleParticipantIdentifier(aPI_LC));
    aSI.setDocumentIdentifier(aDT);
    {
        final ProcessListType aPL = new ProcessListType();
        final ProcessType aProcess = new ProcessType();
        aProcess.setProcessIdentifier(aProcID);
        final ServiceEndpointList aSEL = new ServiceEndpointList();
        final EndpointType aEndpoint = new EndpointType();
        aEndpoint.setEndpointReference(W3CEndpointReferenceHelper.createEndpointReference("http://test.smpserver/as2"));
        aEndpoint.setRequireBusinessLevelSignature(false);
        aEndpoint.setCertificate("blacert");
        aEndpoint.setServiceDescription("Unit test service");
        aEndpoint.setTechnicalContactUrl("https://github.com/phax/phoss-smp");
        aEndpoint.setTransportProfile(ESMPTransportProfile.TRANSPORT_PROFILE_AS2.getID());
        aSEL.addEndpoint(aEndpoint);
        aProcess.setServiceEndpointList(aSEL);
        aPL.addProcess(aProcess);
        aSI.setProcessList(aPL);
    }
    aSM.setServiceInformation(aSI);
    final ISMPServiceGroupManager aSGMgr = SMPMetaManager.getServiceGroupMgr();
    final ISMPServiceInformationManager aSIMgr = SMPMetaManager.getServiceInformationMgr();
    final WebTarget aTarget = ClientBuilder.newClient().target(m_aRule.getFullURL());
    Response aResponseMsg;
    _testResponseJerseyClient(aTarget.path(sPI_LC).request().get(), 404);
    _testResponseJerseyClient(aTarget.path(sPI_UC).request().get(), 404);
    try {
        // PUT ServiceGroup
        aResponseMsg = _addCredentials(aTarget.path(sPI_LC).request()).put(Entity.xml(m_aObjFactory.createServiceGroup(aSG)));
        _testResponseJerseyClient(aResponseMsg, 200);
        // Read both
        assertNotNull(aTarget.path(sPI_LC).request().get(ServiceGroupType.class));
        assertNotNull(aTarget.path(sPI_UC).request().get(ServiceGroupType.class));
        final ISMPServiceGroup aServiceGroup = aSGMgr.getSMPServiceGroupOfID(aPI_LC);
        assertNotNull(aServiceGroup);
        final ISMPServiceGroup aServiceGroup_UC = aSGMgr.getSMPServiceGroupOfID(aPI_UC);
        assertEquals(aServiceGroup, aServiceGroup_UC);
        try {
            // PUT 1 ServiceInformation
            aResponseMsg = _addCredentials(aTarget.path(sPI_LC).path("services").path(sDT).request()).put(Entity.xml(m_aObjFactory.createServiceMetadata(aSM)));
            _testResponseJerseyClient(aResponseMsg, 200);
            assertNotNull(aSIMgr.getSMPServiceInformationOfServiceGroupAndDocumentType(aServiceGroup, aDT));
            // PUT 2 ServiceInformation
            aResponseMsg = _addCredentials(aTarget.path(sPI_LC).path("services").path(sDT).request()).put(Entity.xml(m_aObjFactory.createServiceMetadata(aSM)));
            _testResponseJerseyClient(aResponseMsg, 200);
            assertNotNull(aSIMgr.getSMPServiceInformationOfServiceGroupAndDocumentType(aServiceGroup, aDT));
            // DELETE 1 ServiceInformation
            aResponseMsg = _addCredentials(aTarget.path(sPI_LC).path("services").path(sDT).request()).delete();
            _testResponseJerseyClient(aResponseMsg, 200);
            assertNull(aSIMgr.getSMPServiceInformationOfServiceGroupAndDocumentType(aServiceGroup, aDT));
        } finally {
            // DELETE 2 ServiceInformation
            aResponseMsg = _addCredentials(aTarget.path(sPI_LC).path("services").path(sDT).request()).delete();
            _testResponseJerseyClient(aResponseMsg, 200, 404);
            assertNull(aSIMgr.getSMPServiceInformationOfServiceGroupAndDocumentType(aServiceGroup, aDT));
        }
        assertNotNull(aTarget.path(sPI_LC).request().get(ServiceGroupType.class));
    } finally {
        // DELETE ServiceGroup
        aResponseMsg = _addCredentials(aTarget.path(sPI_LC).request()).delete();
        // May be 500 if no MySQL is running
        _testResponseJerseyClient(aResponseMsg, 200, 404);
        _testResponseJerseyClient(aTarget.path(sPI_LC).request().get(), 404);
        _testResponseJerseyClient(aTarget.path(sPI_UC).request().get(), 404);
        assertFalse(aSGMgr.containsSMPServiceGroupWithID(aPI_LC));
        assertFalse(aSGMgr.containsSMPServiceGroupWithID(aPI_UC));
    }
}
Also used : ISMPServiceGroupManager(com.helger.phoss.smp.domain.servicegroup.ISMPServiceGroupManager) ISMPServiceInformationManager(com.helger.phoss.smp.domain.serviceinfo.ISMPServiceInformationManager) ServiceMetadataReferenceCollectionType(com.helger.xsds.peppol.smp1.ServiceMetadataReferenceCollectionType) ISMPServiceGroup(com.helger.phoss.smp.domain.servicegroup.ISMPServiceGroup) PeppolProcessIdentifier(com.helger.peppolid.peppol.process.PeppolProcessIdentifier) ServiceInformationType(com.helger.xsds.peppol.smp1.ServiceInformationType) SimpleParticipantIdentifier(com.helger.peppolid.simple.participant.SimpleParticipantIdentifier) Response(javax.ws.rs.core.Response) ProcessType(com.helger.xsds.peppol.smp1.ProcessType) PeppolDocumentTypeIdentifier(com.helger.peppolid.peppol.doctype.PeppolDocumentTypeIdentifier) EndpointType(com.helger.xsds.peppol.smp1.EndpointType) ProcessListType(com.helger.xsds.peppol.smp1.ProcessListType) WebTarget(javax.ws.rs.client.WebTarget) ServiceGroupType(com.helger.xsds.peppol.smp1.ServiceGroupType) ServiceMetadataType(com.helger.xsds.peppol.smp1.ServiceMetadataType) ServiceEndpointList(com.helger.xsds.peppol.smp1.ServiceEndpointList) IParticipantIdentifier(com.helger.peppolid.IParticipantIdentifier) Test(org.junit.Test)

Example 22 with ProcessType

use of com.helger.xsds.bdxr.smp1.ProcessType in project AGREE by loonwerks.

the class EphemeralImplementationUtil method createComponentImplementationInternal.

/**
 * Internal method to actually create the ephemeral component implementation and containing resource.
 * <p>
 * This method is intended to by invoked only from the command stack so that editing permissions are managed
 * through the transactional editing domain.
 *
 * @param ct The {@link ComponentType} for which to create an ephemeral implementation.
 * @param aadlResource The {@link Resource} in which to place the ephemeral implementation and it containing
 *     {@link AadlPackage}.
 * @return A {@link ComponentImplementation} matching the given component type.
 * @throws InterruptedException
 */
private ComponentImplementation createComponentImplementationInternal(ComponentType ct, Resource aadlResource) throws InterruptedException {
    // Create a package and public section to contain the created
    // component implementation
    AadlPackage aadlPackage = Aadl2Factory.eINSTANCE.createAadlPackage();
    aadlPackage.setName(aadlResource.getURI().trimFragment().trimFileExtension().lastSegment().toString());
    PublicPackageSection publicSection = aadlPackage.createOwnedPublicSection();
    // Add import for package containing ct
    AadlPackage ctPackage = (AadlPackage) AgreeUtils.getClosestContainerOfType(ct, AadlPackage.class);
    publicSection.getImportedUnits().add(ctPackage);
    // Add renames clause to make linking to ct easy
    PackageRename ctRename = publicSection.createOwnedPackageRename();
    ctRename.setName("");
    ctRename.setRenamedPackage(ctPackage);
    ctRename.setRenameAll(true);
    // Create the component implementation in the public section
    ComponentImplementation compImpl;
    if (ct instanceof ThreadType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getThreadImplementation());
    } else if (ct instanceof ThreadGroupType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getThreadGroupImplementation());
    } else if (ct instanceof ProcessType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getProcessImplementation());
    } else if (ct instanceof SubprogramType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getSubprogramImplementation());
    } else if (ct instanceof ProcessorType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getProcessorImplementation());
    } else if (ct instanceof BusType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getBusImplementation());
    } else if (ct instanceof DeviceType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getDeviceImplementation());
    } else if (ct instanceof SystemType) {
        compImpl = (ComponentImplementation) publicSection.createOwnedClassifier(Aadl2Package.eINSTANCE.getSystemImplementation());
    } else {
        throw new AgreeException("Unhandled component type: " + ct.getClass().toString());
    }
    compImpl.setType(ct);
    compImpl.setName(ct.getName() + ".wrapper");
    // Add the package and its contents to the resource
    aadlResource.getContents().add(aadlPackage);
    // IResource as we build it.
    try {
        aadlResource.save(null);
    } catch (IOException e) {
        e.printStackTrace();
        setErrorMessage(e.getMessage());
        return null;
    } catch (NullPointerException npe) {
        npe.printStackTrace();
        setErrorMessage(npe.getMessage());
        npe.getMessage();
        return null;
    // } catch (InterruptedException e) {
    // throw e;
    } catch (Exception e) {
        e.printStackTrace();
        errorMessage = e.getMessage();
        e.getMessage();
        return null;
    }
    return compImpl;
}
Also used : ComponentImplementation(org.osate.aadl2.ComponentImplementation) ThreadGroupType(org.osate.aadl2.ThreadGroupType) AadlPackage(org.osate.aadl2.AadlPackage) BusType(org.osate.aadl2.BusType) ProcessorType(org.osate.aadl2.ProcessorType) SystemType(org.osate.aadl2.SystemType) IOException(java.io.IOException) RollbackException(org.eclipse.emf.transaction.RollbackException) IOException(java.io.IOException) DeviceType(org.osate.aadl2.DeviceType) ProcessType(org.osate.aadl2.ProcessType) PublicPackageSection(org.osate.aadl2.PublicPackageSection) ThreadType(org.osate.aadl2.ThreadType) PackageRename(org.osate.aadl2.PackageRename) SubprogramType(org.osate.aadl2.SubprogramType)

Aggregations

ProcessType (com.helger.xsds.peppol.smp1.ProcessType)12 EndpointType (com.helger.xsds.peppol.smp1.EndpointType)10 ServiceInformationType (com.helger.xsds.peppol.smp1.ServiceInformationType)10 ProcessListType (com.helger.xsds.peppol.smp1.ProcessListType)8 IParticipantIdentifier (com.helger.peppolid.IParticipantIdentifier)7 SimpleParticipantIdentifier (com.helger.peppolid.simple.participant.SimpleParticipantIdentifier)7 ServiceEndpointList (com.helger.xsds.peppol.smp1.ServiceEndpointList)7 PeppolDocumentTypeIdentifier (com.helger.peppolid.peppol.doctype.PeppolDocumentTypeIdentifier)5 PeppolProcessIdentifier (com.helger.peppolid.peppol.process.PeppolProcessIdentifier)5 ProcessType (org.osate.aadl2.ProcessType)5 AbstractImplementation (org.osate.aadl2.AbstractImplementation)4 AbstractType (org.osate.aadl2.AbstractType)4 BusImplementation (org.osate.aadl2.BusImplementation)4 BusType (org.osate.aadl2.BusType)4 DeviceImplementation (org.osate.aadl2.DeviceImplementation)4 DeviceType (org.osate.aadl2.DeviceType)4 MemoryImplementation (org.osate.aadl2.MemoryImplementation)4 MemoryType (org.osate.aadl2.MemoryType)4 ProcessImplementation (org.osate.aadl2.ProcessImplementation)4 ProcessorImplementation (org.osate.aadl2.ProcessorImplementation)4