sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1828821 - /sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
Date Tue, 10 Apr 2018 14:00:35 GMT
Author: desruisseaux
Date: Tue Apr 10 14:00:35 2018
New Revision: 1828821

URL: http://svn.apache.org/viewvc?rev=1828821&view=rev
Log:
Set dummy values in the metadata tests.
Actually this complete the modifications accidentally committed earlier today.

Modified:
    sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java

Modified: sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java?rev=1828821&r1=1828820&r2=1828821&view=diff
==============================================================================
--- sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
[UTF-8] (original)
+++ sis/branches/JDK8/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/MarshallingTest.java
[UTF-8] Tue Apr 10 14:00:35 2018
@@ -24,6 +24,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.logging.LogRecord;
+import java.util.MissingResourceException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.io.StringWriter;
@@ -59,6 +60,7 @@ import org.apache.sis.xml.MarshallerPool
 import org.apache.sis.internal.jaxb.gcx.Anchor;
 import org.apache.sis.internal.jaxb.metadata.replace.ReferenceSystemMetadata;
 import org.apache.sis.test.XMLTestCase;
+import org.apache.sis.util.iso.Names;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -94,6 +96,11 @@ public final class MarshallingTest exten
     private final StringWriter output;
 
     /**
+     * {@code true} if marshalling legacy XML instead than latest schema.
+     */
+    private boolean legacyXML;
+
+    /**
      * Initializes a new test case.
      *
      * @throws JAXBException if an error occurred while preparing the marshaller.
@@ -110,28 +117,28 @@ public final class MarshallingTest exten
      * Creates a metadata object to marshal.
      */
     @SuppressWarnings("deprecation")
-    private DefaultMetadata metadata() throws URISyntaxException {
+    private static DefaultMetadata metadata() throws URISyntaxException {
         /*
          * Metadata
-         *   ├─Metadata identifier…… dummy-metadata
-         *   │   └─Code space………………… sis.test
+         *   ├─Metadata identifier…… a-metadata-identifier
+         *   │   └─Code space………………… md.id.ns
          *   ├─Parent metadata……………… A parent metadata
-         *   │   └─Identifier………………… dummy-parent-metadata
-         *   │       └─Code space……… sis.test
+         *   │   └─Identifier………………… a-parent-identifier
+         *   │       └─Code space……… pmd.id.ns
          *   ├─Language (1 de 2)………… English
          *   ├─Language (2 de 2)………… French (Canada)
          *   ├─Character set…………………… ISO-8859-1
          *   └─Metadata scope
          *       ├─Resource scope……… Dataset
-         *       └─Name………………………………… Metadata for an
(imaginary) data set
+         *       └─Name………………………………… Metadata for an
imaginary data set
          *
          * Some code are indented for readability and more local variable scopes.
          */
         final DefaultMetadata md = new DefaultMetadata();
         {
             // Metadata identifier
-            final DefaultIdentifier id = new DefaultIdentifier("dummy-metadata");
-            id.setCodeSpace("sis.test");
+            final DefaultIdentifier id = new DefaultIdentifier("a-metadata-identifier");
+            id.setCodeSpace("md.id.ns");
             md.setMetadataIdentifier(id);
         }
         // Languages — one language only, and one (country, language) tupple.
@@ -144,13 +151,13 @@ public final class MarshallingTest exten
         {
             // Parent metadata
             final DefaultCitation parent = new DefaultCitation("A parent metadata");
-            final DefaultIdentifier parentId = new DefaultIdentifier("dummy-parent-metadata");
-            parentId.setCodeSpace("sis.test");
+            final DefaultIdentifier parentId = new DefaultIdentifier("a-parent-identifier");
+            parentId.setCodeSpace("pmd.id.ns");
             parent.getIdentifiers().add(parentId);
             md.setParentMetadata(parent);
         }
         // mdb:metadataScope (hierarchyLevel and hierarchyLevelName in legacy ISO 19115:2003
model)
-        md.getMetadataScopes().add(new DefaultMetadataScope(ScopeCode.DATASET, "Metadata
for an (imaginary) data set"));
+        md.getMetadataScopes().add(new DefaultMetadataScope(ScopeCode.DATASET, "Metadata
for an imaginary data set"));
         final DefaultOnlineResource onlineResource;
         {
             /*
@@ -165,22 +172,22 @@ public final class MarshallingTest exten
              *   │   │   ├─Number…………………………………………………
555-555-5555
              *   │   │   └─Number type……………………………………
Facsimile
              *   │   ├─Address
-             *   │   │   ├─Delivery point……………………………
At the desk
+             *   │   │   ├─Delivery point……………………………
123 Main Street
              *   │   │   ├─City………………………………………………………
Metropolis city
-             *   │   │   ├─Administrative area……………… Utopia area
+             *   │   │   ├─Administrative area……………… Utopia province
              *   │   │   ├─Postal code……………………………………
A1A 2C2
              *   │   │   ├─Country………………………………………………
Atlantis island
              *   │   │   └─Electronic mail address…… test@example.com
              *   │   ├─Online resource
              *   │   │   ├─Linkage………………………………………………
http://example.com
-             *   │   │   ├─Protocol……………………………………………
Hyper-text
-             *   │   │   ├─Application profile……………… Test only
+             *   │   │   ├─Protocol……………………………………………
Submarine HTTP
+             *   │   │   ├─Application profile……………… Imaginary
work
              *   │   │   ├─Name………………………………………………………
Timaeus & Critias
              *   │   │   ├─Description……………………………………
A dialog between philosophers.
              *   │   │   └─Function……………………………………………
Search
              *   │   ├─Hours of service…………………………………
Weekdays 9:00 AM - 5:00 PM
-             *   │   ├─Contact instructions……………………… Knock at
the door
-             *   │   └─Contact type……………………………………………
Imaginary
+             *   │   ├─Contact instructions……………………… Through
thought
+             *   │   └─Contact type……………………………………………
Virtual
              *   └─Individual……………………………………………………………
Socrates
              *       └─Position name…………………………………………
Philosopher
              */
@@ -191,10 +198,10 @@ public final class MarshallingTest exten
                 {
                     // Address information
                     final DefaultAddress address = new DefaultAddress();
-                    address.setDeliveryPoints(Collections.singleton(new SimpleInternationalString("At
the desk")));
+                    address.setDeliveryPoints(Collections.singleton(new SimpleInternationalString("123
Main Street")));
                     address.getElectronicMailAddresses().add("test@example.com");
                     address.setCity(new SimpleInternationalString("Metropolis city"));
-                    address.setAdministrativeArea(new SimpleInternationalString("Utopia area"));
+                    address.setAdministrativeArea(new SimpleInternationalString("Utopia province"));
                     address.setPostalCode("A1A 2C2");
                     address.setCountry(new SimpleInternationalString("Atlantis island"));
                     contact.getAddresses().add(address);
@@ -207,12 +214,12 @@ public final class MarshallingTest exten
                 onlineResource.setName(new SimpleInternationalString("Timaeus & Critias"));
                 onlineResource.setDescription(description);
                 onlineResource.setProtocol("Submarine HTTP");
-                onlineResource.setApplicationProfile("Test only");
+                onlineResource.setApplicationProfile("Imaginary work");
                 onlineResource.setFunction(OnLineFunction.SEARCH);
                 contact.getOnlineResources().add(onlineResource);
                 contact.setHoursOfService(Collections.singleton(new SimpleInternationalString("Weekdays
9:00 AM - 5:00 PM")));
-                contact.setContactInstructions(new SimpleInternationalString("Knock at the
door"));
-                contact.setContactType(new SimpleInternationalString("Imaginary"));
+                contact.setContactInstructions(new SimpleInternationalString("Through thought"));
+                contact.setContactType(new SimpleInternationalString("Virtual"));
             }
             // Create some individuals
             final DefaultIndividual individual  = new DefaultIndividual("Socrates", "Philosopher",
null);
@@ -232,9 +239,7 @@ public final class MarshallingTest exten
         }
         {
             /*
-             * Spatial Representation Info
-             *
-             * Georectified
+             * Spatial representation info : Georectified
              *   ├─Number of dimensions…………………………………………………
2
              *   ├─Axis dimension properties (1 de 2)…………… Row
              *   │   ├─Dimension size………………………………………………………
7 777
@@ -249,11 +254,11 @@ public final class MarshallingTest exten
              */
             final DefaultGeorectified georectified = new DefaultGeorectified();
             georectified.setNumberOfDimensions(2);
-            final DefaultDimension dim1 = new DefaultDimension(DimensionNameType.ROW,   
7777);
-            final DefaultDimension dim2 = new DefaultDimension(DimensionNameType.COLUMN,
2233);
-            dim1.setResolution(10.0);
-            dim2.setResolution( 5.0);
-            georectified.setAxisDimensionProperties(Arrays.asList(dim1, dim2));
+            final DefaultDimension rows = new DefaultDimension(DimensionNameType.ROW,   
7777);
+            final DefaultDimension cols = new DefaultDimension(DimensionNameType.COLUMN,
2233);
+            rows.setResolution(10.0);
+            cols.setResolution( 5.0);
+            georectified.setAxisDimensionProperties(Arrays.asList(rows, cols));
             georectified.setCellGeometry(CellGeometry.AREA);
             georectified.setPointInPixel(PixelOrientation.UPPER_RIGHT);
             md.getSpatialRepresentationInfo().add(georectified);
@@ -272,33 +277,48 @@ public final class MarshallingTest exten
             // Identifier
             final DefaultIdentifier id = new DefaultIdentifier("AG9000");
             id.setAuthority(cit);
-            id.setCodeSpace("sis.test");
+            id.setCodeSpace("rs.id.ns");
             id.setVersion("1.0");
             id.setDescription(new SimpleInternationalString("An imaginary reference system."));
             refSystem.setName(id);
             md.getReferenceSystemInfo().add(refSystem);
         }
         {
-            // Metadata extension information.
+            /*
+             * Extended element information…… ExtendedElementName
+             *   ├─Parent entity………………………………… VirtualObject
+             *   ├─Definition………………………………………… An extended
element not included in the standard.
+             *   ├─Obligation………………………………………… Conditional
+             *   ├─Condition…………………………………………… Presents
in “Imaginary work” profile.
+             *   ├─Data type…………………………………………… Meta
class
+             *   ├─Maximum occurrence…………………… 3
+             *   ├─Domain value…………………………………… Alpha, beta
or gamma.
+             *   ├─Rule…………………………………………………………
Element exists in cited resource.
+             *   └─Rationale…………………………………………… For
testing extended elements.
+             */
             final DefaultMetadataExtensionInformation extension = new DefaultMetadataExtensionInformation();
             extension.setExtensionOnLineResource(onlineResource);
             final DefaultExtendedElementInformation elementInfo = new DefaultExtendedElementInformation();
-            elementInfo.setName("extendedElementInfoName");
-            elementInfo.setDefinition(new SimpleInternationalString("definition"));
-            elementInfo.setObligation(Obligation.MANDATORY);
-            elementInfo.setCondition(new SimpleInternationalString("condition"));
+            elementInfo.setName("ExtendedElementName");
+            elementInfo.setDefinition(new SimpleInternationalString("An extended element
not included in the standard."));
+            elementInfo.setObligation(Obligation.CONDITIONAL);
+            elementInfo.setCondition(new SimpleInternationalString("Presents in “Imaginary
work” profile."));
             elementInfo.setDataType(Datatype.META_CLASS);
-            elementInfo.setMaximumOccurrence(1);
-            elementInfo.setDomainValue(new SimpleInternationalString("domainValue"));
-            elementInfo.setShortName("shortName");
+            elementInfo.setMaximumOccurrence(3);
+            elementInfo.setDomainValue(new SimpleInternationalString("Alpha, beta or gamma."));
+            elementInfo.setShortName("ExtEltName");
             elementInfo.setDomainCode(1234);
-            elementInfo.setParentEntity(Collections.singleton("parentEntity"));
-            elementInfo.setRule(new SimpleInternationalString("rule"));
-            elementInfo.setRationale(new SimpleInternationalString("rationale"));
+            elementInfo.setParentEntity(Collections.singleton("VirtualObject"));
+            elementInfo.setRule(new SimpleInternationalString("Element exists in cited resource."));
+            elementInfo.setRationale(new SimpleInternationalString("For testing extended
elements."));
             extension.getExtendedElementInformation().add(elementInfo);
             md.getMetadataExtensionInfo().add(extension);
         }
-        // Data identification info
+        /*
+         * Data identification info
+         *   ├─Abstract………………… Méta-données pour une carte imaginaire.
+         *   └─Purpose…………………… For XML (un)marshalling tests.
+         */
         final DefaultDataIdentification dataId = new DefaultDataIdentification();
         {
             final DefaultInternationalString description = new DefaultInternationalString();
@@ -309,31 +329,49 @@ public final class MarshallingTest exten
         }
         final Collection<Extent> extents;
         {
-            // Extents
+            /*
+             * Extent………………………………………………………………
Azores
+             *   ├─Geographic element
+             *   │   ├─West bound longitude…… 24°30′W
+             *   │   ├─East bound longitude…… 32°W
+             *   │   ├─South bound latitude…… 36°45′N
+             *   │   ├─North bound latitude…… 40°N
+             *   │   └─Extent type code……………… true
+             *   └─Temporal element
+             */
             final DefaultExtent extent = new DefaultExtent();
             extent.setDescription(new SimpleInternationalString("Azores"));
             {
-                // Bounding box
-                final DefaultGeographicBoundingBox boundingBox = new DefaultGeographicBoundingBox();
-                boundingBox.setInclusion(true);
-                boundingBox.setNorthBoundLatitude( 39);
-                boundingBox.setEastBoundLongitude(-28);
-                boundingBox.setSouthBoundLatitude( 35);
-                boundingBox.setWestBoundLongitude(-22);
-                extent.getGeographicElements().add(boundingBox);
+                final DefaultGeographicBoundingBox bbox = new DefaultGeographicBoundingBox();
+                bbox.setInclusion(true);
+                bbox.setNorthBoundLatitude( 40.00);
+                bbox.setEastBoundLongitude(-32.00);
+                bbox.setSouthBoundLatitude( 36.75);
+                bbox.setWestBoundLongitude(-24.50);
+                extent.getGeographicElements().add(bbox);
             }
-            final DefaultTemporalExtent tempExtent = new DefaultTemporalExtent();
-            extent.getTemporalElements().add(tempExtent);
+            final DefaultTemporalExtent temporal = new DefaultTemporalExtent();
+            extent.getTemporalElements().add(temporal);
             extents = Collections.singleton(extent);
             dataId.setExtents(extents);
         }
-        // Resource constraints
         final Collection<Constraints> resourceConstraints;
-        final Collection<Citation> emptyCitations = Collections.singleton(new DefaultCitation());
         {
-            DefaultConstraints constraint = new DefaultConstraints();
-            constraint.getResponsibleParties().add(new DefaultResponsibility());
-            constraint.setReferences(emptyCitations);
+            /*
+             * Constraints
+             *   ├─Use limitation…………………………………… Not for
navigation.
+             *   ├─Constraint application scope
+             *   │   └─Level…………………………………………………
Document
+             *   ├─Graphic
+             *   │   ├─File name………………………………………
ocean.png
+             *   │   ├─File description…………………… Somewhere in the
Atlantic ocean
+             *   │   ├─File type………………………………………
PNG image
+             *   │   ├─Linkage
+             *   │   └─Image constraints
+             *   └─Releasability
+             *       └─Statement……………………………………… Public
domain
+             */
+            final DefaultConstraints constraint = new DefaultConstraints();
             final DefaultBrowseGraphic graphic = new DefaultBrowseGraphic(new URI("ocean.png"));
             graphic.setFileDescription(new SimpleInternationalString("Somewhere in the Atlantic
ocean"));
             graphic.setFileType("PNG image");
@@ -350,9 +388,6 @@ public final class MarshallingTest exten
             resourceConstraints = Collections.singleton(constraint);
             dataId.setResourceConstraints(resourceConstraints);
         }
-        // Points of contact
-        final Collection<Responsibility> pocs = Collections.singleton(new DefaultResponsibility());
-        dataId.setPointOfContacts(pocs);
         dataId.getSpatialRepresentationTypes().add(SpatialRepresentationType.GRID);
         {
             // Spatial resolution
@@ -362,8 +397,15 @@ public final class MarshallingTest exten
         }
         dataId.setTopicCategories(Arrays.asList(TopicCategory.OCEANS, TopicCategory.SOCIETY));
         dataId.getStatus().add(Progress.HISTORICAL_ARCHIVE);
-
-        // Citation
+        /*
+         * Citation………………………………………………………… A lost
island
+         *   ├─Alternate title (1 de 2)…… Island lost again
+         *   ├─Alternate title (2 de 2)…… Map example
+         *   ├─Date…………………………………………………………
2018-04-09 00:00:00
+         *   │   └─Date type………………………………… Création
+         *   ├─Edition………………………………………………… First
edition
+         *   └─Edition date…………………………………… 2018-04-10 00:00:00
+         */
         final DefaultCitation cit = new DefaultCitation();
         cit.setTitle(new SimpleInternationalString("A lost island"));
         cit.setEdition(new SimpleInternationalString("First edition"));
@@ -376,7 +418,16 @@ public final class MarshallingTest exten
         dataId.setTemporalResolutions(Collections.emptySet());              // TODO: depends
on sis-temporal
         final Collection<MaintenanceInformation> resourceMaintenances;
         {
-            // Resource maintenance
+            /*
+             * Maintenance information
+             *   ├─Maintenance and update frequency…… Not planned
+             *   ├─Maintenance date………………………………………………
3000-01-01 00:00:00
+             *   │   └─Date type………………………………………………………
Révision
+             *   └─Maintenance scope
+             *       ├─Level…………………………………………………………………
Model
+             *       └─Level description
+             *           └─Dataset…………………………………………………
Imaginary map
+             */
             DefaultMaintenanceInformation maintenanceInfo = new DefaultMaintenanceInformation();
             maintenanceInfo.setMaintenanceAndUpdateFrequency(MaintenanceFrequency.NOT_PLANNED);
             maintenanceInfo.getMaintenanceDates().add(new DefaultCitationDate(new Date(32503676400000L),
DateType.REVISION));
@@ -393,48 +444,61 @@ public final class MarshallingTest exten
             dataId.setResourceMaintenances(resourceMaintenances);
         }
         {
-            // Resource format (MD_Format)
+            /*
+             * Format
+             *   ├─Format specification citation…… Portable Network Graphics
+             *   │   ├─Alternate title……………………………… PNG
+             *   │   └─Edition……………………………………………………
November 2003
+             *   ├─Amendment number……………………………………… Second
edition
+             *   └─File decompression technique……… L77 / Huffman coding
+             */
             final DefaultFormat resourceFormat = new DefaultFormat();
-            resourceFormat.setName(new SimpleInternationalString("name"));
-            resourceFormat.setAmendmentNumber(new SimpleInternationalString("amendmentNumber"));
-            resourceFormat.setVersion(new SimpleInternationalString("version"));
-            resourceFormat.setSpecification(new SimpleInternationalString("specification"));
-            resourceFormat.setFileDecompressionTechnique(new SimpleInternationalString("decompressionTechnique"));
+            resourceFormat.setName(new SimpleInternationalString("PNG"));
+            resourceFormat.setSpecification(new SimpleInternationalString("Portable Network
Graphics"));
+            resourceFormat.setAmendmentNumber(new SimpleInternationalString("Second edition"));
+            resourceFormat.setVersion(new SimpleInternationalString("November 2003"));
+            resourceFormat.setFileDecompressionTechnique(new SimpleInternationalString("L77
/ Huffman coding"));
             dataId.getResourceFormats().add(resourceFormat);
         }
         final Collection<Keywords> descriptiveKeywords;
         {
-            // Descriptive keywords (MD_Keywords)
+            /*
+             * Keywords
+             *   ├─Thesaurus name………… Plato's dialogues
+             *   ├─Keyword class…………… Greek elements
+             *   ├─Keyword (1 de 2)…… Water
+             *   ├─Keyword (2 de 2)…… Aether
+             *   └─Type…………………………………… Theme
+             */
             final DefaultKeywords keywords = new DefaultKeywords();
             keywords.setType(KeywordType.THEME);
-            keywords.setThesaurusName(new DefaultCitation());
+            keywords.setThesaurusName(new DefaultCitation("Plato's dialogues"));
             final DefaultKeywordClass keywordClass = new DefaultKeywordClass();
-            keywordClass.setClassName(new SimpleInternationalString("name"));
+            keywordClass.setClassName(new SimpleInternationalString("Greek elements"));
             keywords.setKeywordClass(keywordClass);
-            keywords.setKeywords(Arrays.asList(new SimpleInternationalString("keyword1"),
-                                               new SimpleInternationalString("keyword2")));
+            keywords.setKeywords(Arrays.asList(new SimpleInternationalString("Water"),
+                                               new SimpleInternationalString("Aether")));
             descriptiveKeywords = Collections.singleton(keywords);
             dataId.setDescriptiveKeywords(descriptiveKeywords);
         }
         {
-            // Resource specific usage
+            /*
+             * Usage…………………………………………………………………………
For testing purpose only.
+             *   ├─Usage date time…………………………………… 2018-04-10
14:00:00
+             *   ├─User determined limitations…… Not to be used outside MarshallingTest.java
test file.
+             *   └─Response………………………………………………………
Random elements
+             */
             final DefaultUsage usage = new DefaultUsage();
-            usage.setSpecificUsage(new SimpleInternationalString("specificUsage"));
-            usage.setUsageDate(new Date());
-            usage.setResponses(Collections.singleton(new SimpleInternationalString("response")));
-            usage.setAdditionalDocumentation(emptyCitations);
-            usage.setIdentifiedIssues(emptyCitations);
-            usage.setUserDeterminedLimitations(new SimpleInternationalString("userDeterminedLimitations"));
-            final DefaultResponsibility resp = new DefaultResponsibility();
-            usage.getUserContactInfo().add(resp);
+            usage.setSpecificUsage(new SimpleInternationalString("For testing purpose only."));
+            usage.setUsageDate(new Date(1523361600000L));
+            usage.setResponses(Collections.singleton(new SimpleInternationalString("Random
elements")));
+            usage.setUserDeterminedLimitations(new SimpleInternationalString("Not to be used
outside MarshallingTest.java test file."));
             dataId.getResourceSpecificUsages().add(usage);
         }
         final Collection<AssociatedResource> associatedResources;
         {
             // Associated resources (AggregationInfo in 19139)
             final DefaultAssociatedResource associatedResource = new DefaultAssociatedResource();
-            DefaultCitation associatedResourceCitation = new DefaultCitation();
-            associatedResource.setName(associatedResourceCitation);
             associatedResource.setAssociationType(AssociationType.DEPENDENCY);
             associatedResource.setInitiativeType(InitiativeType.EXPERIMENT);
             associatedResources = Collections.singleton(associatedResource);
@@ -442,32 +506,29 @@ public final class MarshallingTest exten
         }
         dataId.setLanguages(languages);     // Locales (ISO 19115:2014) a.k.a Languages and
CharacterSets (ISO 19115:2003)
         dataId.setCharacterSets(charSets);
-        dataId.setEnvironmentDescription (new SimpleInternationalString("environmentDescription"));
-        dataId.setSupplementalInformation(new SimpleInternationalString("supplementalInformation"));
+        dataId.setEnvironmentDescription (new SimpleInternationalString("High humidity."));
+        dataId.setSupplementalInformation(new SimpleInternationalString("High water pressure."));
         {
             // Service identification info
             final DefaultServiceIdentification serviceId = new DefaultServiceIdentification();
             serviceId.setCitation(cit);
-            serviceId.setAbstract(new SimpleInternationalString("abstract"));
-            serviceId.setPointOfContacts(pocs);
+            serviceId.setAbstract(new SimpleInternationalString("An inspiration for story
tellers."));
             serviceId.setExtents(extents);
             serviceId.setResourceMaintenances(resourceMaintenances);
             serviceId.setDescriptiveKeywords(descriptiveKeywords);
             serviceId.setResourceConstraints(resourceConstraints);
             serviceId.setAssociatedResources(associatedResources);
-            serviceId.setServiceTypeVersions(Collections.singleton("serviceTypeVersion"));
+            serviceId.setServiceTypeVersions(Collections.singleton("Version 1000+"));
             // TODO: Coupled resources
             final DefaultCoupledResource coupledResource = new DefaultCoupledResource();
             serviceId.getCoupledResources().add(coupledResource);
-            serviceId.setCouplingType(CouplingType.TIGHT);
+            serviceId.setCouplingType(CouplingType.LOOSE);
             final DefaultOperationMetadata operationMetadata = new DefaultOperationMetadata();
             {
-                operationMetadata.setOperationName("operationName");
-                operationMetadata.setOperationDescription(new SimpleInternationalString("operationDescription"));
-                operationMetadata.setInvocationName(new SimpleInternationalString("invocationName"));
+                operationMetadata.setOperationName("Authoring");
+                operationMetadata.setOperationDescription(new SimpleInternationalString("Write
a book."));
+                operationMetadata.setInvocationName(new SimpleInternationalString("someMethodName"));
                 operationMetadata.getDistributedComputingPlatforms().add(DistributedComputingPlatform.JAVA);
-                operationMetadata.getConnectPoints().add(new DefaultOnlineResource());
-                // Parameters are unchanged according to crosswalk. Don't need to do this
one.
             }
             serviceId.getContainsOperations().add(operationMetadata);
             serviceId.getOperatesOn().add(dataId);
@@ -479,35 +540,42 @@ public final class MarshallingTest exten
             {
                 coverageDescription = new DefaultCoverageDescription();
                 // Attribute description
-                final DefaultRecordSchema schema = new DefaultRecordSchema(null, null, "MySchema");
+                final DefaultRecordSchema schema = new DefaultRecordSchema(null, null, "IslandFeatures");
                 final Map<CharSequence,Class<?>> members = new LinkedHashMap<>();
                 members.put("city",      String.class);
                 members.put("latitude",  Double.class);
                 members.put("longitude", Double.class);
-                final RecordType recordType = schema.createRecordType("MyRecordType", members);
+                final RecordType recordType = schema.createRecordType("SettledArea", members);
                 coverageDescription.setAttributeDescription(recordType);
                 {
-                    // Attribute group
+                    /*
+                     * Attribute group
+                     *   ├─Content type…………………… Auxilliary information
+                     *   ├─Attribute (1 de 2)…… 42
+                     *   │   ├─Description…………… Population density
+                     *   │   └─Name
+                     *   └─Attribute (2 de 2)
+                     *       ├─Description…………… Temperature
+                     *       ├─Max value………………… 22,22
+                     *       ├─Min value………………… 11,11
+                     *       ├─Units…………………………… °C
+                     *       └─Scale factor………… 1,5
+                     */
                     final DefaultAttributeGroup attributeGroup = new DefaultAttributeGroup();
                     attributeGroup.getContentTypes().add(CoverageContentType.AUXILLARY_INFORMATION);
                     // Attributes
                     final DefaultRangeDimension rangeDimension = new DefaultRangeDimension();
-                    rangeDimension.setDescription(new SimpleInternationalString("descriptor"));
-                    // TODO: Sequence identifier
-                    /*DefaultMemberName memberName = DefaultNameFactory.createMemberName(NameSpace,
CharSequence, TypeName);
-                    rangeDimension.setSequenceIdentifier(memberName);*/
-                    // Names
+                    rangeDimension.setDescription(new SimpleInternationalString("Population
density"));
+                    rangeDimension.setSequenceIdentifier(Names.createMemberName(null, null,
"42", Integer.class));
                     rangeDimension.getNames().add(new DefaultIdentifier());
                     final DefaultSampleDimension sampleDimension = new DefaultSampleDimension();
-                    sampleDimension.setDescription(new SimpleInternationalString("descriptor"));
+                    sampleDimension.setDescription(new SimpleInternationalString("Temperature"));
                     sampleDimension.setMinValue(11.11);
                     sampleDimension.setMaxValue(22.22);
-                    sampleDimension.setUnits(Units.FAHRENHEIT);
-                    sampleDimension.setScaleFactor(1.0);
-                    final Collection<RangeDimension> rangeDimensions = Arrays.asList(rangeDimension,
sampleDimension);
-                    attributeGroup.setAttributes(rangeDimensions);
-                    coverageDescription.setDimensions(rangeDimensions);
-                    // coverageDescription.getAttributeGroups().add(attributeGroup);
+                    sampleDimension.setUnits(Units.CELSIUS);
+                    sampleDimension.setScaleFactor(1.5);
+                    attributeGroup.setAttributes(Arrays.asList(rangeDimension, sampleDimension));
+                    coverageDescription.getAttributeGroups().add(attributeGroup);
                 }
             }
             // Feature Catalogue Description
@@ -530,6 +598,7 @@ public final class MarshallingTest exten
      */
     @Test
     public void testLegacySchema() throws URISyntaxException, JAXBException {
+        legacyXML = true;
         final DefaultMetadata md = metadata();
         marshaller.setProperty(XML.METADATA_VERSION, VERSION_2007);
         marshaller.marshal(md, output);
@@ -571,17 +640,25 @@ public final class MarshallingTest exten
     }
 
     /**
-     * Invoked when a warning occurred while marshalling a test XML fragment.
-     * The only expected warning message is "Can't find resource for bundle
-     * {@code java.util.PropertyResourceBundle}, key {@code MD_DimensionNameTypeCode.row}".
+     * Invoked when a warning occurred while marshalling a test XML fragment. Expected warnings
are
+     * "Can't find resource for bundle {@code java.util.PropertyResourceBundle}, key <cite>Foo</cite>".
+     * When marshalling legacy XML only, additional warnings may occur.
      *
      * @param source  ignored.
      * @param warning the warning.
      */
     @Override
     public void warningOccured(final Object source, final LogRecord warning) {
+        if (warning.getThrown() instanceof MissingResourceException) {
+            assertNull("Expected a warning message without parameters.", warning.getParameters());
+            return;
+        }
         final String message = warning.getMessage();
-        assertNotNull(message, message.contains("MD_DimensionNameTypeCode.row"));
-        assertNull("Expected a warning message without parameters.", warning.getParameters());
+        if (legacyXML) {
+            assertEquals("IgnoredPropertiesAfterFirst_1", message);
+            assertArrayEquals(new String[] {"RangeDimension"}, warning.getParameters());
+        } else {
+            fail("Unexpected logging message: " + message);
+        }
     }
 }



Mime
View raw message