Revision: 5880
          http://sourceforge.net/p/jump-pilot/code/5880
Author:   michaudm
Date:     2018-06-17 13:37:50 +0000 (Sun, 17 Jun 2018)
Log Message:
-----------
Add long and boolean attribute type to matching extension

Modified Paths:
--------------
    
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingExtension.java
    
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingPlugIn.java
    
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching.properties
    
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching_fr.properties

Modified: 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingExtension.java
===================================================================
--- 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingExtension.java
      2018-06-17 13:13:29 UTC (rev 5879)
+++ 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingExtension.java
      2018-06-17 13:37:50 UTC (rev 5880)
@@ -28,10 +28,11 @@
 /**
  * Extension containing matching processing also known as join.
  * @author Michaƫl Michaud
- * @version 0.8.0 (2018-06-15)
+ * @version 0.8.0 (2018-06-17)
  */ 
 // History
-// 0.8.0 (2018-06-15) : refactor to use add/getParameter
+// 0.8.0 (2018-06-17) : refactor to use add/getParameter, the OJ aggregation
+//                      classes and long and boolean attribute types
 // 0.7.5 (2017-03-26) : clean headers and remove dead code before inclusion in
 //                      OpenJUMP PLUS version
 // 0.7.4 (2017-03-13) : overlapping method could not handle linear geometries
@@ -69,7 +70,7 @@
     }
 
     public String getVersion() {
-        return "0.8.0 (2018-06-15)";
+        return "0.8.0 (2018-06-17)";
     }
 
     public void configure(PlugInContext context) throws Exception {

Modified: 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingPlugIn.java
===================================================================
--- 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingPlugIn.java
 2018-06-17 13:13:29 UTC (rev 5879)
+++ 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/MatchingPlugIn.java
 2018-06-17 13:37:50 UTC (rev 5880)
@@ -104,8 +104,10 @@
     private String P_TRANSFER_BEST_MATCH_ONLY = "TransferBestMatchOnly";
     private String P_STRING_AGGREGATOR        = "StringAggregator";
     private String P_INTEGER_AGGREGATOR       = "IntegerAggregator";
+    private String P_LONG_AGGREGATOR          = "LongAggregator";
     private String P_DOUBLE_AGGREGATOR        = "DoubleAggregator";
     private String P_DATE_AGGREGATOR          = "DateAggregator";
+    private String P_BOOLEAN_AGGREGATOR       = "BooleanAggregator";
 
     
     private final String MATCHING                     = 
I18NPlug.getI18N("Matching");
@@ -153,8 +155,10 @@
     
     private final String STRING_AGGREGATION           = 
I18NPlug.getI18N("String-aggregation");
     private final String INTEGER_AGGREGATION          = 
I18NPlug.getI18N("Integer-aggregation");
+    private final String LONG_AGGREGATION             = 
I18NPlug.getI18N("Long-aggregation");
     private final String DOUBLE_AGGREGATION           = 
I18NPlug.getI18N("Double-aggregation");
     private final String DATE_AGGREGATION             = 
I18NPlug.getI18N("Date-aggregation");
+    private final String BOOLEAN_AGGREGATION          = 
I18NPlug.getI18N("Boolean-aggregation");
 
     // Processing and Error messages
     private final String SEARCHING_MATCHES            = 
I18NPlug.getI18N("Searching-matches");
@@ -202,10 +206,14 @@
             Aggregators.getAggregator(new 
Aggregators.ConcatenateUnique(true).getName());
     private Aggregator integer_aggregator =
             Aggregators.getAggregator(new Aggregators.IntSum().getName());
+    private Aggregator long_aggregator =
+            Aggregators.getAggregator(new Aggregators.LongSum().getName());
     private Aggregator double_aggregator =
             Aggregators.getAggregator(new 
Aggregators.DoubleMean(true).getName());
     private Aggregator date_aggregator =
             Aggregators.getAggregator(new 
Aggregators.DateMean(true).getName());
+    private Aggregator boolean_aggregator =
+            Aggregators.getAggregator(new 
Aggregators.BooleanMajority(true).getName());
 
     // initialisation of parameters
     {
@@ -233,10 +241,13 @@
 
         addParameter(P_TRANSFER_ATTRIBUTES, transfer);
         addParameter(P_TRANSFER_BEST_MATCH_ONLY, transfer_best_match_only);
-        addParameter(P_STRING_AGGREGATOR, string_aggregator.getName());
+
+        addParameter(P_STRING_AGGREGATOR,  string_aggregator.getName());
         addParameter(P_INTEGER_AGGREGATOR, integer_aggregator.getName());
-        addParameter(P_DOUBLE_AGGREGATOR, double_aggregator.getName());
-        addParameter(P_DATE_AGGREGATOR, date_aggregator.getName());
+        addParameter(P_LONG_AGGREGATOR,    long_aggregator.getName());
+        addParameter(P_DOUBLE_AGGREGATOR,  double_aggregator.getName());
+        addParameter(P_DATE_AGGREGATOR,    date_aggregator.getName());
+        addParameter(P_BOOLEAN_AGGREGATOR, boolean_aggregator.getName());
     }
 
     public MatchingPlugIn() {
@@ -334,8 +345,10 @@
             transfer_best_match_only = 
dialog.getBoolean(TRANSFER_BEST_MATCH_ONLY);
             string_aggregator        = 
(Aggregator)dialog.getComboBox(STRING_AGGREGATION).getSelectedItem();
             integer_aggregator       = 
(Aggregator)dialog.getComboBox(INTEGER_AGGREGATION).getSelectedItem();
+            long_aggregator          = 
(Aggregator)dialog.getComboBox(LONG_AGGREGATION).getSelectedItem();
             double_aggregator        = 
(Aggregator)dialog.getComboBox(DOUBLE_AGGREGATION).getSelectedItem();
             date_aggregator          = 
(Aggregator)dialog.getComboBox(DATE_AGGREGATION).getSelectedItem();
+            boolean_aggregator       = 
(Aggregator)dialog.getComboBox(BOOLEAN_AGGREGATION).getSelectedItem();
 
             System.out.println("start adding parameters");
 
@@ -365,8 +378,10 @@
             addParameter(P_TRANSFER_BEST_MATCH_ONLY, transfer_best_match_only);
             addParameter(P_STRING_AGGREGATOR, string_aggregator.getName());
             addParameter(P_INTEGER_AGGREGATOR, integer_aggregator.getName());
+            addParameter(P_LONG_AGGREGATOR, long_aggregator.getName());
             addParameter(P_DOUBLE_AGGREGATOR, double_aggregator.getName());
             addParameter(P_DATE_AGGREGATOR, date_aggregator.getName());
+            addParameter(P_BOOLEAN_AGGREGATOR, boolean_aggregator.getName());
 
             if ((geometry_matcher instanceof MatchAllMatcher) && 
!use_attributes) {
                 context.getWorkbenchFrame().warnUser(CHOOSE_MATCHER);
@@ -531,6 +546,10 @@
                 INTEGER_AGGREGATION, integer_aggregator,
                 Aggregators.getAggregators(AttributeType.INTEGER).values(), 
null
         );
+        final JComboBox jcb_long_aggregator = dialog.addComboBox(
+                LONG_AGGREGATION, long_aggregator,
+                Aggregators.getAggregators(AttributeType.LONG).values(), null
+        );
         final JComboBox jcb_double_aggregator = dialog.addComboBox(
                 DOUBLE_AGGREGATION, double_aggregator,
                 Aggregators.getAggregators(AttributeType.DOUBLE).values(), null
@@ -539,6 +558,10 @@
                 DATE_AGGREGATION, date_aggregator,
                 Aggregators.getAggregators(AttributeType.DATE).values(), null
         );
+        final JComboBox jcb_boolean_aggregator = dialog.addComboBox(
+                BOOLEAN_AGGREGATION, boolean_aggregator,
+                Aggregators.getAggregators(AttributeType.BOOLEAN).values(), 
null
+        );
         
         updateDialog(dialog);
     }
@@ -675,10 +698,14 @@
         string_aggregator.setIgnoreNull(true);
         integer_aggregator       = 
Aggregators.getAggregator(getStringParam(P_INTEGER_AGGREGATOR));
         integer_aggregator.setIgnoreNull(true);
+        long_aggregator          = 
Aggregators.getAggregator(getStringParam(P_LONG_AGGREGATOR));
+        long_aggregator.setIgnoreNull(true);
         double_aggregator        = 
Aggregators.getAggregator(getStringParam(P_DOUBLE_AGGREGATOR));
         double_aggregator.setIgnoreNull(true);
         date_aggregator          = 
Aggregators.getAggregator(getStringParam(P_DATE_AGGREGATOR));
         date_aggregator.setIgnoreNull(true);
+        boolean_aggregator       = 
Aggregators.getAggregator(getStringParam(P_BOOLEAN_AGGREGATOR));
+        boolean_aggregator.setIgnoreNull(true);
 
         
         Layer source_layer = 
context.getLayerManager().getLayer(source_layer_name);
@@ -776,6 +803,11 @@
                         for (Feature mf : matches) 
integer_aggregator.addValue(mf.getAttribute(i));
                         bf.setAttribute("X_" + name, 
integer_aggregator.getResult());
                     }
+                    else if (type == AttributeType.LONG) {
+                      long_aggregator.reset();
+                      for (Feature mf : matches) 
long_aggregator.addValue(mf.getAttribute(i));
+                      bf.setAttribute("X_" + name, 
long_aggregator.getResult());
+                    }
                     else if (type == AttributeType.DOUBLE) {
                         double_aggregator.reset();
                         for (Feature mf : matches) 
double_aggregator.addValue(mf.getAttribute(i));
@@ -786,6 +818,11 @@
                         for (Feature mf : matches) 
date_aggregator.addValue(mf.getAttribute(i));
                         bf.setAttribute("X_" + name, 
date_aggregator.getResult());
                     }
+                    else if (type == AttributeType.BOOLEAN) {
+                      boolean_aggregator.reset();
+                      for (Feature mf : matches) 
boolean_aggregator.addValue(mf.getAttribute(i));
+                      bf.setAttribute("X_" + name, 
boolean_aggregator.getResult());
+                    }
                 }
                 new_dataset.add(bf);
             }

Modified: 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching.properties
===================================================================
--- 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching.properties
 2018-06-17 13:13:29 UTC (rev 5879)
+++ 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching.properties
 2018-06-17 13:37:50 UTC (rev 5880)
@@ -34,38 +34,38 @@
 un-matched = un-matched
 Links = Links
 
-Geometric-matcher = Geometric matcher
-matcher.MatchAllMatcher = Match All
+# Geometric-matcher = Geometric matcher
+# matcher.MatchAllMatcher = Match All
+#
+# matcher.EqualsExactGeom3dMatcher = Equals Exact (Geom3d)
+# matcher.EqualsNormalizedGeom3dMatcher = Equals Normalized (Geom3d)
+# matcher.EqualsExactGeom2dMatcher = Equals Exact (Geom2d)
+# matcher.EqualsNormalizedGeom2dMatcher = Equals Normalized (Geom2d)
+# matcher.EqualsTopologicalGeomMatcher = Equals Topological
+# matcher.EqualsWithCoordinateToleranceMatcher = Equals With Coordinate 
Tolerance
+#
+# matcher.IsWithinMatcher = IsWithin
+# matcher.OverlapsMatcher = Overlaps
+# matcher.OverlappedByMatcher = OverlappedBy
+# matcher.IntersectsMatcher = Intersects
+# matcher.Intersects0DMatcher = Intersects (0D intersetion)
+# matcher.Intersects1DMatcher = Intersects (1D intersection)
+# matcher.Intersects2DMatcher = Intersects (2D intersection)
+#
+# matcher.CentroidDistanceMatcher = Centroid Distance
+# matcher.MinimumDistanceMatcher = Minimum Distance
+# matcher.HausdorffDistanceMatcher = Hausdorff Distance
+# matcher.SemiHausdorffDistanceMatcher = Semi-Hausdorff Distance
+# matcher.ShapeMatcher = Shape Matcher
+#
+# matcher.MatchAllAttributesMatcher = Match All Attributes
+# matcher.MatchAllStringsMatcher = Match All Strings
+# matcher.StringEqualityMatcher = String Equality
+# matcher.StringEqualityIgnoreCaseMatcher = String Equality (Ignore Case)
+# matcher.StringEqualityIgnoreCaseAndAccentMatcher = String Equality (Ignore 
Case And Accents)
+# matcher.LevenshteinDistanceMatcher = Levenshtein Distance
+# matcher.DamarauLevenshteinDistanceMatcher = Damarau-Levenshtein Distance
 
-matcher.EqualsExactGeom3dMatcher = Equals Exact (Geom3d)
-matcher.EqualsNormalizedGeom3dMatcher = Equals Normalized (Geom3d)
-matcher.EqualsExactGeom2dMatcher = Equals Exact (Geom2d)
-matcher.EqualsNormalizedGeom2dMatcher = Equals Normalized (Geom2d)
-matcher.EqualsTopologicalGeomMatcher = Equals Topological
-matcher.EqualsWithCoordinateToleranceMatcher = Equals With Coordinate Tolerance
-
-matcher.IsWithinMatcher = IsWithin
-matcher.OverlapsMatcher = Overlaps
-matcher.OverlappedByMatcher = OverlappedBy
-matcher.IntersectsMatcher = Intersects
-matcher.Intersects0DMatcher = Intersects (0D intersetion)
-matcher.Intersects1DMatcher = Intersects (1D intersection)
-matcher.Intersects2DMatcher = Intersects (2D intersection)
-
-matcher.CentroidDistanceMatcher = Centroid Distance
-matcher.MinimumDistanceMatcher = Minimum Distance
-matcher.HausdorffDistanceMatcher = Hausdorff Distance
-matcher.SemiHausdorffDistanceMatcher = Semi-Hausdorff Distance
-matcher.ShapeMatcher = Shape Matcher
-
-matcher.MatchAllAttributesMatcher = Match All Attributes
-matcher.MatchAllStringsMatcher = Match All Strings
-matcher.StringEqualityMatcher = String Equality
-matcher.StringEqualityIgnoreCaseMatcher = String Equality (Ignore Case)
-matcher.StringEqualityIgnoreCaseAndAccentMatcher = String Equality (Ignore 
Case And Accents)
-matcher.LevenshteinDistanceMatcher = Levenshtein Distance
-matcher.DamarauLevenshteinDistanceMatcher = Damarau-Levenshtein Distance
-
 Attribute-options = Attribute Options
 Use-attributes = Use an Attribute for Matching (String)
 Source-layer-attribute = Matching Layer Attribute
@@ -81,24 +81,26 @@
 Transfer-best-match-only = Transfer best match only
 String-aggregation = String aggregation
 Integer-aggregation = Integer aggregation
+Long-aggregation = Long aggregation
 Double-aggregation = Double aggregation
 Date-aggregation = Date aggregation
+Boolean-aggregation = Boolean aggregation
 
-aggregator.Count = Count
-aggregator.Sum-integer = Sum
-aggregator.Sum-double = Sum
-aggregator.Mean-integer = Mean
-aggregator.Mean-double = Mean
-aggregator.Mean-date = Mean
-aggregator.Max-integer = Maximum
-aggregator.Max-double = Maximum
-aggregator.Max-date = Maximum
-aggregator.Min-integer = Minimum
-aggregator.Min-double = Minimum
-aggregator.Min-date = Minimum
-aggregator.Concatenate = Concatenate
-aggregator.Concatenate-unique = Concatenate (unique)
-aggregator.Most-frequent = Most frequent
+# aggregator.Count = Count
+# aggregator.Sum-integer = Sum
+# aggregator.Sum-double = Sum
+# aggregator.Mean-integer = Mean
+# aggregator.Mean-double = Mean
+# aggregator.Mean-date = Mean
+# aggregator.Max-integer = Maximum
+# aggregator.Max-double = Maximum
+# aggregator.Max-date = Maximum
+# aggregator.Min-integer = Minimum
+# aggregator.Min-double = Minimum
+# aggregator.Min-date = Minimum
+# aggregator.Concatenate = Concatenate
+# aggregator.Concatenate-unique = Concatenate (unique)
+# aggregator.Most-frequent = Most frequent
 
 Searching-matches = Searching matches
 Missing-input-layer = Missing input layer !

Modified: 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching_fr.properties
===================================================================
--- 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching_fr.properties
      2018-06-17 13:13:29 UTC (rev 5879)
+++ 
plug-ins/MatchingPlugIn/trunk/src/fr/michaelm/jump/plugin/match/matching_fr.properties
      2018-06-17 13:37:50 UTC (rev 5880)
@@ -34,38 +34,38 @@
 un-matched = non-appari\u00E9s
 Links = Liens
 
-Geometric-matcher = Appariement g\u00E9om\u00E9trique
-matcher.MatchAllMatcher = Tout apparier
+# Geometric-matcher = Appariement g\u00E9om\u00E9trique
+# matcher.MatchAllMatcher = Tout apparier
+#
+# matcher.EqualsExactGeom3dMatcher = \u00C9galit\u00E9 3D (stricte)
+# matcher.EqualsNormalizedGeom3dMatcher = \u00C9galit\u00E9 3D (geom 
normalis\u00E9es)
+# matcher.EqualsExactGeom2dMatcher = \u00C9galit\u00E9 2D (stricte)
+# matcher.EqualsNormalizedGeom2dMatcher = \u00C9galit\u00E9 2D (geom 
normalis\u00E9es)
+# matcher.EqualsTopologicalGeomMatcher = \u00C9galit\u00E9 topologique
+# matcher.EqualsWithCoordinateToleranceMatcher = Egalit\u00E9 
(coordonn\u00E9es flottantes)
+#
+# matcher.IsWithinMatcher = Contenu dans l'objet cible
+# matcher.OverlapsMatcher = Recouvre (> xx% de la cible)
+# matcher.OverlappedByMatcher = Est recouvert (>xx% de la source)
+# matcher.IntersectsMatcher = Intersecte l'objet cible
+# matcher.Intersects0DMatcher = Intersection ponctuelle
+# matcher.Intersects1DMatcher = Intersection lin\xE9aire
+# matcher.Intersects2DMatcher = Intersection surfacique
+#
+# matcher.CentroidDistanceMatcher = Distance entre centro\u00EFdes 
inf\u00E9rieure \u00E0
+# matcher.MinimumDistanceMatcher = Distance entre objets inf\u00E9rieure \u00E0
+# matcher.HausdorffDistanceMatcher = Distance de Hausdorff inf\u00E9rieure 
\u00E0
+# matcher.SemiHausdorffDistanceMatcher = Semi-Distance de Hausdorff 
inf\u00E9rieure \u00E0
+# matcher.ShapeMatcher = Formes similaires
+#
+# matcher.MatchAllAttributesMatcher = Apparie avec tout
+# matcher.MatchAllStringsMatcher = Apparie avec tout
+# matcher.StringEqualityMatcher = \u00C9galit\u00E9 stricte
+# matcher.StringEqualityIgnoreCaseMatcher = \u00C9galit\u00E9 insensible 
\u00E0 la casse
+# matcher.StringEqualityIgnoreCaseAndAccentMatcher = \u00C9galit\u00E9 
insensible \u00E0 la casse et aux accents
+# matcher.LevenshteinDistanceMatcher = Distance de Levenshtein
+# matcher.DamarauLevenshteinDistanceMatcher = Distance de Damarau-Levenshtein
 
-matcher.EqualsExactGeom3dMatcher = \u00C9galit\u00E9 3D (stricte)
-matcher.EqualsNormalizedGeom3dMatcher = \u00C9galit\u00E9 3D (geom 
normalis\u00E9es)
-matcher.EqualsExactGeom2dMatcher = \u00C9galit\u00E9 2D (stricte)
-matcher.EqualsNormalizedGeom2dMatcher = \u00C9galit\u00E9 2D (geom 
normalis\u00E9es)
-matcher.EqualsTopologicalGeomMatcher = \u00C9galit\u00E9 topologique
-matcher.EqualsWithCoordinateToleranceMatcher = Egalit\u00E9 (coordonn\u00E9es 
flottantes)
-
-matcher.IsWithinMatcher = Contenu dans l'objet cible
-matcher.OverlapsMatcher = Recouvre (> xx% de la cible)
-matcher.OverlappedByMatcher = Est recouvert (>xx% de la source)
-matcher.IntersectsMatcher = Intersecte l'objet cible
-matcher.Intersects0DMatcher = Intersection ponctuelle
-matcher.Intersects1DMatcher = Intersection lin\xE9aire
-matcher.Intersects2DMatcher = Intersection surfacique
-
-matcher.CentroidDistanceMatcher = Distance entre centro\u00EFdes 
inf\u00E9rieure \u00E0
-matcher.MinimumDistanceMatcher = Distance entre objets inf\u00E9rieure \u00E0
-matcher.HausdorffDistanceMatcher = Distance de Hausdorff inf\u00E9rieure \u00E0
-matcher.SemiHausdorffDistanceMatcher = Semi-Distance de Hausdorff 
inf\u00E9rieure \u00E0
-matcher.ShapeMatcher = Formes similaires
-
-matcher.MatchAllAttributesMatcher = Apparie avec tout
-matcher.MatchAllStringsMatcher = Apparie avec tout
-matcher.StringEqualityMatcher = \u00C9galit\u00E9 stricte
-matcher.StringEqualityIgnoreCaseMatcher = \u00C9galit\u00E9 insensible \u00E0 
la casse
-matcher.StringEqualityIgnoreCaseAndAccentMatcher = \u00C9galit\u00E9 
insensible \u00E0 la casse et aux accents
-matcher.LevenshteinDistanceMatcher = Distance de Levenshtein
-matcher.DamarauLevenshteinDistanceMatcher = Distance de Damarau-Levenshtein
-
 Attribute-options = Options attributaires
 Use-attributes = Utiliser un attribut pour apparier (texte)
 Source-layer-attribute = Attribut de la couche \u00E0 apparier (source)
@@ -81,24 +81,25 @@
 Transfer-best-match-only = Transf\u00E9rer uniquement le meilleur appariement
 String-aggregation = Agr\u00E9gation de texte
 Integer-aggregation = Agr\u00E9gation d'entiers
+Long-aggregation = Agr\u00E9gation d'entiers longs
 Double-aggregation = Agr\u00E9gation de doubles
-Date-aggregation = Agr\u00E9gation de dates
+Boolean-aggregation = Agr\u00E9gation de bool\u00E9ens
 
-aggregator.Count = Compte
-aggregator.Sum-integer = Somme
-aggregator.Sum-double = Somme
-aggregator.Mean-integer = Moyenne
-aggregator.Mean-double = Moyenne
-aggregator.Mean-date = Moyenne
-aggregator.Max-integer = Maximum
-aggregator.Max-double = Maximum
-aggregator.Max-date = Maximum
-aggregator.Min-integer = Minimum
-aggregator.Min-double = Minimum
-aggregator.Min-date = Minimum
-aggregator.Concatenate = Concat\u00E9nation
-aggregator.Concatenate-unique = Concat\u00E9nation (unique)
-aggregator.Most-frequent = Le plus fr\u00E9quent
+# aggregator.Count = Compte
+# aggregator.Sum-integer = Somme
+# aggregator.Sum-double = Somme
+# aggregator.Mean-integer = Moyenne
+# aggregator.Mean-double = Moyenne
+# aggregator.Mean-date = Moyenne
+# aggregator.Max-integer = Maximum
+# aggregator.Max-double = Maximum
+# aggregator.Max-date = Maximum
+# aggregator.Min-integer = Minimum
+# aggregator.Min-double = Minimum
+# aggregator.Min-date = Minimum
+# aggregator.Concatenate = Concat\u00E9nation
+# aggregator.Concatenate-unique = Concat\u00E9nation (unique)
+# aggregator.Most-frequent = Le plus fr\u00E9quent
 
 Searching-matches = Recherche d'objets homologues en cours
 Missing-input-layer = Couche en entr\u00E9e absente !


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to