]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Misc.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Misc.scl
diff --git a/bundles/org.simantics.modeling/scl/Simantics/Misc.scl b/bundles/org.simantics.modeling/scl/Simantics/Misc.scl
new file mode 100644 (file)
index 0000000..081c0e8
--- /dev/null
@@ -0,0 +1,152 @@
+import "Simantics/Entity" hiding (nameOf)\r
+include "File"\r
+import "StandardLibrary" hiding (group)\r
+\r
+/*\r
+importJava "java.io.File" where\r
+    data File\r
+    \r
+    @JavaName "<init>"\r
+    file :: String -> File\r
+    \r
+*/\r
+\r
+importJava "java.util.Scanner" where\r
+    data Scanner\r
+    \r
+    @JavaName "<init>"\r
+    scanner :: File -> <Proc> Scanner\r
+    \r
+    @JavaName "hasNext"\r
+    hasNext :: Scanner -> Boolean\r
+    \r
+    @JavaName "nextLine"\r
+    nextLine :: Scanner -> String\r
+    \r
+    @JavaName "next"\r
+    scanNext :: Scanner -> String\r
+    \r
+    @JavaName "nextLine"\r
+    scanNextLine :: Scanner -> String\r
+\r
+importJava "java.util.regex.Pattern" where\r
+    data Pattern\r
+    \r
+    @JavaName "compile"\r
+    compile :: String -> <Proc> Pattern\r
+    \r
+    @JavaName "matcher"\r
+    matcher :: Pattern -> String -> Matcher\r
+\r
+importJava "java.util.regex.Matcher" where\r
+    data Matcher\r
+    \r
+    @JavaName "matches"\r
+    matches :: Matcher -> Boolean\r
+    \r
+    group :: Matcher -> String\r
+\r
+importJava "org.simantics.utils.ui.BundleUtils" where\r
+    @JavaName "findFile"\r
+    bundleFile :: String -> String -> File\r
+\r
+importJava "org.simantics.modeling.SCL" where\r
+\r
+    killPlatformWrite :: () -> <WriteGraph> ()\r
+    killPlatformRead :: () -> <ReadGraph> ()\r
+    killPlatform :: () -> ()\r
+    shutdownPlatform :: () -> ()\r
+    reconnectPlatform :: () -> ()\r
+    sleep :: Integer -> <Proc> ()\r
+    synchronizeOntologies :: () -> <Proc> ()\r
+    \r
+    syncGraph :: () -> <Proc> ()\r
+    \r
+    deleteMBNode :: [Resource] -> Boolean\r
+    \r
+    hasSomethingToPaste :: Resource -> <ReadGraph> Boolean\r
+    canDelete :: Resource -> <ReadGraph> Boolean\r
+    canRename :: Resource -> <ReadGraph> Boolean\r
+    \r
+    currentDate :: String -> String\r
+\r
+    workspaceDirectory :: () -> File\r
+    \r
+    queryPreference :: String -> String -> <ReadGraph> String\r
+\r
+importJava "java.lang.Math" where\r
+    @JavaName random\r
+    javaRandom :: () -> Double\r
+    \r
+loop :: Scanner -> String -> Pattern -> [String] -> <Proc> [String]    \r
+loop testScan testName testPattern testList = do\r
+    if (hasNext testScan) == True\r
+    then do\r
+        testName = nextLine testScan\r
+        show "asd"\r
+        testMatcher = matcher testPattern testName\r
+        if (matches testMatcher) == True\r
+        then loop testScan testName testPattern (testList + [(scanNext testScan)])\r
+        else loop testScan testName testPattern testList\r
+    else testList\r
+    \r
+loop1 :: Scanner -> [String] -> <Proc> [String]\r
+loop1 testScan testList = do\r
+    if (hasNext testScan) == True\r
+    then do\r
+        newList = testList + [trim (scanNextLine testScan)]\r
+        loop1 testScan newList\r
+    else testList\r
+\r
+loop2 :: Scanner -> [String] -> Boolean -> <Proc> [String]\r
+loop2 testScan testList found = do\r
+    if hasNext testScan\r
+    then do\r
+        nextline = (scanNextLine testScan)\r
+        if found\r
+        then do\r
+            nextString1 = replaceString nextline "M7: " ""\r
+            newList = testList + [replaceString nextString1 "_CM1" ""]\r
+            found = (contains nextline "omposition ")\r
+            loop2 testScan newList found\r
+        else do\r
+            found = (contains nextline "omposition ")\r
+            loop2 testScan testList found\r
+    else testList\r
+    \r
+loop3 ::  Scanner -> [String] -> <Proc> [String]\r
+loop3 testScan testList = do\r
+    if hasNext testScan\r
+    then do\r
+        nextString = scanNext testScan\r
+        found = (contains nextString "_NO1")\r
+        if found\r
+        then do\r
+            nextString1 = (replaceString nextString "M6: " "")\r
+            newList = testList + [replaceString nextString1 "_NO1" ""]\r
+            loop3 testScan newList\r
+        else do\r
+            loop3 testScan testList\r
+    else testList\r
+    \r
+loop4 ::  Scanner -> [String] -> Boolean -> <Proc> [String]\r
+loop4 testScan testList found = do\r
+    if (hasNext testScan) == True\r
+    then do\r
+        nextString = (scanNext testScan)\r
+        newList = testList + [nextString]\r
+        loop4 testScan newList found\r
+    else testList\r
+\r
+importJava "java.lang.System" where\r
+    @JavaName "getProperty"\r
+    getSystemProperty :: String -> String\r
+    \r
+importJava "org.simantics.modeling.LifeCycleContext" where\r
+    data LifeCycleContext\r
+\r
+importJava "org.simantics.modeling.ModelingUtils" where\r
+    trackDependencies :: <Proc> ()\r
+    untrackDependencies :: <Proc> ()\r
+    \r
+    
\ No newline at end of file