/* * Copyright 2010-2017 Norwegian Agency for Public Management and eGovernment (Difi) * * Licensed under the EUPL, Version 1.1 or – as soon they * will be approved by the European Commission - subsequent * versions of the EUPL (the "Licence"); * * You may not use this work except in compliance with the Licence. * * You may obtain a copy of the Licence at: * * https://joinup.ec.europa.eu/community/eupl/og_page/eupl * * Unless required by applicable law or agreed to in * writing, software distributed under the Licence is * distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. * See the Licence for the specific language governing * permissions and limitations under the Licence. */ package no.difi.oxalis.sniffer.document.parsers; import no.difi.oxalis.sniffer.document.PlainUBLParser; import no.difi.vefa.peppol.common.model.ParticipantIdentifier; /** * Parser to retrieves information from PEPPOL Order scenarios. * Should be able to decode Order and OrderResponse documents. * * @author thore */ public class OrderDocumentParser extends AbstractDocumentParser { public OrderDocumentParser(PlainUBLParser parser) { super(parser); } @Override public ParticipantIdentifier getSender() { String xpath = "//cac:BuyerCustomerParty/cac:Party/cbc:EndpointID"; if (parser.localName().startsWith("OrderResponse")) { // Matches both OrderResponse and OrderResponseSimple xpath = "//cac:SellerSupplierParty/cac:Party/cbc:EndpointID"; } return participantId(xpath); } @Override public ParticipantIdentifier getReceiver() { String xpath = "//cac:SellerSupplierParty/cac:Party/cbc:EndpointID"; if (parser.localName().startsWith("OrderResponse")) { // Matches both OrderResponse and OrderResponseSimple xpath = "//cac:BuyerCustomerParty/cac:Party/cbc:EndpointID"; } return participantId(xpath); } }