]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/src/org/simantics/databoard/units/ConverterCreator.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / units / ConverterCreator.java
index 12748f9e2e6c641903b0eb334aebf3ae319772d9..931d943ca350b28025a73cefb02b050047763a7b 100644 (file)
@@ -1,78 +1,78 @@
-/*******************************************************************************\r
- *  Copyright (c) 2010 Association for Decentralized Information Management in\r
- *  Industry THTH ry.\r
- *  All rights reserved. This program and the accompanying materials\r
- *  are made available under the terms of the Eclipse Public License v1.0\r
- *  which accompanies this distribution, and is available at\r
- *  http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- *  Contributors:\r
- *      VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.databoard.units;\r
-\r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-import gnu.trove.procedure.TObjectIntProcedure;\r
-\r
-import org.simantics.databoard.units.internal.library.UnitConversion;\r
-import org.simantics.databoard.units.internal.library.UnitLibrary;\r
-import org.simantics.databoard.units.internal.parser.UnitParser;\r
-\r
-public class ConverterCreator extends UnitParser implements TObjectIntProcedure<String> {\r
-       \r
-       UnitLibrary library;\r
-       TObjectIntHashMap<String> exponents = new TObjectIntHashMap<String>();\r
-       double scale = 1.0;\r
-       int magnitude = 0;\r
-       \r
-       public ConverterCreator(UnitLibrary library) {\r
-               this.library = library;\r
-       }\r
-       \r
-       @Override\r
-       public void visit(String baseUnit, int exponent) {\r
-               if(exponents.adjustOrPutValue(baseUnit, exponent, exponent)==0)\r
-                       exponents.remove(baseUnit);\r
-       }\r
-       \r
-       public IUnitConverter createConverter() {\r
-               if(exponents.isEmpty())\r
-                       return IdentityConverter.INSTANCE;\r
-               TObjectIntHashMap<String> oldExponents = exponents;\r
-               exponents = new TObjectIntHashMap<String>();\r
-               oldExponents.forEachEntry(this);\r
-               if(exponents.isEmpty()) {\r
-                       if(magnitude == 0 && scale == 1.0)\r
-                               return IdentityConverter.INSTANCE;\r
-                       else\r
-                               return new LinearConverter(scale * Math.pow(10.0, magnitude));\r
-               }\r
-               else {\r
-//                     for(String u : exponents.keys(new String[exponents.size()]))\r
-//                             System.out.println(u + exponents.get(u));\r
-                       return null;\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean execute(String unit, int exponent) {\r
-               UnitConversion conversion = library.getConversion(unit);\r
-               if(conversion == null) {\r
-                       if(exponents.adjustOrPutValue(unit, exponent, exponent)==0)\r
-                               exponents.remove(unit);\r
-               }\r
-               else {\r
-                       if(conversion.scale != 1.0)\r
-                               scale *= Math.pow(conversion.scale, exponent);\r
-                       magnitude += conversion.magnitude * exponent;\r
-                       for(int i=0;i<conversion.baseUnits.length;++i) {\r
-                               String u = conversion.baseUnits[i];\r
-                               int exp = conversion.exponents[i] * exponent;\r
-                               if(exponents.adjustOrPutValue(u, exp, exp)==0)\r
-                                       exponents.remove(u);\r
-                       }\r
-               }\r
-               return true;\r
-       }\r
-       \r
-}\r
+/*******************************************************************************
+ *  Copyright (c) 2010 Association for Decentralized Information Management in
+ *  Industry THTH ry.
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License v1.0
+ *  which accompanies this distribution, and is available at
+ *  http://www.eclipse.org/legal/epl-v10.html
+ *
+ *  Contributors:
+ *      VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.databoard.units;
+
+import gnu.trove.map.hash.TObjectIntHashMap;
+import gnu.trove.procedure.TObjectIntProcedure;
+
+import org.simantics.databoard.units.internal.library.UnitConversion;
+import org.simantics.databoard.units.internal.library.UnitLibrary;
+import org.simantics.databoard.units.internal.parser.UnitParser;
+
+public class ConverterCreator extends UnitParser implements TObjectIntProcedure<String> {
+       
+       UnitLibrary library;
+       TObjectIntHashMap<String> exponents = new TObjectIntHashMap<String>();
+       double scale = 1.0;
+       int magnitude = 0;
+       
+       public ConverterCreator(UnitLibrary library) {
+               this.library = library;
+       }
+       
+       @Override
+       public void visit(String baseUnit, int exponent) {
+               if(exponents.adjustOrPutValue(baseUnit, exponent, exponent)==0)
+                       exponents.remove(baseUnit);
+       }
+       
+       public IUnitConverter createConverter() {
+               if(exponents.isEmpty())
+                       return IdentityConverter.INSTANCE;
+               TObjectIntHashMap<String> oldExponents = exponents;
+               exponents = new TObjectIntHashMap<String>();
+               oldExponents.forEachEntry(this);
+               if(exponents.isEmpty()) {
+                       if(magnitude == 0 && scale == 1.0)
+                               return IdentityConverter.INSTANCE;
+                       else
+                               return new LinearConverter(scale * Math.pow(10.0, magnitude));
+               }
+               else {
+//                     for(String u : exponents.keys(new String[exponents.size()]))
+//                             System.out.println(u + exponents.get(u));
+                       return null;
+               }
+       }
+
+       @Override
+       public boolean execute(String unit, int exponent) {
+               UnitConversion conversion = library.getConversion(unit);
+               if(conversion == null) {
+                       if(exponents.adjustOrPutValue(unit, exponent, exponent)==0)
+                               exponents.remove(unit);
+               }
+               else {
+                       if(conversion.scale != 1.0)
+                               scale *= Math.pow(conversion.scale, exponent);
+                       magnitude += conversion.magnitude * exponent;
+                       for(int i=0;i<conversion.baseUnits.length;++i) {
+                               String u = conversion.baseUnits[i];
+                               int exp = conversion.exponents[i] * exponent;
+                               if(exponents.adjustOrPutValue(u, exp, exp)==0)
+                                       exponents.remove(u);
+                       }
+               }
+               return true;
+       }
+       
+}