You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2015/06/05 19:46:10 UTC
svn commit: r1683824 [1/7] - in /sis/branches/JDK6: ./
application/sis-console/src/test/java/org/apache/sis/console/
core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/
core/sis-metadata/src/main/java/org/apache/sis/io/wkt/ core/sis-metad...
Author: desruisseaux
Date: Fri Jun 5 17:46:07 2015
New Revision: 1683824
URL: http://svn.apache.org/r1683824
Log:
Merge from the JDK7 branch. This merge include an initial commit of a WKT 1 parser.
This parser will be upgraded to WKT 2 format in the next commits.
Added:
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/VerticalDatumTypes.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/VerticalDatumTypes.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTParser.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/WKTParser.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/MathTransformParser.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/VerticalDatumTypesTest.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/VerticalDatumTypesTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ElementTest.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/ElementTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/GeodeticObjectParserTest.txt
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/GeodeticObjectParserTest.txt
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/MergedProperties.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/MergedProperties.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/ConversionKeys.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/ConversionKeys.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AxisFilter.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AxisFilter.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/
- copied from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
sis/branches/JDK6/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSFactory
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSFactory
sis/branches/JDK6/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSFactory
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.cs.CSFactory
sis/branches/JDK6/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumFactory
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.datum.DatumFactory
sis/branches/JDK6/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationFactory
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.operation.CoordinateOperationFactory
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/io/
- copied from r1683791, sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/io/
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/
- copied from r1683791, sis/branches/JDK7/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/simple/CitationConstant.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/system/OptionalDependency.java
- copied, changed from r1683791, sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/system/OptionalDependency.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
- copied unchanged from r1683791, sis/branches/JDK7/core/sis-utility/src/main/java/org/apache/sis/internal/util/MetadataServices.java
Removed:
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/Standards.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Authority.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/OperationMethods.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Pending.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/VerticalDatumTypes.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticObjectFactory.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/VerticalDatumTypesTest.java
sis/branches/JDK6/core/sis-utility/src/main/java/com/
Modified:
sis/branches/JDK6/ (props changed)
sis/branches/JDK6/application/sis-console/src/test/java/org/apache/sis/console/MetadataSCTest.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultCitation.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/WKTKeywordsTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/io/wkt/WKTFormatTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/MetadataStandardTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/PropertyAccessorTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/PrunerTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/TreeTableFormatTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/ImmutableIdentifierTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/CitationsTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
sis/branches/JDK6/core/sis-metadata/src/test/java/org/apache/sis/test/suite/MetadataTestSuite.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/Code.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/AxisDirections.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/AbstractIdentifiedObject.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/DeprecatedCode.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/IdentifiedObjects.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/AbstractDerivedCRS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultDerivedCRS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeocentricCRS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultGeographicCRS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultProjectedCRS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AbstractCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AxesConvention.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/CoordinateSystems.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultAffineCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCartesianCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCompoundCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultCylindricalCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultEllipsoidalCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultLinearCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultPolarCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultSphericalCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultTimeCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultUserDefinedCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/DefaultVerticalCS.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/Normalizer.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/package-info.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/BursaWolfParameters.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultEllipsoid.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultTemporalDatum.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultVerticalDatum.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/TimeDependentBWP.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConversion.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/MismatchedDatumException.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/matrix/MismatchedMatrixSizeException.java
sis/branches/JDK6/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/internal/jaxb/referencing/CodeTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/AxisDirectionsTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/AffineTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorGroupTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterDescriptorTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/DefaultParameterValueTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterBuilderTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParameterFormatTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/parameter/ParametersTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/AbstractReferenceSystemTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/BuilderTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/CommonCRSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/NamedIdentifierTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultDerivedCRSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultProjectedCRSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CoordinateSystemsTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCartesianCSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultCompoundCSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/DefaultEllipsoidalCSTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedAxes.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/NormalizerTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/BursaWolfParametersTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultGeodeticDatumTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultPrimeMeridianTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultTemporalDatumTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/DefaultVerticalDatumTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/HardCodedDatum.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/datum/TimeDependentBWPTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultConversionTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultOperationMethodTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultTransformationTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactoryTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/integration/ReferencingInMetadataTest.java
sis/branches/JDK6/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
sis/branches/JDK6/core/sis-utility/pom.xml
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/jdk8/JDK8.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleCitation.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/simple/SimpleIdentifier.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/system/SystemListener.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/internal/util/LocalizedParseException.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/collection/Containers.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/iso/Types.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors.properties
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Errors_fr.properties
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages.java
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages.properties
sis/branches/JDK6/core/sis-utility/src/main/java/org/apache/sis/util/resources/Messages_fr.properties
sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/internal/simple/SimpleIdentifierTest.java
sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
sis/branches/JDK6/core/sis-utility/src/test/java/org/apache/sis/internal/util/DefinitionURITest.java
sis/branches/JDK6/ide-project/NetBeans/build.xml
sis/branches/JDK6/ide-project/NetBeans/nbproject/project.properties
sis/branches/JDK6/pom.xml
sis/branches/JDK6/profiles/sis-french-profile/src/test/java/org/apache/sis/internal/profile/fra/DirectReferenceSystemTest.java
sis/branches/JDK6/profiles/sis-french-profile/src/test/resources/org/apache/sis/internal/profile/fra/DirectReferenceSystem.xml
sis/branches/JDK6/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
sis/branches/JDK6/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/ConformanceTest.java
sis/branches/JDK6/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java
Propchange: sis/branches/JDK6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 5 17:46:07 2015
@@ -1,4 +1,4 @@
/sis/branches/Android:1430670-1480699
-/sis/branches/JDK7:1394913-1679630
-/sis/branches/JDK8:1584960-1679629
+/sis/branches/JDK7:1394913-1683807
+/sis/branches/JDK8:1584960-1683803
/sis/trunk:1394364-1508466,1519089-1519674
Modified: sis/branches/JDK6/application/sis-console/src/test/java/org/apache/sis/console/MetadataSCTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/application/sis-console/src/test/java/org/apache/sis/console/MetadataSCTest.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/application/sis-console/src/test/java/org/apache/sis/console/MetadataSCTest.java [UTF-8] (original)
+++ sis/branches/JDK6/application/sis-console/src/test/java/org/apache/sis/console/MetadataSCTest.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -31,7 +31,7 @@ import static org.junit.Assert.*;
*
* @author Martin Desruisseaux (Geomatys)
* @since 0.3
- * @version 0.3
+ * @version 0.6
* @module
*/
@DependsOn(SubCommandTest.class)
@@ -56,7 +56,7 @@ public final strictfp class MetadataSCTe
*/
private static void verifyNetCDF(final String expectedHeader, final String result) {
assertTrue(expectedHeader, result.startsWith(expectedHeader));
- assertTrue("ISO 19115-2", result.contains("ISO 19115-2"));
+ assertTrue("ISO 19115", result.contains("ISO 19115"));
assertTrue("Sea Surface Temperature Analysis Model", result.contains("Sea Surface Temperature Analysis Model"));
assertTrue("GCMD Science Keywords", result.contains("GCMD Science Keywords"));
assertTrue("NOAA/NWS/NCEP", result.contains("NOAA/NWS/NCEP"));
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameToIdentifier.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -17,6 +17,7 @@
package org.apache.sis.internal.metadata;
import java.util.Locale;
+import java.util.Collection;
import org.opengis.util.NameSpace;
import org.opengis.util.GenericName;
import org.opengis.util.InternationalString;
@@ -24,8 +25,10 @@ import org.opengis.metadata.Identifier;
import org.opengis.metadata.citation.Citation;
import org.apache.sis.metadata.iso.citation.Citations;
import org.apache.sis.util.iso.DefaultNameSpace;
+import org.apache.sis.util.CharSequences;
import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+import static org.apache.sis.util.Characters.Filter.LETTERS_AND_DIGITS;
// Branch-dependent imports
import org.apache.sis.internal.jdk7.Objects;
@@ -33,6 +36,8 @@ import org.apache.sis.internal.jdk7.Obje
/**
* Does the unobvious mapping between {@link Identifier} properties and {@link GenericName} ones.
+ * This class also implements the {@link #isHeuristicMatchForName(Identifier, Collection, CharSequence)}
+ * method since that method involves a mix of names and identifiers.
*
* <p><b>Limitation:</b>
* Current version does not yet work with URN or HTTP syntax.</p>
@@ -202,4 +207,46 @@ public final class NameToIdentifier impl
}
return null;
}
+
+ /**
+ * Returns {@code true} if the given {@linkplain org.apache.sis.referencing.AbstractIdentifiedObject#getName()
+ * primary name} or one of the given aliases matches the given name. The comparison ignores case, some Latin
+ * diacritical signs and any characters that are not letters or digits.
+ *
+ * @param name The name of the {@code IdentifiedObject} to check.
+ * @param aliases The list of alias in the {@code IdentifiedObject} (may be {@code null}). This method will never
+ * modify that list. Consequently, the given list can be a direct reference to an internal list.
+ * @param toSearch The name for which to check for equality.
+ * @return {@code true} if the primary name or at least one alias matches the given {@code name}.
+ */
+ public static boolean isHeuristicMatchForName(final Identifier name, final Collection<GenericName> aliases,
+ CharSequence toSearch)
+ {
+ toSearch = CharSequences.toASCII(toSearch);
+ if (name != null) { // Paranoiac check.
+ final CharSequence code = CharSequences.toASCII(name.getCode());
+ if (code != null) { // Paranoiac check.
+ if (CharSequences.equalsFiltered(toSearch, code, LETTERS_AND_DIGITS, true)) {
+ return true;
+ }
+ }
+ }
+ if (aliases != null) {
+ for (final GenericName alias : aliases) {
+ if (alias != null) { // Paranoiac check.
+ final CharSequence tip = CharSequences.toASCII(alias.tip().toString());
+ if (CharSequences.equalsFiltered(toSearch, tip, LETTERS_AND_DIGITS, true)) {
+ return true;
+ }
+ /*
+ * Note: a previous version compared also the scoped names. We removed that part,
+ * because experience has shown that this method is used only for the "code" part
+ * of an object name. If we really want to compare scoped name, it would probably
+ * be better to take a GenericName argument instead than String.
+ */
+ }
+ }
+ }
+ return false;
+ }
}
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -16,20 +16,35 @@
*/
package org.apache.sis.internal.metadata;
+import java.util.Map;
+import javax.measure.unit.Unit;
+import javax.measure.quantity.Length;
import org.opengis.geometry.Envelope;
+import org.opengis.metadata.Identifier;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.referencing.IdentifiedObject;
+import org.opengis.referencing.crs.SingleCRS;
+import org.opengis.referencing.crs.DerivedCRS;
+import org.opengis.referencing.cs.CartesianCS;
+import org.opengis.referencing.cs.CoordinateSystem;
+import org.opengis.referencing.cs.CoordinateSystemAxis;
+import org.opengis.referencing.datum.PrimeMeridian;
import org.opengis.referencing.operation.MathTransform;
+import org.opengis.referencing.operation.MathTransformFactory;
+import org.opengis.referencing.operation.CoordinateOperationFactory;
+import org.opengis.referencing.operation.OperationMethod;
import org.opengis.referencing.operation.TransformException;
import org.apache.sis.metadata.iso.extent.DefaultExtent;
import org.apache.sis.metadata.iso.extent.DefaultVerticalExtent;
import org.apache.sis.metadata.iso.extent.DefaultTemporalExtent;
import org.apache.sis.metadata.iso.extent.DefaultGeographicBoundingBox;
import org.apache.sis.metadata.iso.extent.DefaultSpatialTemporalExtent;
-import org.apache.sis.internal.system.SystemListener;
+import org.apache.sis.internal.system.DefaultFactories;
+import org.apache.sis.internal.system.OptionalDependency;
import org.apache.sis.internal.system.Modules;
import org.apache.sis.io.wkt.FormattableObject;
-import org.apache.sis.util.resources.Errors;
+import org.apache.sis.util.iso.DefaultNameSpace;
+import org.apache.sis.util.Deprecable;
/**
@@ -37,15 +52,15 @@ import org.apache.sis.util.resources.Err
* This class searches for the {@link org.apache.sis.internal.referencing.ServicesForMetadata}
* implementation using Java reflection.
*
- * <p>This class also opportunistically defines some constants related to "referencing by coordinates"
- * but needed by metadata.</p>
+ * <p>This class also opportunistically defines some methods and constants related to
+ * <cite>"referencing by coordinates"</cite> but needed by metadata.</p>
*
* @author Martin Desruisseaux (Geomatys)
* @since 0.3
* @version 0.6
* @module
*/
-public abstract class ReferencingServices extends SystemListener {
+public class ReferencingServices extends OptionalDependency {
/**
* The length of one nautical mile, which is {@value} metres.
*/
@@ -58,6 +73,37 @@ public abstract class ReferencingService
public static final double AUTHALIC_RADIUS = 6371007;
/**
+ * The {@link org.apache.sis.referencing.datum.DefaultGeodeticDatum#BURSA_WOLF_KEY} value.
+ */
+ public static final String BURSA_WOLF_KEY = "bursaWolf";
+
+ /**
+ * The key for specifying explicitely the value to be returned by
+ * {@link org.apache.sis.referencing.operation.DefaultConversion#getParameterValues()}.
+ * It is usually not necessary to specify those parameters because they are inferred either from
+ * the {@link MathTransform}, or specified explicitely in a {@code DefiningConversion}. However
+ * there is a few cases, for example the Molodenski transform, where none of the above can apply,
+ * because SIS implements those operations as a concatenation of math transforms, and such
+ * concatenations do not have {@link org.opengis.parameter.ParameterValueGroup}.
+ */
+ public static final String PARAMETERS_KEY = "parameters";
+
+ /**
+ * The key for specifying a {@linkplain org.opengis.referencing.operation.MathTransformFactory}
+ * instance to use for the construction of a geodetic object. This is usually not needed for CRS
+ * construction, except in the special case of a derived CRS created from a defining conversion.
+ */
+ public static final String MT_FACTORY = "mtFactory";
+
+ /**
+ * The separator character between an identifier and its namespace in the argument given to
+ * {@link #getOperationMethod(String)}. For example this is the separator in {@code "EPSG:9807"}.
+ *
+ * This is defined as a constant for now, but we may make it configurable in a future version.
+ */
+ private static final char IDENTIFIER_SEPARATOR = DefaultNameSpace.DEFAULT_SEPARATOR;
+
+ /**
* The services, fetched when first needed.
*/
private static volatile ReferencingServices instance;
@@ -67,8 +113,7 @@ public abstract class ReferencingService
* in order to force a new {@code ReferencingServices} lookup if the classpath changes.
*/
protected ReferencingServices() {
- super(Modules.METADATA);
- SystemListener.add(this);
+ super(Modules.METADATA, "sis-referencing");
}
/**
@@ -79,6 +124,7 @@ public abstract class ReferencingService
@Override
protected final void classpathChanged() {
synchronized (ReferencingServices.class) {
+ super.classpathChanged();
instance = null;
}
}
@@ -87,62 +133,38 @@ public abstract class ReferencingService
* Returns the singleton instance.
*
* @return The singleton instance.
- * @throws UnsupportedOperationException If the {@code "sis-referencing"} module has not
- * been found on the classpath.
*/
- public static ReferencingServices getInstance() throws UnsupportedOperationException {
+ public static ReferencingServices getInstance() {
ReferencingServices c = instance;
if (c == null) {
synchronized (ReferencingServices.class) {
c = instance;
- if (c == null) try {
- instance = c = (ReferencingServices) Class.forName("org.apache.sis.internal.referencing.ServicesForMetadata").newInstance();
- } catch (ClassNotFoundException exception) {
- throw new UnsupportedOperationException(Errors.format(
- Errors.Keys.MissingRequiredModule_1, "sis-referencing"), exception);
- } catch (Exception exception) { // (ReflectiveOperationException) on JDK7 branch.
- // Should never happen if we didn't broke our helper class.
- throw new AssertionError(exception);
+ if (c == null) {
+ /*
+ * Double-checked locking: okay since Java 5 provided that the 'instance' field is volatile.
+ * In the particular case of this class, the intend is to ensure that SystemListener.add(…)
+ * is invoked only once.
+ */
+ c = getInstance(ReferencingServices.class, Modules.METADATA, "sis-referencing",
+ "org.apache.sis.internal.referencing.ServicesForMetadata");
+ if (c == null) {
+ c = new ReferencingServices();
+ }
+ instance = c;
}
}
}
return c;
}
- /**
- * Returns a fully implemented parameter descriptor.
- *
- * @param parameter A partially implemented parameter descriptor, or {@code null}.
- * @return A fully implemented parameter descriptor, or {@code null} if the given argument was null.
- *
- * @since 0.5
- */
- public abstract ParameterDescriptor<?> toImplementation(ParameterDescriptor<?> parameter);
- /**
- * Converts the given object in a {@code FormattableObject} instance.
- *
- * @param object The object to wrap.
- * @return The given object converted to a {@code FormattableObject} instance.
- *
- * @see org.apache.sis.referencing.AbstractIdentifiedObject#castOrCopy(IdentifiedObject)
- *
- * @since 0.4
- */
- public abstract FormattableObject toFormattableObject(IdentifiedObject object);
- /**
- * Converts the given object in a {@code FormattableObject} instance. Callers should verify that the given
- * object is not already an instance of {@code FormattableObject} before to invoke this method. This method
- * returns {@code null} if it can not convert the object.
- *
- * @param object The object to wrap.
- * @param internal {@code true} if the formatting convention is {@code Convention.INTERNAL}.
- * @return The given object converted to a {@code FormattableObject} instance, or {@code null}.
- *
- * @since 0.6
- */
- public abstract FormattableObject toFormattableObject(MathTransform object, boolean internal);
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ //// ////
+ //// SERVICES FOR ISO 19115 METADATA ////
+ //// ////
+ ///////////////////////////////////////////////////////////////////////////////////////
/**
* Sets a geographic bounding box from the specified envelope.
@@ -152,10 +174,12 @@ public abstract class ReferencingService
*
* @param envelope The source envelope.
* @param target The target bounding box.
- * @throws TransformException If the given envelope can't be transformed.
+ * @throws TransformException if the given envelope can't be transformed.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
*/
- public abstract void setBounds(Envelope envelope, DefaultGeographicBoundingBox target)
- throws TransformException;
+ public void setBounds(Envelope envelope, DefaultGeographicBoundingBox target) throws TransformException {
+ throw moduleNotFound();
+ }
/**
* Sets a vertical extent with the value inferred from the given envelope.
@@ -163,10 +187,12 @@ public abstract class ReferencingService
*
* @param envelope The source envelope.
* @param target The target vertical extent.
- * @throws TransformException If no vertical component can be extracted from the given envelope.
+ * @throws TransformException if no vertical component can be extracted from the given envelope.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
*/
- public abstract void setBounds(Envelope envelope, DefaultVerticalExtent target)
- throws TransformException;
+ public void setBounds(Envelope envelope, DefaultVerticalExtent target) throws TransformException {
+ throw moduleNotFound();
+ }
/**
* Sets a temporal extent with the value inferred from the given envelope.
@@ -174,10 +200,12 @@ public abstract class ReferencingService
*
* @param envelope The source envelope.
* @param target The target temporal extent.
- * @throws TransformException If no temporal component can be extracted from the given envelope.
+ * @throws TransformException if no temporal component can be extracted from the given envelope.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
*/
- public abstract void setBounds(Envelope envelope, DefaultTemporalExtent target)
- throws TransformException;
+ public void setBounds(Envelope envelope, DefaultTemporalExtent target) throws TransformException {
+ throw moduleNotFound();
+ }
/**
* Sets the geographic, vertical and temporal extents with the values inferred from the given envelope.
@@ -195,18 +223,270 @@ public abstract class ReferencingService
*
* @param envelope The source envelope.
* @param target The target spatio-temporal extent.
- * @throws TransformException If no temporal component can be extracted from the given envelope.
+ * @throws TransformException if no temporal component can be extracted from the given envelope.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
*/
- public abstract void setBounds(Envelope envelope, DefaultSpatialTemporalExtent target)
- throws TransformException;
+ public void setBounds(Envelope envelope, DefaultSpatialTemporalExtent target) throws TransformException {
+ throw moduleNotFound();
+ }
/**
- * Initializes a horizontal, vertical and temporal extent with the values inferred from
- * the given envelope.
+ * Initializes a horizontal, vertical and temporal extent with the values inferred from the given envelope.
*
* @param envelope The source envelope.
* @param target The target extent.
- * @throws TransformException If a coordinate transformation was required and failed.
+ * @throws TransformException if a coordinate transformation was required and failed.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
+ */
+ public void addElements(Envelope envelope, DefaultExtent target) throws TransformException {
+ throw moduleNotFound();
+ }
+
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ //// ////
+ //// SERVICES FOR WKT FORMATTING ////
+ //// ////
+ ///////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Returns a fully implemented parameter descriptor.
+ *
+ * @param parameter A partially implemented parameter descriptor, or {@code null}.
+ * @return A fully implemented parameter descriptor, or {@code null} if the given argument was null.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
+ *
+ * @since 0.5
+ */
+ public ParameterDescriptor<?> toImplementation(ParameterDescriptor<?> parameter) {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Converts the given object in a {@code FormattableObject} instance.
+ *
+ * @param object The object to wrap.
+ * @return The given object converted to a {@code FormattableObject} instance.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
+ *
+ * @see org.apache.sis.referencing.AbstractIdentifiedObject#castOrCopy(IdentifiedObject)
+ *
+ * @since 0.4
+ */
+ public FormattableObject toFormattableObject(IdentifiedObject object) {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Converts the given object in a {@code FormattableObject} instance. Callers should verify that the given
+ * object is not already an instance of {@code FormattableObject} before to invoke this method. This method
+ * returns {@code null} if it can not convert the object.
+ *
+ * @param object The object to wrap.
+ * @param internal {@code true} if the formatting convention is {@code Convention.INTERNAL}.
+ * @return The given object converted to a {@code FormattableObject} instance, or {@code null}.
+ * @throws UnsupportedOperationException if the {@code "sis-referencing"} module has not been found on the classpath.
+ *
+ * @since 0.6
+ */
+ public FormattableObject toFormattableObject(MathTransform object, boolean internal) {
+ throw moduleNotFound();
+ }
+
+
+
+
+ ///////////////////////////////////////////////////////////////////////////////////////
+ //// ////
+ //// SERVICES FOR WKT PARSING ////
+ //// ////
+ ///////////////////////////////////////////////////////////////////////////////////////
+
+ /**
+ * Returns the Greenwich prime meridian.
+ *
+ * @return The Greenwich prime meridian.
+ *
+ * @since 0.6
+ */
+ public PrimeMeridian getGreenwich() {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Returns the coordinate system of a geocentric CRS using axes in the given unit of measurement.
+ *
+ * @param unit The unit of measurement for the geocentric CRS axes.
+ * @return The coordinate system for a geocentric CRS with axes using the given unit of measurement.
+ *
+ * @since 0.6
+ */
+ public CartesianCS getGeocentricCS(final Unit<Length> unit) {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Converts a geocentric coordinate system from the legacy WKT 1 to the current ISO 19111 standard.
+ * This method replaces the (Other, East, North) directions by (Geocentric X, Geocentric Y, Geocentric Z).
+ *
+ * @param cs The geocentric coordinate system to upgrade.
+ * @return The upgraded coordinate system, or {@code cs} if this method can not upgrade the given CS.
+ *
+ * @since 0.6
+ */
+ public CartesianCS upgradeGeocentricCS(final CartesianCS cs) {
+ return cs;
+ }
+
+ /**
+ * Creates a coordinate system of unknown type. This method is used during parsing of WKT version 1,
+ * since that legacy format did not specified any information about the coordinate system in use.
+ * This method should not need to be invoked for parsing WKT version 2.
+ *
+ * @param axes The axes of the unknown coordinate system.
+ * @return An "abstract" coordinate system using the given axes.
+ *
+ * @since 0.6
+ */
+ public CoordinateSystem createAbstractCS(final CoordinateSystemAxis[] axes) {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Creates a derived CRS from the information found in a WKT 1 {@code FITTED_CS} element.
+ * This coordinate system can not be easily constructed from the information provided by the WKT 1 format.
+ * Note that this method is needed only for WKT 1 parsing, since WKT provides enough information for using
+ * the standard factories.
+ *
+ * @param properties The properties to be given to the {@code DerivedCRS} and {@code Conversion} objects.
+ * @param baseCRS Coordinate reference system to base the derived CRS on.
+ * @param method The coordinate operation method (mandatory in all cases).
+ * @param baseToDerived Transform from positions in the base CRS to positions in this target CRS.
+ * @param derivedCS The coordinate system for the derived CRS.
+ * @return The newly created derived CRS, potentially implementing an additional CRS interface.
+ *
+ * @since 0.6
+ */
+ public DerivedCRS createDerivedCRS(final Map<String,?> properties,
+ final SingleCRS baseCRS,
+ final OperationMethod method,
+ final MathTransform baseToDerived,
+ final CoordinateSystem derivedCS)
+ {
+ throw moduleNotFound();
+ }
+
+ /**
+ * Creates the {@code TOWGS84} element during parsing of a WKT version 1. This is an optional operation:
+ * this method is allowed to return {@code null} if the "sis-referencing" module is not in the classpath.
+ *
+ * @param values The 7 Bursa-Wolf parameter values.
+ * @return The {@link org.apache.sis.referencing.datum.BursaWolfParameters}, or {@code null}.
+ *
+ * @since 0.6
+ */
+ public Object createToWGS84(final double[] values) {
+ return null;
+ }
+
+ /**
+ * Returns the coordinate operation factory to use for the given properties and math transform factory.
+ * If the given properties are empty and the {@code mtFactory} is the system default, then this method
+ * returns the system default {@code CoordinateOperationFactory} instead of creating a new one.
+ *
+ * @param properties The default properties.
+ * @param mtFactory The math transform factory to use.
+ * @return The coordinate operation factory to use.
+ *
+ * @since 0.6
+ */
+ public CoordinateOperationFactory getCoordinateOperationFactory(Map<String,?> properties, MathTransformFactory mtFactory) {
+ /*
+ * The check for 'properties' and 'mtFactory' is performed by the ServicesForMetadata subclass. If this code is
+ * executed, this means that the "sis-referencing" module is not on the classpath, in which case we do not know
+ * how to pass the 'properties' and 'mtFactory' arguments to the foreigner CoordinateOperationFactory anyway.
+ */
+ final CoordinateOperationFactory factory = DefaultFactories.forClass(CoordinateOperationFactory.class);
+ if (factory != null) {
+ return factory;
+ } else {
+ throw moduleNotFound();
+ }
+ }
+
+ /**
+ * Returns {@code true} if the {@linkplain org.apache.sis.referencing.AbstractIdentifiedObject#getName()
+ * primary name} or an aliases of the given object matches the given name. The comparison ignores case,
+ * some Latin diacritical signs and any characters that are not letters or digits.
+ *
+ * @param object The object for which to check the name or alias.
+ * @param name The name to compare with the object name or aliases.
+ * @return {@code true} if the primary name of at least one alias matches the specified {@code name}.
+ *
+ * @since 0.6
+ */
+ public boolean isHeuristicMatchForName(final IdentifiedObject object, final String name) {
+ return NameToIdentifier.isHeuristicMatchForName(object.getName(), object.getAlias(), name);
+ }
+
+ /**
+ * Returns {@code true} if the name or an identifier of the given method matches the given {@code identifier}.
+ *
+ * @param method The method to test for a match.
+ * @param identifier The name or identifier of the operation method to search.
+ * @return {@code true} if the given method is a match for the given identifier.
+ *
+ * @since 0.6
*/
- public abstract void addElements(Envelope envelope, DefaultExtent target) throws TransformException;
+ private boolean matches(final OperationMethod method, final String identifier) {
+ if (isHeuristicMatchForName(method, identifier)) {
+ return true;
+ }
+ for (int s = identifier.indexOf(IDENTIFIER_SEPARATOR); s >= 0;
+ s = identifier.indexOf(IDENTIFIER_SEPARATOR, s))
+ {
+ final String codespace = identifier.substring(0, s).trim();
+ final String code = identifier.substring(++s).trim();
+ for (final Identifier id : method.getIdentifiers()) {
+ if (codespace.equalsIgnoreCase(id.getCodeSpace()) && code.equalsIgnoreCase(id.getCode())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns the operation method for the specified name or identifier. The given argument shall be either a
+ * method name (e.g. <cite>"Transverse Mercator"</cite>) or one of its identifiers (e.g. {@code "EPSG:9807"}).
+ *
+ * @param methods The method candidates.
+ * @param identifier The name or identifier of the operation method to search.
+ * @return The coordinate operation method for the given name or identifier, or {@code null} if none.
+ *
+ * @see org.apache.sis.referencing.operation.DefaultCoordinateOperationFactory#getOperationMethod(String)
+ * @see org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory#getOperationMethod(String)
+ *
+ * @since 0.6
+ */
+ public final OperationMethod getOperationMethod(final Iterable<? extends OperationMethod> methods, final String identifier) {
+ OperationMethod fallback = null;
+ for (final OperationMethod method : methods) {
+ if (matches(method, identifier)) {
+ /*
+ * Stop the iteration at the first non-deprecated method.
+ * If we find only deprecated methods, take the first one.
+ */
+ if (!(method instanceof Deprecable) || !((Deprecable) method).isDeprecated()) {
+ return method;
+ }
+ if (fallback == null) {
+ fallback = method;
+ }
+ }
+ }
+ return fallback;
+ }
}
Copied: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java (from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java?p2=sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java&p1=sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java&r1=1683791&r2=1683824&rev=1683824&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ServicesForUtility.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -89,8 +89,8 @@ public final class ServicesForUtility ex
CharSequence citedResponsibleParty = null;
PresentationForm presentationForm = null;
Citation copyFrom = null; // Copy citedResponsibleParty from that citation.
- switch (key) {
- case "ISO 19115-1": {
+ { // This is a switch(String) on the JDK7 branch
+ if (key.equals("ISO 19115-1")) {
title = "Geographic Information — Metadata Part 1: Fundamentals";
edition = "ISO 19115-1:2014(E)";
code = "19115-1";
@@ -98,9 +98,7 @@ public final class ServicesForUtility ex
version = "2014(E)";
citedResponsibleParty = "International Organization for Standardization";
presentationForm = PresentationForm.DOCUMENT_DIGITAL;
- break;
- }
- case "ISO 19115-2": {
+ } else if (key.equals("ISO 19115-2")) {
title = "Geographic Information — Metadata Part 2: Extensions for imagery and gridded data";
edition = "ISO 19115-2:2009(E)";
code = "19115-2";
@@ -108,16 +106,12 @@ public final class ServicesForUtility ex
version = "2009(E)";
copyFrom = Citations.ISO_19115.get(0);
presentationForm = PresentationForm.DOCUMENT_DIGITAL;
- break;
- }
- case Constants.OGC: {
+ } else if (key.equals(Constants.OGC)) {
title = "Identifier in OGC namespace";
code = "OGC";
citedResponsibleParty = "Open Geospatial Consortium";
presentationForm = PresentationForm.DOCUMENT_DIGITAL;
- break;
- }
- case Constants.EPSG: {
+ } else if (key.equals(Constants.EPSG)) {
title = "EPSG Geodetic Parameter Dataset";
code = Constants.EPSG;
codeSpace = Constants.IOGP;
@@ -127,32 +121,22 @@ public final class ServicesForUtility ex
* More complete information is provided as an ISO 19115 structure
* in EPSG Surveying and Positioning Guidance Note Number 7, part 1.
*/
- break;
- }
- case Constants.SIS: {
+ } else if (key.equals(Constants.SIS)) {
title = "Apache Spatial Information System";
code = key;
- break;
- }
- case "ISBN": {
+ } else if (key.equals("ISBN")) {
title = "International Standard Book Number";
alternateTitle = key;
- break;
- }
- case "ISSN": {
+ } else if (key.equals("ISSN")) {
title = "International Standard Serial Number";
alternateTitle = key;
- break;
- }
- case "Proj4": {
+ } else if (key.equals("Proj4")) {
title = "Proj.4";
- break;
- }
- case "S57": {
+ } else if (key.equals("S57")) {
title = "S-57";
- break;
+ } else {
+ return super.createCitation(key);
}
- default: return super.createCitation(key);
}
/*
* Do not use the 'c.getFoo().add(foo)' pattern below. Use the 'c.setFoo(singleton(foo))' pattern instead.
Copied: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java (from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java?p2=sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java&p1=sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java&r1=1683791&r2=1683824&rev=1683824&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Element.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -37,6 +37,9 @@ import org.apache.sis.internal.util.Loca
import static org.apache.sis.util.CharSequences.skipLeadingWhitespaces;
+// Branch-specific imports
+import org.apache.sis.internal.jdk7.JDK7;
+
/**
* An element in a <cite>Well Know Text</cite> (WKT). An {@code Element} is made of {@link String},
@@ -102,7 +105,7 @@ final class Element {
offset = 0;
keyword = null;
locale = singleton.locale;
- list = new LinkedList<>(); // Needs to be a modifiable list.
+ list = new LinkedList<Object>(); // Needs to be a modifiable list.
list.add(singleton);
}
@@ -163,7 +166,7 @@ final class Element {
* - Otherwise, if the characters are "true" of "false" (ignoring case), then the value is returned as a boolean.
* - Otherwise, the element is parsed as a number or as a date, depending of 'isTemporal' boolean value.
*/
- list = new LinkedList<>();
+ list = new LinkedList<Object>();
final String separator = parser.symbols.trimmedSeparator();
while (lower < length) {
final int firstChar = text.codePointAt(lower);
@@ -592,7 +595,7 @@ final class Element {
@Override
public String toString() {
final StringBuilder buffer = new StringBuilder();
- format(buffer, 0, System.lineSeparator());
+ format(buffer, 0, JDK7.lineSeparator());
return buffer.toString();
}
Copied: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java (from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java?p2=sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java&p1=sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java&r1=1683791&r2=1683824&rev=1683824&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -148,7 +148,7 @@ final class GeodeticObjectParser extends
* A map of properties to be given the factory constructor methods.
* This map will be recycled for each object to be parsed.
*/
- private final Map<String,Object> properties = new HashMap<>(4);
+ private final Map<String,Object> properties = new HashMap<String,Object>(4);
/**
* Creates a parser using the default set of symbols and factories.
@@ -187,13 +187,6 @@ final class GeodeticObjectParser extends
/**
* Constructs a parser for the specified set of symbols using the specified set of factories.
*
- * This constructor is for internal usage by Apache SIS only — <b>do not use!</b>
- *
- * <p><b>Maintenance note:</b> this constructor is invoked through reflection by
- * {@link WKTFormat#parse(CharSequence, ParsePosition)} because of modularization.
- * Do not change the method signature even if it doesn't break the compilation,
- * unless the reflection code is also updated.</p>
- *
* @param symbols The set of symbols to use.
* @param convention The WKT convention to use.
* @param isAxisIgnored {@code true} if {@code AXIS} elements should be ignored.
@@ -670,7 +663,7 @@ final class GeodeticObjectParser extends
final EngineeringDatum datum = parseLocalDatum(element);
final Unit<Length> linearUnit = parseUnit(element, SI.METRE);
CoordinateSystemAxis axis = parseAxis(element, linearUnit, true);
- final List<CoordinateSystemAxis> list = new ArrayList<>();
+ final List<CoordinateSystemAxis> list = new ArrayList<CoordinateSystemAxis>();
do {
list.add(axis);
axis = parseAxis(element, linearUnit, false);
@@ -871,7 +864,7 @@ final class GeodeticObjectParser extends
* @throws ParseException if the {@code "COMPD_CS"} element can not be parsed.
*/
private CompoundCRS parseCompdCS(final Element parent) throws ParseException {
- final List<CoordinateReferenceSystem> components = new ArrayList<>(4);
+ final List<CoordinateReferenceSystem> components = new ArrayList<CoordinateReferenceSystem>(4);
final Element element = parent.pullElement(WKTKeywords.Compd_CS);
final String name = element.pullString("name");
CoordinateReferenceSystem crs;
@@ -933,7 +926,9 @@ final class GeodeticObjectParser extends
*/
properties.put("conversion.name", name);
return referencing.createDerivedCRS(properties, (SingleCRS) baseCRS, method, toBase.inverse(), derivedCS);
- } catch (FactoryException | NoninvertibleTransformException exception) {
+ } catch (FactoryException exception) {
+ throw element.parseFailed(exception);
+ } catch (NoninvertibleTransformException exception) {
throw element.parseFailed(exception);
}
}
Copied: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java (from r1683791, sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java)
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java?p2=sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java&p1=sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java&r1=1683791&r2=1683824&rev=1683824&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Parser.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -33,6 +33,10 @@ import org.apache.sis.internal.metadata.
import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+// Branch-specific imports
+import java.util.Calendar;
+import java.util.TimeZone;
+
/**
* Parses <cite>Well Known Text</cite> (WKT). Parsers are the converse of {@link Formatter}.
@@ -120,7 +124,7 @@ abstract class Parser implements WKTPars
} else {
exponentSymbol = null;
}
- ignoredElements = new LinkedHashMap<>();
+ ignoredElements = new LinkedHashMap<String, List<String>>();
}
/**
@@ -202,6 +206,37 @@ abstract class Parser implements WKTPars
if (dateFormat == null) {
dateFormat = new SimpleDateFormat(WKTFormat.DATE_PATTERN, symbols.getLocale());
}
- return dateFormat.parse(text, position);
+ /*
+ * Following is a workaround specific to the JDK6 branch. Since JDK6 does not understand the 'Z' suffix,
+ * we handle it in this method. The Apache SIS branch for JDK7 does not need this hack since JDK7 supports
+ * parsing the 'Z' suffix.
+ */
+ final Date date = dateFormat.parse(text, position);
+ if (date != null) {
+ final int p = position.getIndex();
+ if (p < text.length() && text.charAt(p) == 'Z') {
+ position.setIndex(p + 1);
+ final Calendar cal = dateFormat.getCalendar();
+ final int year = cal.get(Calendar.YEAR);
+ final int month = cal.get(Calendar.MONTH);
+ final int day = cal.get(Calendar.DAY_OF_MONTH);
+ final int hour = cal.get(Calendar.HOUR_OF_DAY);
+ final int minute = cal.get(Calendar.MINUTE);
+ final int second = cal.get(Calendar.SECOND);
+ final int millis = cal.get(Calendar.MILLISECOND);
+ final TimeZone timezone = cal.getTimeZone();
+ final long time;
+ try {
+ cal.setTimeZone(TimeZone.getTimeZone("UTC"));
+ cal.set(year, month, day, hour, minute, second);
+ cal.set(Calendar.MILLISECOND, millis);
+ time = cal.getTimeInMillis();
+ } finally {
+ cal.setTimeZone(timezone);
+ }
+ date.setTime(time);
+ }
+ }
+ return date;
}
}
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -69,7 +69,7 @@ import org.apache.sis.internal.jdk7.JDK7
*
* @author Martin Desruisseaux (IRD, Geomatys)
* @since 0.4
- * @version 0.4
+ * @version 0.6
* @module
*
* @see WKTFormat#getSymbols()
@@ -167,6 +167,11 @@ public class Symbols implements Localize
private String separator;
/**
+ * Same value than {@link #separator} but without leading and trailing spaces.
+ */
+ private transient String trimmedSeparator;
+
+ /**
* {@code true} if this instance shall be considered as immutable.
*/
private boolean isImmutable;
@@ -178,13 +183,14 @@ public class Symbols implements Localize
*/
public Symbols(final Symbols symbols) {
ensureNonNull("symbols", symbols);
- locale = symbols.locale;
- brackets = symbols.brackets;
- quotes = symbols.quotes;
- quote = symbols.quote;
- openSequence = symbols.openSequence;
- closeSequence = symbols.closeSequence;
- separator = symbols.separator;
+ locale = symbols.locale;
+ brackets = symbols.brackets;
+ quotes = symbols.quotes;
+ quote = symbols.quote;
+ openSequence = symbols.openSequence;
+ closeSequence = symbols.closeSequence;
+ separator = symbols.separator;
+ trimmedSeparator = symbols.trimmedSeparator;
}
/**
@@ -192,14 +198,15 @@ public class Symbols implements Localize
* The given array is stored by reference - it is not cloned.
*/
private Symbols(final int[] brackets, final int[] quotes) {
- this.locale = Locale.ROOT;
- this.brackets = brackets;
- this.quotes = quotes;
- this.quote = "\"";
- this.openSequence = '{';
- this.closeSequence = '}';
- this.separator = ", ";
- this.isImmutable = true;
+ this.locale = Locale.ROOT;
+ this.brackets = brackets;
+ this.quotes = quotes;
+ this.quote = "\"";
+ this.openSequence = '{';
+ this.closeSequence = '}';
+ this.separator = ", ";
+ this.trimmedSeparator = ",";
+ this.isImmutable = true;
}
/**
@@ -254,19 +261,26 @@ public class Symbols implements Localize
}
/**
- * If the given character is an opening bracket, returns the matching closing bracket.
- * Otherwise returns -1.
+ * Implementation of {@link #matchingBracket(int)} and {@link #matchingQuote(int)}.
*/
- final int matchingBracket(final int c) {
- for (int i=0; i<brackets.length; i+=2) {
- if (brackets[i] == c) {
- return brackets[i+1];
+ private static int matching(final int[] chars, final int c) {
+ for (int i = 0; i < chars.length; i += 2) {
+ if (chars[i] == c) {
+ return chars[i + 1];
}
}
return -1;
}
/**
+ * If the given character is an opening bracket, returns the matching closing bracket.
+ * Otherwise returns -1.
+ */
+ final int matchingBracket(final int c) {
+ return matching(brackets, c);
+ }
+
+ /**
* Returns the number of paired brackets. For example if the WKT parser accepts both the
* {@code […]} and {@code (…)} bracket pairs, then this method returns 2.
*
@@ -327,6 +341,14 @@ public class Symbols implements Localize
}
/**
+ * If the given character is an opening quote, returns the matching closing quote.
+ * Otherwise returns -1.
+ */
+ final int matchingQuote(final int c) {
+ return matching(quotes, c);
+ }
+
+ /**
* Returns the number of paired quotes. For example if the WKT parser accepts both the
* {@code "…"} and {@code “…”} quote pairs, then this method returns 2.
*
@@ -476,8 +498,17 @@ public class Symbols implements Localize
*/
public void setSeparator(final String separator) {
checkWritePermission();
- ensureNonEmpty("separator", separator);
+ final String s = CharSequences.trimWhitespaces(separator.trim());
+ ensureNonEmpty("separator", s);
this.separator = separator;
+ trimmedSeparator = s;
+ }
+
+ /**
+ * Returns the separator without trailing spaces.
+ */
+ final String trimmedSeparator() {
+ return trimmedSeparator;
}
/**
@@ -691,6 +722,7 @@ public class Symbols implements Localize
if (equals(CURLY_BRACKETS)) return CURLY_BRACKETS;
}
quote = String.valueOf(Character.toChars(quotes[1]));
+ trimmedSeparator = CharSequences.trimWhitespaces(separator.trim());
return this;
}
}
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/WKTFormat.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -19,14 +19,18 @@ package org.apache.sis.io.wkt;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
+import java.util.Map;
+import java.util.HashMap;
import java.io.IOException;
import java.text.Format;
import java.text.NumberFormat;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParsePosition;
+import java.text.ParseException;
import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;
+import org.opengis.util.Factory;
import org.opengis.metadata.citation.Citation;
import org.opengis.referencing.IdentifiedObject;
import org.apache.sis.io.CompoundFormat;
@@ -176,6 +180,16 @@ public class WKTFormat extends CompoundF
private transient Formatter formatter;
/**
+ * The parser. Will be created when first needed.
+ */
+ private transient Parser parser;
+
+ /**
+ * The factories needed by the parser. Will be created when first needed.
+ */
+ private transient Map<Class<?>,Factory> factories;
+
+ /**
* Creates a format for the given locale and timezone. The given locale will be used for
* {@link org.opengis.util.InternationalString} localization; this is <strong>not</strong>
* the locale for number format.
@@ -210,6 +224,7 @@ public class WKTFormat extends CompoundF
if (!symbols.equals(this.symbols)) {
this.symbols = symbols.immutable();
formatter = null;
+ parser = null;
}
}
@@ -354,6 +369,7 @@ public class WKTFormat extends CompoundF
ArgumentChecks.ensureNonNull("convention", convention);
this.convention = convention;
updateFormatter(formatter);
+ parser = null;
}
/**
@@ -456,15 +472,23 @@ public class WKTFormat extends CompoundF
}
/**
- * Not yet supported.
+ * Creates an object from the given character sequence.
+ * The parsing begins at the index given by the {@code pos} argument.
*
- * @param text The text to parse.
- * @param position The index of the first character to parse.
- * @return The parsed object, or {@code null} in case of failure.
+ * @param text The character sequence for the object to parse.
+ * @param pos The position where to start the parsing.
+ * @return The parsed object.
+ * @throws ParseException If an error occurred while parsing the object.
*/
@Override
- public Object parse(final CharSequence text, final ParsePosition position) {
- throw new UnsupportedOperationException("Not supported yet.");
+ public Object parse(final CharSequence text, final ParsePosition pos) throws ParseException {
+ if (parser == null) {
+ if (factories == null) {
+ factories = new HashMap<Class<?>,Factory>();
+ }
+ parser = new GeodeticObjectParser(symbols, convention, false, getLocale(), factories);
+ }
+ return parser.parseObject(text.toString(), pos);
}
/**
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/AbstractMetadata.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -82,8 +82,15 @@ import org.apache.sis.util.logging.Loggi
public abstract class AbstractMetadata implements LenientComparable, Emptiable {
/**
* The logger for messages related to metadata implementations.
+ *
+ * Note that another logger is provided with public access in the {@code iso} sub-package:
+ * {@link org.apache.sis.metadata.iso.ISOMetadata#LOGGER}. This {@code LOGGER} instance is
+ * kept package-privated for avoiding confusion (other sub-packages like {@code sql} should
+ * create their own logger). This logger is declared in a static field because otherwise,
+ * any configuration done by the user may be lost when the garbage-collector collects the
+ * logger.
*/
- protected static final Logger LOGGER = Logging.getLogger(AbstractMetadata.class);
+ static final Logger LOGGER = Logging.getLogger(AbstractMetadata.class);
/**
* Creates an initially empty metadata.
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/PropertyInformation.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -128,7 +128,7 @@ final class PropertyInformation<E> exten
PropertyInformation(final Citation standard, final String property, final Method getter,
final Class<E> elementType, final ValueRange range)
{
- super(standard, property);
+ super(standard, property, getter.isAnnotationPresent(Deprecated.class));
parent = getter.getDeclaringClass();
this.elementType = elementType;
final UML uml = getter.getAnnotation(UML.class);
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -301,7 +301,7 @@ public class DefaultIdentifier extends I
/**
* Sets the organization or party responsible for definition and maintenance of the
- * {@linkplain #getCode code}.
+ * {@linkplain #getCode() code}.
*
* @param newValue The new authority.
*/
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultMetadata.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -877,6 +877,8 @@ public class DefaultMetadata extends ISO
/**
* Returns the citation(s) for the standard(s) to which the metadata conform.
+ * The collection returned by this method typically contains elements from the
+ * {@link org.apache.sis.metadata.iso.citation.Citations#ISO_19115} list.
*
* @return The standard(s) to which the metadata conform.
*
Modified: sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1683824&r1=1683823&r2=1683824&view=diff
==============================================================================
--- sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java [UTF-8] (original)
+++ sis/branches/JDK6/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java [UTF-8] Fri Jun 5 17:46:07 2015
@@ -420,12 +420,8 @@ public class ImmutableIdentifier extends
/**
* Organization or party responsible for definition and maintenance of the {@linkplain #getCode() code}.
- * The organization's abbreviation is often the same than this identifier {@linkplain #getCodeSpace()
- * code space}, but not necessarily.
- *
- * <div class="note"><b>Example:</b> Coordinate Reference System (CRS) identified by an EPSG code will return
- * contact information for the <cite>International Association of Oil & Gas producers</cite> (IOGP), since
- * IOGP is the organization maintaining the EPSG geodetic database.</div>
+ * The organization's abbreviation is often the same than this identifier {@linkplain #getCodeSpace() code space},
+ * but not necessarily.
*
* @return The authority, or {@code null} if not available.
*/