Search in sources :

Example 6 with ExtensionType

use of com.helger.xsds.bdxr.smp1.ExtensionType in project geotoolkit by Geomatys.

the class WcsXMLBindingTest method marshallingTest200.

@Test
public void marshallingTest200() throws JAXBException, IOException, ParserConfigurationException, SAXException {
    org.geotoolkit.wcs.xml.v200.GetCoverageType getCoverage = new org.geotoolkit.wcs.xml.v200.GetCoverageType("test", "image/geotiff", null);
    ParametersType param = new ParametersType();
    param.setCompression(CompressionType.NONE);
    param.setInterleave(InterleaveType.PIXEL);
    param.setJpegQuality(10);
    param.setPredictor(PredictorType.NONE);
    param.setTileheight(12);
    param.setTilewidth(15);
    param.setTiling(true);
    ObjectFactory facto = new ObjectFactory();
    getCoverage.setExtension(new ExtensionType(facto.createParameters(param)));
    StringWriter sw = new StringWriter();
    marshaller.marshal(getCoverage, sw);
    String result = sw.toString();
    String expResult = "<wcs:GetCoverage version=\"2.0.1\" service=\"WCS\" " + "xmlns:wcs=\"http://www.opengis.net/wcs/2.0\" xmlns:geotiff=\"http://www.opengis.net/gmlcov/geotiff/1.0\">" + '\n' + "    <wcs:Extension>\n" + "        <geotiff:parameters>\n" + "            <geotiff:compression>None</geotiff:compression>\n" + "            <geotiff:jpeg_quality>10</geotiff:jpeg_quality>\n" + "            <geotiff:predictor>None</geotiff:predictor>\n" + "            <geotiff:interleave>Pixel</geotiff:interleave>\n" + "            <geotiff:tiling>true</geotiff:tiling>\n" + "            <geotiff:tileheight>12</geotiff:tileheight>\n" + "            <geotiff:tilewidth>15</geotiff:tilewidth>\n" + "        </geotiff:parameters>\n" + "    </wcs:Extension>\n" + "    <wcs:CoverageId>test</wcs:CoverageId>" + '\n' + "    <wcs:format>image/geotiff</wcs:format>" + '\n' + "</wcs:GetCoverage>" + '\n';
    assertXmlEquals(expResult, result, "xmlns:*");
    final org.geotoolkit.wcs.xml.v200.GetCoverageType unmarshalled = (org.geotoolkit.wcs.xml.v200.GetCoverageType) ((JAXBElement) unmarshaller.unmarshal(new StringReader(expResult))).getValue();
    assertEquals(getCoverage, unmarshalled);
    final org.geotoolkit.gml.xml.v321.RangeSetType rangeSet = new org.geotoolkit.gml.xml.v321.RangeSetType();
    final FileType ft = new FileType();
    ft.setMimeType("image/tiff");
    final String ext = ".tif";
    ft.setRangeParameters(new AssociationRoleType("cid:grey" + ext, "http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage", "fileReference"));
    ft.setFileReference("cid:grey" + ext);
    rangeSet.setFile(ft);
    final AbstractDiscreteCoverageType cov = new AbstractDiscreteCoverageType(new CoverageDescriptionType(), rangeSet);
    final org.geotoolkit.gmlcov.xml.v100.ObjectFactory factory = new org.geotoolkit.gmlcov.xml.v100.ObjectFactory();
    JAXBElement jb = factory.createGridCoverage(cov);
    sw = new StringWriter();
    marshaller.marshal(jb, sw);
    result = sw.toString();
    System.out.println(result);
    // test the crs extension in capabilities
    List<String> supportedFormat = new ArrayList<>();
    supportedFormat.add("image/tiff");
    supportedFormat.add("application/x-netcdf");
    List<String> supportedCrs = new ArrayList<>();
    supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/4326");
    supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/666");
    ServiceMetadataType serviceMetadata = new ServiceMetadataType(supportedFormat, supportedCrs);
    CapabilitiesType capa = new CapabilitiesType(null, null, null, "2.0.1", null, null, serviceMetadata);
    sw = new StringWriter();
    marshaller.marshal(capa, sw);
    result = sw.toString();
    System.out.println(result);
    // test the crs extension in get coverage
    String subsettingCRS = "http://www.opengis.net/def/crs/EPSG/0/4326";
    String outputCRS = "http://www.opengis.net/def/crs/EPSG/0/666";
    org.geotoolkit.wcs.xml.v200.GetCoverageType getCov = new org.geotoolkit.wcs.xml.v200.GetCoverageType("CID", "geotiff", "image/tiff", subsettingCRS, outputCRS);
    sw = new StringWriter();
    marshaller.marshal(getCov, sw);
    result = sw.toString();
    System.out.println(result);
}
Also used : AssociationRoleType(org.geotoolkit.gml.xml.v321.AssociationRoleType) ArrayList(java.util.ArrayList) AbstractDiscreteCoverageType(org.geotoolkit.gmlcov.xml.v100.AbstractDiscreteCoverageType) ObjectFactory(org.geotoolkit.gmlcov.geotiff.xml.v100.ObjectFactory) StringWriter(java.io.StringWriter) CapabilitiesType(org.geotoolkit.wcs.xml.v200.CapabilitiesType) StringReader(java.io.StringReader) CoverageDescriptionType(org.geotoolkit.wcs.xml.v200.CoverageDescriptionType) ServiceMetadataType(org.geotoolkit.wcs.xml.v200.ServiceMetadataType) GetCoverageType(org.geotoolkit.wcs.xml.v100.GetCoverageType) JAXBElement(javax.xml.bind.JAXBElement) FileType(org.geotoolkit.gml.xml.v321.FileType) ExtensionType(org.geotoolkit.wcs.xml.v200.ExtensionType) ParametersType(org.geotoolkit.gmlcov.geotiff.xml.v100.ParametersType)

Example 7 with ExtensionType

use of com.helger.xsds.bdxr.smp1.ExtensionType in project geotoolkit by Geomatys.

the class JAXBFeatureTypeReader method getType.

private Object getType(String namespaceURI, ComplexType type, BuildStack stack, boolean useCache) {
    final GenericName name = extractFinalName(namespaceURI, type);
    if (useCache && typesCache.containsKey(name)) {
        return typesCache.get(name);
    }
    for (XSDMapping.Spi mapping : mappings) {
        final XSDMapping map = mapping.create(name, this, type);
        if (map != null) {
            IdentifiedType mappedType = map.getType();
            if (mappedType instanceof AttributeType) {
                AttributeType at = (AttributeType) mappedType;
                AttributeTypeBuilder atb = new FeatureTypeBuilder().addAttribute(at);
                atb.addCharacteristic(XSDMapping.class).setName(GMLConvention.MAPPING).setDefaultValue(map);
                mappedType = atb.build();
            // AttributeType[] att = (AttributeType[]) at.characteristics().values().toArray(new AttributeType[0]);
            // final Map properties = new HashMap();
            // properties.put(AbstractIdentifiedType.NAME_KEY, at.getName());
            // properties.put(AbstractIdentifiedType.DEFINITION_KEY, at.getDefinition());
            // properties.put(AbstractIdentifiedType.DEPRECATED_KEY, ((Deprecable) at).isDeprecated());
            // properties.put(AbstractIdentifiedType.DESCRIPTION_KEY, at.getDescription());
            // properties.put(AbstractIdentifiedType.DESIGNATION_KEY, at.getDesignation());
            // mappedType = new MappedAttributeType(
            // properties,
            // at.getValueClass(),
            // at.getMinimumOccurs(),
            // at.getMaximumOccurs(),
            // at.getDefaultValue(),
            // map,
            // att);
            }
            typesCache.put(name, mappedType);
            return mappedType;
        }
    }
    // special case for gml:ReferenceType
    final String namespace = NamesExt.getNamespace(name);
    if ((GMLConvention.GML_311_NAMESPACE.equals(namespace) || GMLConvention.GML_321_NAMESPACE.equals(namespace)) && "ReferenceType".equals(name.tip().toString())) {
        // note : can't use real AbstractGMLType, recursive object creation
        final QName gml = new QName(namespace, "AbstractGMLType");
        final Object abstractGmlType = getType(gml, stack);
        if (abstractGmlType instanceof GenericName) {
            final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
            FeatureAssociationRole far = ftb.addAssociation((GenericName) abstractGmlType).setName(name).build();
            typesCache.put(name, far);
            return far;
        } else {
            final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
            FeatureAssociationRole far = ftb.addAssociation((FeatureType) abstractGmlType).setName(name).build();
            typesCache.put(name, far);
            return far;
        }
    }
    final boolean deprecated = GMLConvention.isDeprecated(type);
    // read simple content type if defined
    final SimpleContent simpleContent = type.getSimpleContent();
    if (simpleContent != null) {
        final ExtensionType sext = simpleContent.getExtension();
        if (sext != null) {
            // simple type base, it must be : this is the content of the tag <tag>XXX<tag>
            // it is not named, so we call it value
            final QName base = sext.getBase();
            final AttributeType st = (AttributeType) resolveType(base, stack);
            final AttributeTypeBuilder atb = new FeatureTypeBuilder().addAttribute(st);
            atb.setName(name);
            atb.setDeprecated(deprecated);
            // read attributes
            for (PropertyType property : getAnnotatedAttributes(namespaceURI, sext.getAttributeOrAttributeGroup(), stack)) {
                CharacteristicTypeBuilder cb = atb.getCharacteristic(property.getName().toString());
                if (cb == null) {
                    atb.addCharacteristic((AttributeType) property);
                } else {
                // characteristic already exist
                }
            }
            final AttributeType att = atb.build();
            typesCache.put(name, att);
            return att;
        }
        final SimpleRestrictionType restriction = simpleContent.getRestriction();
        if (restriction != null) {
            final QName base = restriction.getBase();
            if (base != null) {
                final ComplexType sct = xsdContext.findComplexType(base);
                if (sct != null) {
                    final AttributeType tct = (AttributeType) getType(namespaceURI, sct, stack, true);
                    final AttributeTypeBuilder atb = new FeatureTypeBuilder().addAttribute(tct);
                    atb.setName(name);
                    atb.setDeprecated(deprecated);
                    // read attributes
                    for (PropertyType property : getAnnotatedAttributes(namespaceURI, restriction.getAttributeOrAttributeGroup(), stack)) {
                        CharacteristicTypeBuilder cb = atb.getCharacteristic(property.getName().toString());
                        if (cb == null) {
                            atb.addCharacteristic((AttributeType) property);
                        } else {
                        // characteristic already exist
                        }
                    }
                    final AttributeType att = atb.build();
                    typesCache.put(name, att);
                    return att;
                } else {
                // final PropertyType restType = resolveType(base, stack);
                // addOrReplace(finalType.builder, atb.create(restType, NamesExt.create(namespaceURI, Utils.VALUE_PROPERTY_NAME), 0, 1, false, null));
                }
            }
        }
        throw new MismatchedFeatureException("Undefined simple type : " + name);
    }
    final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
    ftb.setName(name);
    ftb.setDeprecated(deprecated);
    // read attributes
    for (PropertyType property : getAnnotatedAttributes(namespaceURI, type.getAttributeOrAttributeGroup(), stack)) {
        addProperty(ftb, property);
    }
    // read sequence properties
    for (PropertyType property : getGroupAttributes(namespaceURI, type.getSequence(), stack)) {
        addProperty(ftb, property);
    }
    // read complex content if defined
    final ComplexContent content = type.getComplexContent();
    if (content != null) {
        final ExtensionType extension = content.getExtension();
        if (extension != null) {
            final QName base = extension.getBase();
            if (base != null && !base.getLocalPart().equalsIgnoreCase("anytype")) {
                final Object parent = getType(base, stack);
                if (parent instanceof FeatureType) {
                    ftb.setSuperTypes((FeatureType) parent);
                } else if (parent instanceof GenericName) {
                    // parent type is currently being resolved
                    return name;
                }
            }
            // read attributes
            for (PropertyType property : getAnnotatedAttributes(namespaceURI, extension.getAttributeOrAttributeGroup(), stack)) {
                addProperty(ftb, property);
            }
            // read groups
            for (PropertyType property : getGroupAttributes(namespaceURI, extension.getSequence(), stack)) {
                addProperty(ftb, property);
            }
        }
        /* BIG DIRTY HACK: Needed for GML 2.1.2 support.
             * For geometry definition, GML 2 propose an association to some
             * data-type defined by restiction over an abstract geometry type.
             * But, we do not want it to an association, we want it to be an
             * attribute, for god sake ! So, we cheat and if we find a structure
             * like that, we transform it into attribute (oh god that's awful).
             */
        final ComplexRestrictionType restriction = content.getRestriction();
        if (restriction != null) {
            final QName base = restriction.getBase();
            if (base != null) {
                Object restrictionType = getType(base, stack);
                if (restrictionType instanceof FeatureType) {
                    ftb.setSuperTypes((FeatureType) restrictionType);
                }
            // final ComplexType sct = xsdContext.findComplexType(base);
            // if (sct != null) {
            // final Object obj = getType(base.getNamespaceURI(), sct, stack);
            // if (obj instanceof FeatureType
            // //                                && isGeometric((FeatureType)obj)
            // ) {
            // final ExplicitGroup sequence = sct.getSequence();
            // if (sequence != null) {
            // final List<Element> elements = sequence.getElements();
            // if (elements != null && !elements.isEmpty()) {
            // Element e = sequence.getElements().get(0);
            // return ftb.addAttribute(Geometry.class)
            // .setName(e.getRef().getLocalPart())
            // .setMinimumOccurs(sequence.getMinOccurs())
            // .build();
            // }
            // }
            // } else if (obj instanceof PropertyType) {
            // final PropertyTypeBuilder ptb = new FeatureTypeBuilder().addProperty((PropertyType) obj);
            // if (ptb instanceof PropertyTypeBuilder) {
            // final AttributeTypeBuilder atb = (AttributeTypeBuilder) ptb;
            // // check characteristics
            // for (PropertyType property : getAnnotatedAttributes(namespaceURI, restriction.getAttributeOrAttributeGroup(), stack)) {
            // if (atb.getCharacteristic(property.getName().toString()) == null) {
            // atb.addCharacteristic((AttributeType) property);
            // }
            // }
            // }
            // }
            // }
            }
        }
    }
    // read choice if set
    final ExplicitGroup choice = type.getChoice();
    if (choice != null) {
    // this is the case of gml:location
    }
    // //        if (GMLConvention.isDecoratedProperty(featureType.getName().tip().toString())) {
    // //            //Used by geometry property types but also in some gml profils
    // //            final String decoratedName = NamesExt.toExpandedString(featureType.getName());
    // //
    // //            //this is an encapsulated property, we unroll it
    // //            final Collection<? extends PropertyType> subProps = featureType.getProperties(true);
    // //            //we peek the first association, there should be only one
    // //            //but attributes are possible
    // //            for (PropertyType pt : subProps) {
    // //                if (pt.getName().tip().toString().startsWith("@")) {
    // //                    //ignore xml attributes
    // //                    continue;
    // //                }
    // //
    // //                if (pt instanceof FeatureAssociationRole) {
    // //                    /* HACK : GML 3.1.1 : Only way I've found to manage
    // //                     * geometries as attributes. If we've found an association,
    // //                     * and if it's feature type is a geometric property
    // //                     * (derived from abstract geometric type), well, we
    // //                     * return a geometric property.
    // //                     */
    // //                    final FeatureAssociationRole subFar = (FeatureAssociationRole) pt;
    // //                    FeatureType valueType = subFar.getValueType();
    // //                    FeatureAssociationRole ar = ftb
    // //                            .addAssociation(subFar)
    // //                            .setDescription(GMLConvention.DECORATED_DESCRIPTION+NamesExt.toExpandedString(subFar.getName()))
    // //                            .build();
    // //
    // //                    typesCache.put(name, ar);
    // //                    return featureType;
    // //                } else if (pt instanceof AttributeType) {
    // //                    AttributeType at = (AttributeType) pt;
    // //
    // //                    ftb.clear();
    // //                    at = ftb.addAttribute(at).setDescription(GMLConvention.DECORATED_DESCRIPTION+" "+NamesExt.toExpandedString(at.getName())).build();
    // //                    typesCache.put(name, at);
    // //                    return at;
    // //                }
    // //            }
    // //
    // //            throw new UnsupportedOperationException("Decorated property without any property");
    // //
    // //        }
    // define the default geometry
    PropertyTypeBuilder candidateDefaultGeom = null;
    for (PropertyTypeBuilder ptb : ftb.properties()) {
        if (ptb instanceof AttributeTypeBuilder) {
            Class valueClass = ((AttributeTypeBuilder) ptb).getValueClass();
            if (Geometry.class.isAssignableFrom(valueClass)) {
                XSDMapping mapping = GMLConvention.getMapping(ptb.build());
                if (mapping instanceof GeometryMapping) {
                    if (((GeometryMapping) mapping).isDecorated()) {
                        // keep it as a candidate, we prefere undecorated properties
                        candidateDefaultGeom = ptb;
                    } else {
                        candidateDefaultGeom = null;
                        ((AttributeTypeBuilder) ptb).addRole(AttributeRole.DEFAULT_GEOMETRY);
                        break;
                    }
                }
            }
        }
    }
    if (candidateDefaultGeom != null) {
        ((AttributeTypeBuilder) candidateDefaultGeom).addRole(AttributeRole.DEFAULT_GEOMETRY);
    }
    FeatureType featureType = ftb.build();
    typesCache.put(name, featureType);
    return featureType;
}
Also used : GeometryMapping(org.geotoolkit.feature.xml.jaxb.mapping.GeometryMapping) SimpleRestrictionType(org.geotoolkit.xsd.xml.v2001.SimpleRestrictionType) FeatureType(org.opengis.feature.FeatureType) XSDMapping(org.geotoolkit.feature.xml.jaxb.mapping.XSDMapping) PropertyType(org.opengis.feature.PropertyType) ComplexContent(org.geotoolkit.xsd.xml.v2001.ComplexContent) ExplicitGroup(org.geotoolkit.xsd.xml.v2001.ExplicitGroup) SingleAttributeTypeBuilder(org.geotoolkit.feature.SingleAttributeTypeBuilder) AttributeTypeBuilder(org.apache.sis.feature.builder.AttributeTypeBuilder) PropertyTypeBuilder(org.apache.sis.feature.builder.PropertyTypeBuilder) GenericName(org.opengis.util.GenericName) AttributeType(org.opengis.feature.AttributeType) IdentifiedType(org.opengis.feature.IdentifiedType) FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) QName(javax.xml.namespace.QName) ComplexRestrictionType(org.geotoolkit.xsd.xml.v2001.ComplexRestrictionType) CharacteristicTypeBuilder(org.apache.sis.feature.builder.CharacteristicTypeBuilder) MismatchedFeatureException(org.opengis.feature.MismatchedFeatureException) ExtensionType(org.geotoolkit.xsd.xml.v2001.ExtensionType) SimpleContent(org.geotoolkit.xsd.xml.v2001.SimpleContent) FeatureAssociationRole(org.opengis.feature.FeatureAssociationRole) LocalComplexType(org.geotoolkit.xsd.xml.v2001.LocalComplexType) ComplexType(org.geotoolkit.xsd.xml.v2001.ComplexType)

Example 8 with ExtensionType

use of com.helger.xsds.bdxr.smp1.ExtensionType in project peppol-commons by phax.

the class SMPDebugHelper method getAsString.

@Nonnull
public static String getAsString(@Nonnull final ServiceGroupType aServiceGroup) {
    final StringBuilder aSB = new StringBuilder();
    aSB.append("ServiceGroup information:\n");
    aSB.append("ParticipantIdentifier: ").append(CIdentifier.getURIEncoded(aServiceGroup.getParticipantIdentifier())).append('\n');
    // References
    final ServiceMetadataReferenceCollectionType aSMRC = aServiceGroup.getServiceMetadataReferenceCollection();
    if (aSMRC != null && !aSMRC.getServiceMetadataReference().isEmpty()) {
        aSB.append("ServiceMetadataReferenceCollection:\n");
        for (final ServiceMetadataReferenceType aSMR : aSMRC.getServiceMetadataReference()) aSB.append("  ").append(aSMR.getHref()).append('\n');
    }
    // Extension
    final ExtensionType aExt = aServiceGroup.getExtension();
    if (aExt != null && aExt.getAny() != null) {
        aSB.append("Extension:\n");
        aSB.append("  Class = ").append(aExt.getAny().getClass().getName()).append('\n');
        aSB.append("  Value = ").append(aExt.getAny()).append('\n');
    }
    return aSB.toString();
}
Also used : ServiceMetadataReferenceCollectionType(com.helger.xsds.peppol.smp1.ServiceMetadataReferenceCollectionType) ServiceMetadataReferenceType(com.helger.xsds.peppol.smp1.ServiceMetadataReferenceType) ExtensionType(com.helger.xsds.peppol.smp1.ExtensionType) Nonnull(javax.annotation.Nonnull)

Example 9 with ExtensionType

use of com.helger.xsds.bdxr.smp1.ExtensionType in project peppol-commons by phax.

the class BDXRExtensionConverterTest method testConvertFromString.

@Test
public void testConvertFromString() {
    // Use elements
    final String sJson = "[{\"ID\":\"a\",\"Name\":\"b\",\"AgencyID\":\"c\",\"AgencyName\":\"d\",\"AgencyURI\":\"e\",\"VersionID\":\"f\",\"URI\":\"g\",\"ReasonCode\":\"h\",\"Reason\":\"i\"," + "\"Any\":\"<any xmlns=\\\"urn:foo\\\"><child>text1</child><child2 /></any>\"}]";
    final ICommonsList<ExtensionType> aExtensions = BDXR1ExtensionConverter.convert(sJson);
    assertNotNull(aExtensions);
    assertEquals(1, aExtensions.size());
    final ExtensionType aExtension = aExtensions.get(0);
    assertNotNull(aExtension.getAny());
    assertTrue(aExtension.getAny() instanceof Node);
    assertNull(BDXR1ExtensionConverter.convert((String) null));
    assertNull(BDXR1ExtensionConverter.convert(""));
    // Convert back to String
    final String sJson2 = BDXR1ExtensionConverter.convertToString(new CommonsArrayList<>(aExtension));
    assertEquals(sJson, sJson2);
    // Cannot convert non-element
    assertNull(BDXR1ExtensionConverter.convert("Plain text"));
}
Also used : ExtensionType(com.helger.xsds.bdxr.smp1.ExtensionType) Node(org.w3c.dom.Node) Test(org.junit.Test)

Example 10 with ExtensionType

use of com.helger.xsds.bdxr.smp1.ExtensionType in project peppol-commons by phax.

the class BDXR1ExtensionConverter method convertXMLToSingleExtension.

/**
 * Parse the provided XML, and if it is valid, convert it to a simple
 * extension. This method exists, so that compatibility to the old PEPPOL SMP
 * specification is available (single extension with only a DOM Element).
 *
 * @param sXML
 *        The XML to be parsed. May be <code>null</code>.
 * @return <code>null</code> if no XML or invalid XML is provided, a
 *         non-<code>null</code> list with a single extension otherwise.
 */
@Nullable
public static ICommonsList<ExtensionType> convertXMLToSingleExtension(@Nullable final String sXML) {
    if (StringHelper.hasText(sXML)) {
        final Document aDoc = DOMReader.readXMLDOM(sXML);
        if (aDoc != null) {
            final Element aElement = aDoc.getDocumentElement();
            if (aElement != null) {
                final ExtensionType aExtension = new ExtensionType();
                aExtension.setAny(aElement);
                return new CommonsArrayList<>(aExtension);
            }
        }
    }
    return null;
}
Also used : Element(org.w3c.dom.Element) SMPExtensionType(com.helger.xsds.bdxr.smp2.ec.SMPExtensionType) ExtensionType(com.helger.xsds.bdxr.smp1.ExtensionType) Document(org.w3c.dom.Document) CommonsArrayList(com.helger.commons.collection.impl.CommonsArrayList) Nullable(javax.annotation.Nullable)

Aggregations

ExtensionType (com.helger.xsds.bdxr.smp1.ExtensionType)5 ExtensionType (com.helger.xsds.peppol.smp1.ExtensionType)4 Test (org.junit.Test)4 Document (org.w3c.dom.Document)4 CommonsArrayList (com.helger.commons.collection.impl.CommonsArrayList)3 SMPExtensionType (com.helger.xsds.bdxr.smp2.ec.SMPExtensionType)3 Nullable (javax.annotation.Nullable)3 Nonnull (javax.annotation.Nonnull)2 IJson (com.helger.json.IJson)1 IJsonObject (com.helger.json.IJsonObject)1 IParticipantIdentifier (com.helger.peppolid.IParticipantIdentifier)1 BDXR1MarshallerServiceGroupType (com.helger.smpclient.bdxr1.marshal.BDXR1MarshallerServiceGroupType)1 ObjectFactory (com.helger.xsds.peppol.smp1.ObjectFactory)1 ServiceMetadataReferenceCollectionType (com.helger.xsds.peppol.smp1.ServiceMetadataReferenceCollectionType)1 ServiceMetadataReferenceType (com.helger.xsds.peppol.smp1.ServiceMetadataReferenceType)1 StringReader (java.io.StringReader)1 StringWriter (java.io.StringWriter)1 ArrayList (java.util.ArrayList)1 JAXBElement (javax.xml.bind.JAXBElement)1 QName (javax.xml.namespace.QName)1