Author: desruisseaux
Date: Sat May 14 01:44:48 2016
New Revision: 1743779
URL: http://svn.apache.org/viewvc?rev=1743779&view=rev
Log:
Bug fix:
- Exclude deprecated operations when searching for an operation path.
- Inverse operation should contain domain of validity and accuracy information.
- Command line should give the operation EPSG codes when available.
Modified:
sis/branches/JDK8/application/sis-console/src/main/java/org/apache/sis/console/TransformCommand.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
Modified:
sis/branches/JDK8/application/sis-console/src/main/java/org/apache/sis/console/TransformCommand.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/application/sis-console/src/main/java/org/apache/sis/console/TransformCommand.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/application/sis-console/src/main/java/org/apache/sis/console/TransformCommand.java
[UTF-8] (original)
+++
sis/branches/JDK8/application/sis-console/src/main/java/org/apache/sis/console/TransformCommand.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -194,9 +194,9 @@ final class TransformCommand extends Met
*/
outHeader = new TableAppender(new LineAppender(out), " ");
outHeader.setMultiLinesCells(true);
- printHeader(Vocabulary.Keys.Source);
printNameAndIdentifier(operation.getSourceCRS());
- printHeader(Vocabulary.Keys.Destination);
printNameAndIdentifier(operation.getTargetCRS());
- printHeader(Vocabulary.Keys.Methods); printOperationMethods
(operation, false);
+ printHeader(Vocabulary.Keys.Source);
printNameAndIdentifier(operation.getSourceCRS(), false);
+ printHeader(Vocabulary.Keys.Destination);
printNameAndIdentifier(operation.getTargetCRS(), false);
+ printHeader(Vocabulary.Keys.Operations); printOperations (operation,
false);
outHeader.nextLine();
if (options.containsKey(Option.VERBOSE)) {
final WKTFormat f = new WKTFormat(locale, timezone);
@@ -293,10 +293,17 @@ final class TransformCommand extends Met
/**
* Prints the name and authority code (if any) of the given object.
+ *
+ * @param object the object for which to print name and identifier.
+ * @param idRequired {@code true} for printing the name only if an
identifier is present.
+ * @return whether this method has printed something.
*/
- private void printNameAndIdentifier(final IdentifiedObject object) {
- outHeader.append(object.getName().getCode());
+ private boolean printNameAndIdentifier(final IdentifiedObject object,
final boolean idRequired) {
final String identifier =
IdentifiedObjects.toString(IdentifiedObjects.getIdentifier(object, null));
+ if (idRequired && identifier == null) {
+ return false;
+ }
+ outHeader.append(object.getName().getCode());
if (identifier != null) {
outHeader.append(' ');
if (colors) {
@@ -309,34 +316,42 @@ final class TransformCommand extends Met
outHeader.append(X364.FOREGROUND_DEFAULT.sequence());
}
}
- outHeader.nextLine();
+ if (!idRequired) {
+ outHeader.nextLine();
+ }
+ return true;
}
/**
- * Prints a summary (currently only the operation method) of the given
coordinate operation as a list item.
- * The list will contain many items if the given operation is a
concatenated operation.
+ * Prints a summary of the given coordinate operation as a sequence of
steps.
+ * If the operations is specified by EPSG, prints the EPSG name and code.
+ * Otherwise prints only the operation method names, since the coordinate
operation names
+ * generated by SIS are not very meaningful.
*
- * @param step the coordinate operation to print as a list of steps.
+ * @param step the coordinate operation to print as a sequence of steps.
*/
- private void printOperationMethods(final CoordinateOperation step, boolean
isNext) {
- if (step instanceof ConcatenatedOperation) {
- for (final CoordinateOperation op : ((ConcatenatedOperation)
step).getOperations()) {
- printOperationMethods(op, isNext);
- isNext = true;
- }
- } else if (step instanceof PassThroughOperation) {
- printOperationMethods(((PassThroughOperation)
step).getOperation(), isNext);
- } else if (step instanceof SingleOperation) {
- if (isNext) {
- if (colors) {
- outHeader.append(X364.FOREGROUND_GREEN.sequence());
- }
- outHeader.append(" → ");
- if (colors) {
- outHeader.append(X364.FOREGROUND_DEFAULT.sequence());
+ private void printOperations(final CoordinateOperation step, boolean
isNext) {
+ if (isNext) {
+ isNext = false;
+ if (colors) {
+ outHeader.append(X364.FOREGROUND_GREEN.sequence());
+ }
+ outHeader.append(" → ");
+ if (colors) {
+ outHeader.append(X364.FOREGROUND_DEFAULT.sequence());
+ }
+ }
+ if (!printNameAndIdentifier(step, true)) {
+ if (step instanceof ConcatenatedOperation) {
+ for (final CoordinateOperation op : ((ConcatenatedOperation)
step).getOperations()) {
+ printOperations(op, isNext);
+ isNext = true;
}
+ } else if (step instanceof PassThroughOperation) {
+ printOperations(((PassThroughOperation) step).getOperation(),
false);
+ } else if (step instanceof SingleOperation) {
+ outHeader.append(((SingleOperation)
step).getMethod().getName().getCode());
}
- outHeader.append(((SingleOperation)
step).getMethod().getName().getCode());
}
}
@@ -466,7 +481,7 @@ final class TransformCommand extends Met
}
/*
* At this point we got the coordinates and they have the
expected number of dimensions.
- * Now perform the coordinate operation and prints each
ordinate values. We will switch
+ * Now perform the coordinate operation and print each
ordinate values. We will switch
* to scientific notation if the coordinate is much larger
than expected.
*/
mt.transform(coordinates, 0, result, 0, 1);
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/IdentifiedObjectSet.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -24,6 +24,7 @@ import java.util.Collection;
import java.util.AbstractSet;
import java.util.LinkedHashMap;
import java.util.NoSuchElementException;
+import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.opengis.util.FactoryException;
@@ -39,6 +40,7 @@ import org.apache.sis.util.resources.Mes
import org.apache.sis.util.collection.BackingStoreException;
import org.apache.sis.util.collection.CheckedContainer;
import org.apache.sis.util.ArgumentChecks;
+import org.apache.sis.util.Localized;
import org.apache.sis.util.Classes;
// Branch-dependent imports
@@ -84,7 +86,7 @@ import java.util.Objects;
* @version 0.7
* @module
*/
-public class IdentifiedObjectSet<T extends IdentifiedObject> extends
AbstractSet<T> implements CheckedContainer<T> {
+public class IdentifiedObjectSet<T extends IdentifiedObject> extends
AbstractSet<T> implements CheckedContainer<T>, Localized {
/**
* The map of object codes (keys), and the actual identified objects
(values) when they have been created.
* Each entry has a null value until the corresponding object is created.
@@ -137,6 +139,17 @@ public class IdentifiedObjectSet<T exten
}
/**
+ * Returns the locale to use for error messages and warnings.
+ * The default implementation inherits the {@link #factory} locale, if any.
+ *
+ * @return The locale, or {@code null} if not explicitly defined.
+ */
+ @Override
+ public Locale getLocale() {
+ return (factory instanceof Localized) ? ((Localized)
factory).getLocale() : null;
+ }
+
+ /**
* Returns the type of {@code IdentifiedObject} included in this set.
*
* @return The type of {@code IdentifiedObject} included in this set.
@@ -286,7 +299,7 @@ public class IdentifiedObjectSet<T exten
if (!isRecoverableFailure(exception)) {
throw new BackingStoreException(exception);
}
- final LogRecord record =
Messages.getResources(null).getLogRecord(Level.WARNING,
+ final LogRecord record =
Messages.getResources(getLocale()).getLogRecord(Level.WARNING,
Messages.Keys.CanNotInstantiateForIdentifier_3, type,
code, getCause(exception));
record.setLoggerName(Loggers.CRS_FACTORY);
Logging.log(IdentifiedObjectSet.class, "createObject", record);
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -2955,7 +2955,9 @@ next: while (r.next()) {
* This method only extract the information explicitely declared in the
EPSG database;
* it does not attempt to infer by itself operations that are not
explicitely recorded in the database.
*
- * <p>The returned set is ordered with the most accurate operations
first.</p>
+ * <p>The returned set is ordered with the most accurate operations first.
+ * Deprecated operations are not included in the set; if a deprecated
operation is really wanted,
+ * it can be fetched by an explicit call to {@link
#createCoordinateOperation(String)}.</p>
*
* @param sourceCRS Coded value of source coordinate reference system.
* @param targetCRS Coded value of target coordinate reference system.
@@ -2986,9 +2988,10 @@ next: while (r.next()) {
sql = "SELECT COORD_OP_CODE" +
" FROM [Coordinate_Operation] AS CO" +
" JOIN [Area] ON AREA_OF_USE_CODE = AREA_CODE" +
- " WHERE SOURCE_CRS_CODE = ?" +
+ " WHERE CO.DEPRECATED=0" + // Do not put spaces
around "=" - SQLTranslator searches for this exact match.
+ " AND SOURCE_CRS_CODE = ?" +
" AND TARGET_CRS_CODE = ?" +
- " ORDER BY ABS(CO.DEPRECATED), COORD_OP_ACCURACY ASC
NULLS LAST, " +
+ " ORDER BY COORD_OP_ACCURACY ASC NULLS LAST, " +
" (AREA_EAST_BOUND_LON - AREA_WEST_BOUND_LON +
CASE WHEN AREA_EAST_BOUND_LON < AREA_WEST_BOUND_LON THEN 360 ELSE 0 END)" +
" * (AREA_NORTH_BOUND_LAT - AREA_SOUTH_BOUND_LAT)" +
" * COS(RADIANS(AREA_NORTH_BOUND_LAT +
AREA_SOUTH_BOUND_LAT)/2) DESC";
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -181,11 +181,12 @@ public class AbstractCoordinateOperation
* Area in which this operation is valid, or {@code null} if not available.
*
* <p><b>Consider this field as final!</b>
- * This field is modified only at unmarshalling time by {@link
#setDomainOfValidity(Extent)}.</p>
+ * This field is non-final only for the convenience of constructors and
for initialization
+ * at XML unmarshalling time by {@link #setDomainOfValidity(Extent)}.</p>
*
* @see #getDomainOfValidity()
*/
- private Extent domainOfValidity;
+ Extent domainOfValidity;
/**
* Description of domain of usage, or limitations of usage, for which this
operation is valid.
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -494,6 +494,7 @@ class CoordinateOperationRegistry {
if (op instanceof Transformation) type = Transformation.class;
else if (op instanceof Conversion) type = Conversion.class;
final Map<String,Object> properties = properties(INVERSE_OPERATION);
+ InverseOperationMethod.putMetadata(op, properties);
InverseOperationMethod.putParameters(op, properties);
return createFromMathTransform(properties, targetCRS, sourceCRS,
transform, InverseOperationMethod.create(op.getMethod()),
null, type);
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -24,6 +24,7 @@ import javax.xml.bind.annotation.XmlType
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.opengis.util.FactoryException;
+import org.opengis.metadata.extent.Extent;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.CoordinateOperation;
import org.opengis.referencing.operation.ConcatenatedOperation;
@@ -110,7 +111,8 @@ final class DefaultConcatenatedOperation
super(properties);
ArgumentChecks.ensureNonNull("operations", operations);
final List<CoordinateOperation> flattened = new
ArrayList<>(operations.length);
- initialize(properties, operations, flattened, mtFactory,
(coordinateOperationAccuracy == null));
+ initialize(properties, operations, flattened, mtFactory,
+ (coordinateOperationAccuracy == null), (domainOfValidity ==
null));
if (flattened.size() < 2) {
throw new
IllegalArgumentException(Errors.getResources(properties).getString(
Errors.Keys.TooFewOccurrences_2, 2,
CoordinateOperation.class));
@@ -158,13 +160,15 @@ final class DefaultConcatenatedOperation
* @param flattened The destination list in which to add the {@code
SingleOperation} instances.
* @param mtFactory The math transform factory to use, or {@code null}
for not performing concatenation.
* @param setAccuracy {@code true} for setting the {@link
#coordinateOperationAccuracy} field.
+ * @param setDomain {@code true} for setting the {@link
#domainOfValidity} field.
* @throws FactoryException if the factory can not concatenate the math
transforms.
*/
private void initialize(final Map<String,?> properties,
final CoordinateOperation[] operations,
final List<CoordinateOperation> flattened,
final MathTransformFactory mtFactory,
- boolean setAccuracy)
+ boolean setAccuracy,
+ boolean setDomain)
throws FactoryException
{
CoordinateReferenceSystem previous = null;
@@ -200,7 +204,7 @@ final class DefaultConcatenatedOperation
final List<? extends CoordinateOperation> children =
((ConcatenatedOperation) op).getOperations();
@SuppressWarnings("SuspiciousToArrayCall")
final CoordinateOperation[] asArray = children.toArray(new
CoordinateOperation[children.size()]);
- initialize(properties, asArray, flattened, (step == null) ?
mtFactory : null, setAccuracy);
+ initialize(properties, asArray, flattened, (step == null) ?
mtFactory : null, setAccuracy, setDomain);
} else {
flattened.add(op);
}
@@ -215,17 +219,31 @@ final class DefaultConcatenatedOperation
* Instead the user will get a better result by invoking
PositionalAccuracyConstant.getLinearAccuracy(…)
* since that method conservatively computes the sum of all linear
accuracy.
*/
- if (setAccuracy && (op instanceof Transformation || op instanceof
ConcatenatedOperation)) {
+ if (setAccuracy && (op instanceof Transformation || op instanceof
ConcatenatedOperation)
+ && (PositionalAccuracyConstant.getLinearAccuracy(op) != 0))
+ {
if (coordinateOperationAccuracy == null) {
- setAccuracy =
(PositionalAccuracyConstant.getLinearAccuracy(op) > 0);
- if (setAccuracy) {
- coordinateOperationAccuracy =
op.getCoordinateOperationAccuracy();
- }
+ coordinateOperationAccuracy =
op.getCoordinateOperationAccuracy();
} else {
coordinateOperationAccuracy = null;
setAccuracy = false;
}
}
+ /*
+ * Optionally copy the domain of validity, provided that it is the
same for all component.
+ * Current implementation does not try to compute the intersection
of all components.
+ */
+ if (setDomain) {
+ final Extent domain = op.getDomainOfValidity();
+ if (domain != null) {
+ if (domainOfValidity == null) {
+ domainOfValidity = domain;
+ } else if (!domain.equals(domainOfValidity)) {
+ domainOfValidity = null;
+ setDomain = false;
+ }
+ }
+ }
}
}
@@ -379,7 +397,8 @@ final class DefaultConcatenatedOperation
*/
private void setSteps(final CoordinateOperation[] steps) throws
FactoryException {
final List<CoordinateOperation> flattened = new
ArrayList<>(steps.length);
- initialize(null, steps, flattened,
DefaultFactories.forBuildin(MathTransformFactory.class),
coordinateOperationAccuracy == null);
+ initialize(null, steps, flattened,
DefaultFactories.forBuildin(MathTransformFactory.class),
+ (coordinateOperationAccuracy == null), (domainOfValidity ==
null));
operations = UnmodifiableArrayList.wrap(flattened.toArray(new
CoordinateOperation[flattened.size()]));
}
}
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/InverseOperationMethod.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -18,9 +18,11 @@ package org.apache.sis.referencing.opera
import java.util.Map;
import java.util.HashMap;
+import java.util.Collection;
import javax.xml.bind.annotation.XmlTransient;
import javax.measure.unit.Unit;
import org.opengis.metadata.Identifier;
+import org.opengis.metadata.quality.PositionalAccuracy;
import org.opengis.util.InternationalString;
import org.opengis.parameter.ParameterValue;
import org.opengis.parameter.ParameterValueGroup;
@@ -33,6 +35,7 @@ import org.apache.sis.internal.metadata.
import org.apache.sis.internal.referencing.SignReversalComment;
import org.apache.sis.internal.referencing.provider.AbstractProvider;
import org.apache.sis.metadata.iso.ImmutableIdentifier;
+import org.apache.sis.util.collection.Containers;
import org.apache.sis.util.Deprecable;
@@ -104,6 +107,26 @@ final class InverseOperationMethod exten
}
/**
+ * Copies accuracy and domain of validity metadata from the given
operation into the given properties map.
+ * We presume that the inverse operation has the same accuracy than the
direct operation.
+ *
+ * <div class="note"><b>Note:</b>
+ * in many cases, the inverse operation is numerically less accurate than
the direct operation because it
+ * uses approximations like series expansions or iterative methods.
However the numerical errors caused by
+ * those approximations are not of interest here, because they are usually
much smaller than the inaccuracy
+ * due to the stochastic nature of coordinate transformations (not to be
confused with coordinate conversions;
+ * see ISO 19111 for more information).</div>
+ */
+ static void putMetadata(final SingleOperation source, final
Map<String,Object> target) {
+ target.put(SingleOperation.DOMAIN_OF_VALIDITY_KEY,
source.getDomainOfValidity());
+ final Collection<PositionalAccuracy> accuracy =
source.getCoordinateOperationAccuracy();
+ if (!Containers.isNullOrEmpty(accuracy)) {
+ target.put(SingleOperation.COORDINATE_OPERATION_ACCURACY_KEY,
+ accuracy.toArray(new PositionalAccuracy[accuracy.size()]));
+ }
+ }
+
+ /**
* If the inverse of the given operation can be represented by inverting
the sign of all numerical
* parameter values, copies those parameters in a {@code "parameters"}
entry in the given map.
* Otherwise does nothing.
Modified:
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.java
[UTF-8] Sat May 14 01:44:48 2016
@@ -442,6 +442,11 @@ public final class Vocabulary extends In
public static final short OperatingSystem = 42;
/**
+ * Operations
+ */
+ public static final short Operations = 112;
+
+ /**
* Optional
*/
public static final short Optional = 79;
Modified:
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
[ISO-8859-1] (original)
+++
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary.properties
[ISO-8859-1] Sat May 14 01:44:48 2016
@@ -91,6 +91,7 @@ Obligation = Obligation
Of_3 = {0} ({1} of {2})
Offset = Offset
OperatingSystem = Operating system
+Operations = Operations
Optional = Optional
Options = Options
Others = Others
Modified:
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties?rev=1743779&r1=1743778&r2=1743779&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
[ISO-8859-1] (original)
+++
sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/util/resources/Vocabulary_fr.properties
[ISO-8859-1] Sat May 14 01:44:48 2016
@@ -98,6 +98,7 @@ Obligation = Obligation
Of_3 = {0} ({1} de {2})
Offset = D\u00e9calage
OperatingSystem = Syst\u00e8me d\u2019exploitation
+Operations = Op\u00e9rations
Optional = Optionnel
Options = Options
Others = Autres