Search in sources :

Example 1 with MessageMetaData

use of ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData in project qpid-broker-j by apache.

the class BDBMessageStoreTest method createAndStoreSingleChunkMessage_0_8.

private StoredMessage<MessageMetaData> createAndStoreSingleChunkMessage_0_8(MessageStore store) {
    QpidByteBuffer chunk1 = QpidByteBuffer.wrap(CONTENT_BYTES);
    int bodySize = CONTENT_BYTES.length;
    // create and store the message using the MessageStore interface
    MessagePublishInfo pubInfoBody_0_8 = createPublishInfoBody_0_8();
    BasicContentHeaderProperties props_0_8 = createContentHeaderProperties_0_8();
    ContentHeaderBody chb_0_8 = createContentHeaderBody_0_8(props_0_8, bodySize);
    MessageMetaData messageMetaData_0_8 = new MessageMetaData(pubInfoBody_0_8, chb_0_8);
    MessageHandle<MessageMetaData> storedMessage_0_8 = store.addMessage(messageMetaData_0_8);
    storedMessage_0_8.addContent(chunk1);
    ((AbstractBDBMessageStore.StoredBDBMessage) storedMessage_0_8).flushToStore();
    return storedMessage_0_8.allContentAdded();
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageMetaData(org.apache.qpid.server.protocol.v0_8.MessageMetaData) InternalMessageMetaData(org.apache.qpid.server.message.internal.InternalMessageMetaData) ContentHeaderBody(org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody) QpidByteBuffer(org.apache.qpid.server.bytebuffer.QpidByteBuffer) BasicContentHeaderProperties(org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties)

Example 2 with MessageMetaData

use of ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData in project qpid-broker-j by apache.

the class MessageConverter_1_0_to_v0_8 method convertMetaData.

private MessageMetaData convertMetaData(final Message_1_0 serverMsg, final String bodyMimeType, final int size, final NamedAddressSpace addressSpace) {
    final MessageMetaData_1_0.MessageHeader_1_0 header = serverMsg.getMessageHeader();
    final BasicContentHeaderProperties props = new BasicContentHeaderProperties();
    props.setAppId(serverMsg.getMessageHeader().getAppId());
    props.setContentType(bodyMimeType);
    props.setEncoding(convertToShortStringForProperty("content-encoding", serverMsg.getMessageHeader().getEncoding()));
    props.setCorrelationId(getCorrelationIdAsShortString(serverMsg));
    props.setDeliveryMode(serverMsg.isPersistent() ? BasicContentHeaderProperties.PERSISTENT : BasicContentHeaderProperties.NON_PERSISTENT);
    final Date absoluteExpiryTime = getAbsoluteExpiryTime(serverMsg);
    if (absoluteExpiryTime != null) {
        props.setExpiration(absoluteExpiryTime.getTime());
    } else {
        Long ttl = getTtl(serverMsg);
        if (ttl != null) {
            props.setExpiration(ttl + serverMsg.getArrivalTime());
        }
    }
    props.setMessageId(getMessageIdAsShortString(serverMsg));
    props.setPriority(serverMsg.getMessageHeader().getPriority());
    props.setReplyTo(getReplyTo(serverMsg, addressSpace));
    Date timestamp = getCreationTime(serverMsg);
    if (timestamp != null) {
        props.setTimestamp(timestamp.getTime());
    } else {
        props.setTimestamp(serverMsg.getArrivalTime());
    }
    props.setUserId(getUserIdAsShortString(serverMsg));
    Map<String, Object> headerProps = new LinkedHashMap<>();
    if (header.getSubject() != null) {
        headerProps.put("qpid.subject", header.getSubject());
        props.setType(convertToShortStringForProperty("subject", header.getSubject()));
    }
    String groupId = getGroupId(serverMsg);
    if (groupId != null) {
        headerProps.put("JMSXGroupID", groupId);
    }
    UnsignedInteger groupSequence = getGroupSequence(serverMsg);
    if (groupSequence != null) {
        headerProps.put("JMSXGroupSeq", groupSequence.intValue());
    }
    for (String headerName : serverMsg.getMessageHeader().getHeaderNames()) {
        headerProps.put(headerName, convertValue(serverMsg.getMessageHeader().getHeader(headerName)));
    }
    final FieldTable headers;
    try {
        headers = FieldTable.convertToFieldTable(headerProps);
    } catch (IllegalArgumentException | AMQPInvalidClassException e) {
        throw new MessageConversionException("Could not convert message from 1.0 to 0-8 because conversion of 'application-properties' failed.", e);
    }
    props.setHeaders(headers);
    final ContentHeaderBody chb = new ContentHeaderBody(props);
    chb.setBodySize(size);
    MessagePublishInfo publishInfo = createMessagePublishInfo(header, addressSpace);
    return new MessageMetaData(publishInfo, chb, serverMsg.getArrivalTime());
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageMetaData(org.apache.qpid.server.protocol.v0_8.MessageMetaData) AMQPInvalidClassException(org.apache.qpid.server.protocol.v0_8.AMQPInvalidClassException) MessageConversionException(org.apache.qpid.server.protocol.converter.MessageConversionException) ContentHeaderBody(org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody) FieldTable(org.apache.qpid.server.protocol.v0_8.FieldTable) MessageMetaData_1_0(org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0) AMQShortString(org.apache.qpid.server.protocol.v0_8.AMQShortString) BasicContentHeaderProperties(org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties) Date(java.util.Date) LinkedHashMap(java.util.LinkedHashMap) UnsignedInteger(org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger)

Example 3 with MessageMetaData

use of ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData in project qpid-broker-j by apache.

the class MessageConverter_1_0_to_v0_8 method convertToStoredMessage.

private StoredMessage<MessageMetaData> convertToStoredMessage(final Message_1_0 serverMsg, final NamedAddressSpace addressSpace) {
    final ConvertedContentAndMimeType convertedContentAndMimeType = getAmqp0xConvertedContentAndMimeType(serverMsg);
    final byte[] convertedContent = convertedContentAndMimeType.getContent();
    final MessageMetaData messageMetaData_0_8 = convertMetaData(serverMsg, convertedContentAndMimeType.getMimeType(), convertedContent.length, addressSpace);
    final int metadataSize = messageMetaData_0_8.getStorableSize();
    return new StoredMessage<MessageMetaData>() {

        @Override
        public MessageMetaData getMetaData() {
            return messageMetaData_0_8;
        }

        @Override
        public long getMessageNumber() {
            return serverMsg.getMessageNumber();
        }

        @Override
        public QpidByteBuffer getContent(final int offset, final int length) {
            return QpidByteBuffer.wrap(convertedContent, offset, length);
        }

        @Override
        public int getContentSize() {
            return convertedContent.length;
        }

        @Override
        public int getMetadataSize() {
            return metadataSize;
        }

        @Override
        public void remove() {
            throw new UnsupportedOperationException();
        }

        @Override
        public boolean isInContentInMemory() {
            return true;
        }

        @Override
        public long getInMemorySize() {
            return getContentSize() + getMetadataSize();
        }

        @Override
        public boolean flowToDisk() {
            return false;
        }

        @Override
        public void reallocate() {
        }
    };
}
Also used : MessageMetaData(org.apache.qpid.server.protocol.v0_8.MessageMetaData) StoredMessage(org.apache.qpid.server.store.StoredMessage) ConvertedContentAndMimeType(org.apache.qpid.server.protocol.v1_0.MessageConverter_from_1_0.ConvertedContentAndMimeType) MessageConverter_from_1_0.getAmqp0xConvertedContentAndMimeType(org.apache.qpid.server.protocol.v1_0.MessageConverter_from_1_0.getAmqp0xConvertedContentAndMimeType)

Example 4 with MessageMetaData

use of ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData in project moh-hnweb by bcgov.

the class HL7SerializerTest method test_findCandidate.

@Test
public void test_findCandidate() throws Exception {
    HL7Config hl7Config = new HL7Config();
    HL7Serializer hl7 = new HL7Serializer(hl7Config);
    MessageMetaData mmd = new MessageMetaData("testId");
    mmd.setDataEntererExt("train96");
    mmd.setOrganization("HOOPC");
    mmd.setSourceSystemOverride("BCHCIM");
    FindCandidatesRequest getDemoQuery = new FindCandidatesRequest();
    getDemoQuery.setSurname("Purple");
    getDemoQuery.setFirstGivenName("Barney");
    getDemoQuery.setBirthDate("19400101");
    Object request = hl7.toXml(getDemoQuery, mmd);
    assertNotNull(request);
    FindCandidatesResponse demographicsResponse = hl7.fromXml(TestUtil.convertXMLFileToString(path1), FindCandidatesResponse.class);
    assertEquals("9999999999", demographicsResponse.getResults().get(0).getPerson().getPhn());
    assertEquals(3, demographicsResponse.getResultCount());
}
Also used : MessageMetaData(ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData) FindCandidatesRequest(ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesRequest) FindCandidatesResponse(ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesResponse) Test(org.junit.jupiter.api.Test)

Example 5 with MessageMetaData

use of ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData in project cardano-client-lib by bloxbean.

the class TxBuilderContextTest method testTransactionBuilding.

@Test
void testTransactionBuilding() throws CborSerializationException, ApiException {
    String senderMnemonic = "stone decade great marine meadow merge boss ahead again rapid detect cover vital estate web silly copper estate wisdom empty speed salute oak car";
    Account senderAccount = new Account(Networks.testnet(), senderMnemonic);
    Output output1 = Output.builder().address("addr_test1qz3s0c370u8zzqn302nppuxl840gm6qdmjwqnxmqxme657ze964mar2m3r5jjv4qrsf62yduqns0tsw0hvzwar07qasqeamp0c").assetName(LOVELACE).qty(BigInteger.valueOf(12000)).build();
    Output output2 = Output.builder().address("addr_test1qq46hhhpppek6e33hqakqyu2z5xeqwlc4pc0xynwamn34l6vps306wwr475xeh2lnt4hqjm4mfyjqnvla9j5wtc3fxespv67ka").assetName(LOVELACE).qty(ONE_ADA.multiply(BigInteger.valueOf(20))).build();
    Output output3 = Output.builder().address("addr_test1qq46hhhpppek6e33hqakqyu2z5xeqwlc4pc0xynwamn34l6vps306wwr475xeh2lnt4hqjm4mfyjqnvla9j5wtc3fxespv67ka").policyId("8bb9f400ee6ec7c81c5afa2c656945c1ab06785b9751993653441e32").assetName("TestAss1").qty(BigInteger.valueOf(8)).build();
    Value value2 = Value.builder().multiAssets(Arrays.asList(MultiAsset.builder().policyId("8bb9f400ee6ec7c81c5afa2c656945c1ab06785b9751993653441e32").assets(Arrays.asList(new Asset("TestAss1", BigInteger.valueOf(5)))).build())).build();
    TxOutputBuilder multiAssetOutputBuilder = OutputBuilders.createFromOutput(new TransactionOutput("addr_test1qz7g6c8w6lzhr5weyus79rl4alepskc6u2pfuzkr7s5qad30ry2sf3u3vq0hzkyhht4uwqy8p40xfy5qkgc79xswq5msnaucg2", value2));
    String senderAddress = senderAccount.baseAddress();
    String changeAddress = senderAccount.baseAddress();
    Policy policy = PolicyUtil.createMultiSigScriptAllPolicy("mypolicy", 1);
    MultiAsset multiAsset = MultiAsset.builder().policyId(policy.getPolicyId()).assets(List.of(Asset.builder().name("xyz_func").value(BigInteger.valueOf(100)).build())).build();
    Policy nftPolicy = PolicyUtil.createMultiSigScriptAllPolicy("nftPolicy", 1);
    MultiAsset nftMultiAsset = MultiAsset.builder().policyId(nftPolicy.getPolicyId()).assets(List.of(Asset.builder().name("nft-1").value(BigInteger.valueOf(1)).build())).build();
    Value mintValue = Value.builder().coin(BigInteger.ZERO).multiAssets(List.of(multiAsset, nftMultiAsset)).build();
    String mintReceiver = "addr_test1qzllzd3cxvz53k9gkq3n3mpcm6g7kv7rj5yvs88n7xwm3nmcs8dpnr85lclka6sycwccput39p0cffqegn8kkf6euzks6h9ldv";
    TxOutputBuilder mintAssetOuputBuilder = OutputBuilders.createFromMintOutput(new TransactionOutput(mintReceiver, mintValue));
    NFT nft = NFT.create().name("nft-1").description("Test nft 1").image("http://imageurl").assetName("nft-1");
    NFTMetadata nftMetadata = NFTMetadata.create().addNFT(nftPolicy.getPolicyId(), nft).version("1.0");
    MessageMetadata metadata = MessageMetadata.create().add("This is test message !! ---");
    // addr_test1qpg4faaydel7n6cq8e4p5kscg6zahmrhlgeke8c6hn6utespky66rz9quy288xqfwc4k2z3v5h4g7gqxpkr8hn9rngvq00hz02
    String secondSenderMnemonic = "reflect robust shy pond spirit hour suffer can million truck final arrow turn lecture worth quarter choose tourist weird lady flee before congress group";
    Account secondSender = new Account(Networks.testnet(), secondSenderMnemonic);
    TxBuilder builder = output1.outputBuilder().and(output2.outputBuilder()).and(output3.outputBuilder()).and(multiAssetOutputBuilder).buildInputs(InputBuilders.createFromSender(senderAddress, changeAddress)).andThen(mintAssetOuputBuilder.buildInputs(InputBuilders.createFromSender(secondSender.baseAddress(), changeAddress))).andThen(MintCreators.mintCreator(nftPolicy.getPolicyScript(), nftMultiAsset)).andThen(MintCreators.mintCreator(policy.getPolicyScript(), multiAsset)).andThen(AuxDataProviders.metadataProvider(metadata)).andThen(AuxDataProviders.metadataProvider(nftMetadata)).andThen(FeeCalculators.feeCalculator(changeAddress, 2 + policy.getPolicyKeys().size() + policy.getPolicyKeys().size()).andThen(ChangeOutputAdjustments.adjustChangeOutput(changeAddress, // Incase changeout goes below min ada after fee deduction
    2 + policy.getPolicyKeys().size() + policy.getPolicyKeys().size())));
    TxSigner signer = signerFrom(senderAccount, secondSender).andThen(signerFrom(policy, nftPolicy));
    Transaction signedTxn = TxBuilderContext.init(backendService).buildAndSign(builder, signer);
    System.out.println(signedTxn);
    Result<String> result = backendService.getTransactionService().submitTransaction(signedTxn.serialize());
    System.out.println(result);
    waitForTransaction(result);
}
Also used : Account(com.bloxbean.cardano.client.account.Account) MessageMetadata(com.bloxbean.cardano.client.cip.cip20.MessageMetadata) NFTMetadata(com.bloxbean.cardano.client.cip.cip25.NFTMetadata) OutputBuilders.createFromMintOutput(com.bloxbean.cardano.client.function.helper.OutputBuilders.createFromMintOutput) ChangeOutputAdjustments.adjustChangeOutput(com.bloxbean.cardano.client.function.helper.ChangeOutputAdjustments.adjustChangeOutput) NFT(com.bloxbean.cardano.client.cip.cip25.NFT) BaseITTest(com.bloxbean.cardano.client.backend.api.BaseITTest) Test(org.junit.jupiter.api.Test)

Aggregations

MessageMetaData (org.apache.qpid.server.protocol.v0_8.MessageMetaData)6 Test (org.junit.jupiter.api.Test)6 MessageMetaData (ca.bc.gov.hlth.hnweb.model.v3.MessageMetaData)4 MessageMetadata (com.bloxbean.cardano.client.cip.cip20.MessageMetadata)4 ContentHeaderBody (org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody)4 MessagePublishInfo (org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo)4 PaymentTransaction (com.bloxbean.cardano.client.transaction.model.PaymentTransaction)3 BigInteger (java.math.BigInteger)3 HNWebException (ca.bc.gov.hlth.hnweb.exception.HNWebException)2 FindCandidatesResponse (ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesResponse)2 GetDemographicsResponse (ca.bc.gov.hlth.hnweb.model.v3.GetDemographicsResponse)2 UserInfo (ca.bc.gov.hlth.hnweb.security.UserInfo)2 HL7Config (ca.bc.gov.hlth.hnweb.serialization.HL7Config)2 HL7Serializer (ca.bc.gov.hlth.hnweb.serialization.HL7Serializer)2 AMQMessage (org.apache.qpid.server.protocol.v0_8.AMQMessage)2 BasicContentHeaderProperties (org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties)2 StoredMessage (org.apache.qpid.server.store.StoredMessage)2 FindCandidatesRequest (ca.bc.gov.hlth.hnweb.model.v3.FindCandidatesRequest)1 GetDemographicsRequest (ca.bc.gov.hlth.hnweb.model.v3.GetDemographicsRequest)1 Account (com.bloxbean.cardano.client.account.Account)1