]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.datatypes.ontology/src/org/simantics/datatypes/SIGenerator.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.datatypes.ontology / src / org / simantics / datatypes / SIGenerator.java
index eb31b0ca0b12cd89939e3b00f146e416bf54ff22..6d2d44cd217f6f94c95741257d80899c6b475b9a 100644 (file)
-package org.simantics.datatypes;\r
-\r
-import java.io.File;\r
-import java.io.PrintStream;\r
-import java.io.UnsupportedEncodingException;\r
-import java.net.MalformedURLException;\r
-import java.net.URL;\r
-import java.net.URLDecoder;\r
-import java.util.ArrayList;\r
-\r
-public class SIGenerator {\r
-\r
-       public static class Unit {\r
-               \r
-               public String name;\r
-               public String shorthand;\r
-               \r
-               public Unit(String name, String shorthand) {\r
-                       this.name = name;\r
-                       this.shorthand = shorthand;\r
-               }\r
-               \r
-               public Unit withPrefix(String namePrefix, String shorthandPrefix) {\r
-                       return new Unit(namePrefix+name, shorthandPrefix+shorthand);\r
-               }\r
-               \r
-       }\r
-       \r
-       public static final Unit[] baseUnits = {\r
-               new Unit("Metre", "m"),\r
-               // Easier this way..\r
-               new Unit("gram", "g"),\r
-               new Unit("Second", "s"),\r
-               new Unit("Ampere", "A"),\r
-               new Unit("Kelvin", "K"),\r
-               new Unit("Candela", "cd"),\r
-               new Unit("Mole", "mol"),\r
-       };\r
-       \r
-       public static final Unit[] baseUnitsPrefixed = prefix(baseUnits);\r
-       \r
-       public static final Unit[] derivedUnits = {\r
-               new Unit("Hertz", "hz"),\r
-               new Unit("Radian", "rad"),\r
-               new Unit("Steradian", "sr"),\r
-               new Unit("Newton", "N"),\r
-               new Unit("Pascal", "Pa"),\r
-               new Unit("Joule", "J"),\r
-               new Unit("Watt", "W"),\r
-               new Unit("Coulomb", "C"),\r
-               new Unit("Volt", "V"),\r
-               new Unit("Farad", "F"),\r
-               new Unit("Ohm", "ohm"),\r
-               new Unit("Siemens", "S"),\r
-               new Unit("Weber", "Wb"),\r
-               new Unit("Tesla", "T"),\r
-               new Unit("Henry", "H"),\r
-               new Unit("Celsius", "C"),\r
-               new Unit("Lumen", "lm"),\r
-               new Unit("Lux", "lx"),\r
-               new Unit("Becquerel", "Bq"),\r
-               new Unit("Gray", "Gy"),\r
-               new Unit("Sievert", "Sv"),\r
-               new Unit("Katal", "kat")\r
-       };\r
-\r
-       public static final Unit[] derivedUnitsPrefixed = prefix(derivedUnits);\r
-\r
-       public static final Unit[] scalableCompoundUnits = {\r
-               new Unit("gramPerSecond", "g/s"),\r
-               new Unit("gramPerLitre", "g/l"),\r
-               new Unit("gramPerCubicMetre", "g/m3"),\r
-               new Unit("NewtonPerMetre", "N/m"),\r
-               new Unit("JoulePerKilogram", "J/kg"),\r
-               new Unit("MetrePerSecond", "m/s"),\r
-               new Unit("MolePerLitre", "mol/l"),\r
-               new Unit("MolePerKilogram", "mol/kg"),\r
-       };\r
-\r
-       public static final Unit[] scalableCompoundUnitsPrefixed = prefix(scalableCompoundUnits);\r
-\r
-       public static final Unit[] compoundUnits = {\r
-               new Unit("SquareMetre", "m2"),\r
-               new Unit("CubicMetre", "m3"),\r
-       };\r
-\r
-       public static final Unit[] specials = {\r
-               new Unit("MassPercentage", "w-%"),\r
-               new Unit("Percentage", "%"),\r
-               new Unit("Degree", "deg"),\r
-               new Unit("Minute", "min"),\r
-               new Unit("Hour", "h"),\r
-               new Unit("Litre", "l"),\r
-       };\r
-       \r
-       static Unit[] prefix(Unit[] units) {\r
-               ArrayList<Unit> result = new ArrayList<Unit>();\r
-               for(Unit unit : units) {\r
-                       result.add(unit.withPrefix("Tera", "T"));\r
-                       result.add(unit.withPrefix("Giga", "G"));\r
-                       result.add(unit.withPrefix("Mega", "M"));\r
-                       result.add(unit.withPrefix("Kilo", "k"));\r
-                       result.add(unit.withPrefix("Hecto", "h"));\r
-                       result.add(unit.withPrefix("", ""));\r
-                       result.add(unit.withPrefix("Centi", "c"));\r
-                       result.add(unit.withPrefix("Milli", "m"));\r
-                       result.add(unit.withPrefix("Micro", "u"));\r
-               }\r
-               return result.toArray(new Unit[result.size()]);\r
-       }\r
-       \r
-       static void print(PrintStream out, Unit unit) {\r
-               out.println("SI." + unit.name + " <T SI.Unit");\r
-               out.println("SI." + unit.name + ".Double <T L0.Double");\r
-               out.println("  @L0.assert L0.HasDataType $Double(unit=\"" + unit.shorthand + "\")");\r
-               out.println("SI." + unit.name + ".Float <T L0.Float");\r
-               out.println("  @L0.assert L0.HasDataType $Float(unit=\"" + unit.shorthand + "\")");\r
-               out.println("");\r
-       }\r
-       \r
-       static void create(File path) {\r
-               \r
-               try {\r
-\r
-                       PrintStream out = new PrintStream(path + "/graph/SI.pgraph");\r
-                       out.println("L0 = <http://www.simantics.org/Layer0-1.1>");\r
-                       out.println("DATA = <http://www.simantics.org/Datatypes-1.1>");\r
-                       out.println("SI = DATA.SI : L0.Library");\r
-                       out.println("    L0.HasResourceClass \"org.simantics.datatypes.SIResource\"");\r
-                       out.println("");\r
-                       out.println("SI.Unit <T L0.Entity");\r
-                       out.println("");\r
-                       out.println("// SI base units");\r
-                       out.println("");\r
-                       \r
-                       for(Unit unit : baseUnitsPrefixed) {\r
-                               print(out, unit);\r
-                       }\r
-\r
-                       out.println("// SI derived units");\r
-                       out.println("");\r
-\r
-                       for(Unit unit : derivedUnitsPrefixed) {\r
-                               print(out, unit);\r
-                       }\r
-\r
-                       out.println("// SI scalable compound units");\r
-                       out.println("");\r
-\r
-                       for(Unit unit : scalableCompoundUnitsPrefixed) {\r
-                               print(out, unit);\r
-                       }\r
-                       \r
-                       out.println("// SI compound units");\r
-                       out.println("");\r
-\r
-                       for(Unit unit : compoundUnits) {\r
-                               print(out, unit);\r
-                       }\r
-\r
-                       out.println("// Special units");\r
-                       out.println("");\r
-\r
-                       for(Unit unit : specials) {\r
-                               print(out, unit);\r
-                       }\r
-                       \r
-               } catch (Exception e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       public static void main(String[] args) {\r
-               \r
-        URL classLocation = SIGenerator.class.getResource(".");\r
-        if (classLocation != null) {\r
-            if (classLocation.getProtocol().equals("file")) {\r
-                try {\r
-                    URL resource = new URL(classLocation, "../../../..");\r
-                    File path = new File(URLDecoder.decode(resource.getPath(), "UTF-8"));\r
-                    System.err.println("path=" + path.getAbsolutePath());\r
-                    create(path);\r
-                } catch (MalformedURLException e) {\r
-                    e.printStackTrace();\r
-                } catch (UnsupportedEncodingException e) {\r
-                    e.printStackTrace();\r
-                }\r
-            }\r
-        }\r
-               \r
-       }\r
-       \r
-}\r
+package org.simantics.datatypes;
+
+import java.io.File;
+import java.io.PrintStream;
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+
+public class SIGenerator {
+
+       public static class Unit {
+               
+               public String name;
+               public String shorthand;
+               
+               public Unit(String name, String shorthand) {
+                       this.name = name;
+                       this.shorthand = shorthand;
+               }
+               
+               public Unit withPrefix(String namePrefix, String shorthandPrefix) {
+                       return new Unit(namePrefix+name, shorthandPrefix+shorthand);
+               }
+               
+       }
+       
+       public static final Unit[] baseUnits = {
+               new Unit("Metre", "m"),
+               // Easier this way..
+               new Unit("gram", "g"),
+               new Unit("Second", "s"),
+               new Unit("Ampere", "A"),
+               new Unit("Kelvin", "K"),
+               new Unit("Candela", "cd"),
+               new Unit("Mole", "mol"),
+       };
+       
+       public static final Unit[] baseUnitsPrefixed = prefix(baseUnits);
+       
+       public static final Unit[] derivedUnits = {
+               new Unit("Hertz", "hz"),
+               new Unit("Radian", "rad"),
+               new Unit("Steradian", "sr"),
+               new Unit("Newton", "N"),
+               new Unit("Pascal", "Pa"),
+               new Unit("Joule", "J"),
+               new Unit("Watt", "W"),
+               new Unit("Coulomb", "C"),
+               new Unit("Volt", "V"),
+               new Unit("Farad", "F"),
+               new Unit("Ohm", "ohm"),
+               new Unit("Siemens", "S"),
+               new Unit("Weber", "Wb"),
+               new Unit("Tesla", "T"),
+               new Unit("Henry", "H"),
+               new Unit("Celsius", "C"),
+               new Unit("Lumen", "lm"),
+               new Unit("Lux", "lx"),
+               new Unit("Becquerel", "Bq"),
+               new Unit("Gray", "Gy"),
+               new Unit("Sievert", "Sv"),
+               new Unit("Katal", "kat")
+       };
+
+       public static final Unit[] derivedUnitsPrefixed = prefix(derivedUnits);
+
+       public static final Unit[] scalableCompoundUnits = {
+               new Unit("gramPerSecond", "g/s"),
+               new Unit("gramPerLitre", "g/l"),
+               new Unit("gramPerCubicMetre", "g/m3"),
+               new Unit("NewtonPerMetre", "N/m"),
+               new Unit("JoulePerKilogram", "J/kg"),
+               new Unit("MetrePerSecond", "m/s"),
+               new Unit("MolePerLitre", "mol/l"),
+               new Unit("MolePerKilogram", "mol/kg"),
+       };
+
+       public static final Unit[] scalableCompoundUnitsPrefixed = prefix(scalableCompoundUnits);
+
+       public static final Unit[] compoundUnits = {
+               new Unit("SquareMetre", "m2"),
+               new Unit("CubicMetre", "m3"),
+       };
+
+       public static final Unit[] specials = {
+               new Unit("MassPercentage", "w-%"),
+               new Unit("Percentage", "%"),
+               new Unit("Degree", "deg"),
+               new Unit("Minute", "min"),
+               new Unit("Hour", "h"),
+               new Unit("Litre", "l"),
+       };
+       
+       static Unit[] prefix(Unit[] units) {
+               ArrayList<Unit> result = new ArrayList<Unit>();
+               for(Unit unit : units) {
+                       result.add(unit.withPrefix("Tera", "T"));
+                       result.add(unit.withPrefix("Giga", "G"));
+                       result.add(unit.withPrefix("Mega", "M"));
+                       result.add(unit.withPrefix("Kilo", "k"));
+                       result.add(unit.withPrefix("Hecto", "h"));
+                       result.add(unit.withPrefix("", ""));
+                       result.add(unit.withPrefix("Centi", "c"));
+                       result.add(unit.withPrefix("Milli", "m"));
+                       result.add(unit.withPrefix("Micro", "u"));
+               }
+               return result.toArray(new Unit[result.size()]);
+       }
+       
+       static void print(PrintStream out, Unit unit) {
+               out.println("SI." + unit.name + " <T SI.Unit");
+               out.println("SI." + unit.name + ".Double <T L0.Double");
+               out.println("  @L0.assert L0.HasDataType $Double(unit=\"" + unit.shorthand + "\")");
+               out.println("SI." + unit.name + ".Float <T L0.Float");
+               out.println("  @L0.assert L0.HasDataType $Float(unit=\"" + unit.shorthand + "\")");
+               out.println("");
+       }
+       
+       static void create(File path) {
+               
+               try {
+
+                       PrintStream out = new PrintStream(path + "/graph/SI.pgraph");
+                       out.println("L0 = <http://www.simantics.org/Layer0-1.1>");
+                       out.println("DATA = <http://www.simantics.org/Datatypes-1.1>");
+                       out.println("SI = DATA.SI : L0.Library");
+                       out.println("    L0.HasResourceClass \"org.simantics.datatypes.SIResource\"");
+                       out.println("");
+                       out.println("SI.Unit <T L0.Entity");
+                       out.println("");
+                       out.println("// SI base units");
+                       out.println("");
+                       
+                       for(Unit unit : baseUnitsPrefixed) {
+                               print(out, unit);
+                       }
+
+                       out.println("// SI derived units");
+                       out.println("");
+
+                       for(Unit unit : derivedUnitsPrefixed) {
+                               print(out, unit);
+                       }
+
+                       out.println("// SI scalable compound units");
+                       out.println("");
+
+                       for(Unit unit : scalableCompoundUnitsPrefixed) {
+                               print(out, unit);
+                       }
+                       
+                       out.println("// SI compound units");
+                       out.println("");
+
+                       for(Unit unit : compoundUnits) {
+                               print(out, unit);
+                       }
+
+                       out.println("// Special units");
+                       out.println("");
+
+                       for(Unit unit : specials) {
+                               print(out, unit);
+                       }
+                       
+               } catch (Exception e) {
+                       
+               }
+               
+       }
+       
+       public static void main(String[] args) {
+               
+        URL classLocation = SIGenerator.class.getResource(".");
+        if (classLocation != null) {
+            if (classLocation.getProtocol().equals("file")) {
+                try {
+                    URL resource = new URL(classLocation, "../../../..");
+                    File path = new File(URLDecoder.decode(resource.getPath(), "UTF-8"));
+                    System.err.println("path=" + path.getAbsolutePath());
+                    create(path);
+                } catch (MalformedURLException e) {
+                    e.printStackTrace();
+                } catch (UnsupportedEncodingException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+               
+       }
+       
+}