]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 import "Simantics/Entity" hiding (nameOf)\r
2 include "File"\r
3 import "StandardLibrary" hiding (group)\r
4 \r
5 /*\r
6 importJava "java.io.File" where\r
7     data File\r
8     \r
9     @JavaName "<init>"\r
10     file :: String -> File\r
11     \r
12 */\r
13 \r
14 importJava "java.util.Scanner" where\r
15     data Scanner\r
16     \r
17     @JavaName "<init>"\r
18     scanner :: File -> <Proc> Scanner\r
19     \r
20     @JavaName "hasNext"\r
21     hasNext :: Scanner -> Boolean\r
22     \r
23     @JavaName "nextLine"\r
24     nextLine :: Scanner -> String\r
25     \r
26     @JavaName "next"\r
27     scanNext :: Scanner -> String\r
28     \r
29     @JavaName "nextLine"\r
30     scanNextLine :: Scanner -> String\r
31 \r
32 importJava "java.util.regex.Pattern" where\r
33     data Pattern\r
34     \r
35     @JavaName "compile"\r
36     compile :: String -> <Proc> Pattern\r
37     \r
38     @JavaName "matcher"\r
39     matcher :: Pattern -> String -> Matcher\r
40 \r
41 importJava "java.util.regex.Matcher" where\r
42     data Matcher\r
43     \r
44     @JavaName "matches"\r
45     matches :: Matcher -> Boolean\r
46     \r
47     group :: Matcher -> String\r
48 \r
49 importJava "org.simantics.utils.ui.BundleUtils" where\r
50     @JavaName "findFile"\r
51     bundleFile :: String -> String -> File\r
52 \r
53 importJava "org.simantics.modeling.SCL" where\r
54 \r
55     killPlatformWrite :: () -> <WriteGraph> ()\r
56     killPlatformRead :: () -> <ReadGraph> ()\r
57     killPlatform :: () -> ()\r
58     shutdownPlatform :: () -> ()\r
59     reconnectPlatform :: () -> ()\r
60     sleep :: Integer -> <Proc> ()\r
61     synchronizeOntologies :: () -> <Proc> ()\r
62     \r
63     syncGraph :: () -> <Proc> ()\r
64     \r
65     deleteMBNode :: [Resource] -> Boolean\r
66     \r
67     hasSomethingToPaste :: Resource -> <ReadGraph> Boolean\r
68     canDelete :: Resource -> <ReadGraph> Boolean\r
69     canRename :: Resource -> <ReadGraph> Boolean\r
70     \r
71     currentDate :: String -> String\r
72 \r
73     workspaceDirectory :: () -> File\r
74     \r
75     queryPreference :: String -> String -> <ReadGraph> String\r
76 \r
77 importJava "java.lang.Math" where\r
78     @JavaName random\r
79     javaRandom :: () -> Double\r
80     \r
81 loop :: Scanner -> String -> Pattern -> [String] -> <Proc> [String]    \r
82 loop testScan testName testPattern testList = do\r
83     if (hasNext testScan) == True\r
84     then do\r
85         testName = nextLine testScan\r
86         show "asd"\r
87         testMatcher = matcher testPattern testName\r
88         if (matches testMatcher) == True\r
89         then loop testScan testName testPattern (testList + [(scanNext testScan)])\r
90         else loop testScan testName testPattern testList\r
91     else testList\r
92     \r
93 loop1 :: Scanner -> [String] -> <Proc> [String]\r
94 loop1 testScan testList = do\r
95     if (hasNext testScan) == True\r
96     then do\r
97         newList = testList + [trim (scanNextLine testScan)]\r
98         loop1 testScan newList\r
99     else testList\r
100 \r
101 loop2 :: Scanner -> [String] -> Boolean -> <Proc> [String]\r
102 loop2 testScan testList found = do\r
103     if hasNext testScan\r
104     then do\r
105         nextline = (scanNextLine testScan)\r
106         if found\r
107         then do\r
108             nextString1 = replaceString nextline "M7: " ""\r
109             newList = testList + [replaceString nextString1 "_CM1" ""]\r
110             found = (contains nextline "omposition ")\r
111             loop2 testScan newList found\r
112         else do\r
113             found = (contains nextline "omposition ")\r
114             loop2 testScan testList found\r
115     else testList\r
116     \r
117 loop3 ::  Scanner -> [String] -> <Proc> [String]\r
118 loop3 testScan testList = do\r
119     if hasNext testScan\r
120     then do\r
121         nextString = scanNext testScan\r
122         found = (contains nextString "_NO1")\r
123         if found\r
124         then do\r
125             nextString1 = (replaceString nextString "M6: " "")\r
126             newList = testList + [replaceString nextString1 "_NO1" ""]\r
127             loop3 testScan newList\r
128         else do\r
129             loop3 testScan testList\r
130     else testList\r
131     \r
132 loop4 ::  Scanner -> [String] -> Boolean -> <Proc> [String]\r
133 loop4 testScan testList found = do\r
134     if (hasNext testScan) == True\r
135     then do\r
136         nextString = (scanNext testScan)\r
137         newList = testList + [nextString]\r
138         loop4 testScan newList found\r
139     else testList\r
140 \r
141 importJava "java.lang.System" where\r
142     @JavaName "getProperty"\r
143     getSystemProperty :: String -> String\r
144     \r
145 importJava "org.simantics.modeling.LifeCycleContext" where\r
146     data LifeCycleContext\r
147 \r
148 importJava "org.simantics.modeling.ModelingUtils" where\r
149     trackDependencies :: <Proc> ()\r
150     untrackDependencies :: <Proc> ()\r
151     \r
152