Skip to content

Commit 33d37f9

Browse files
Adopting code for Caché 2017.1+ (system methods removal)
1 parent 1d06e8f commit 33d37f9

File tree

5 files changed

+54
-54
lines changed

5 files changed

+54
-54
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ Then you can just use one command `import` to deploy the project from source to
9191

9292
After setting `import.bat` up, **just by one command** `import` you get the next:
9393

94-
1. Project is built by gulp;
94+
1. Project is built by Gulp;
9595
2. VisualEditor package is imported into Caché;
9696
3. The XML file containing ready-to-deploy package is exported to `build` directory.

import.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
:: exporting the XML the project. Replace the path below to your Caché installation and build & import application to
33
:: Caché using only one command.
44

5-
:: Latest NodeJS & Caché 2016.1+ IS REQUIRED TO PROCEED
5+
:: Latest NodeJS & Caché 2017.1+ IS REQUIRED TO PROCEED
66
@echo off
77

88
:: CHANGE THIS PATH TO YOUR CACHÉ INSTALLATION PATH ON WINDOWS (folder that contains bin, CSP, mgr and other folders)
99
set CACHE_DIR=C:\Program Files\InterSystems\Ensemble
1010
:: NAMESPACE TO IMPORT PACKAGE TO
11-
set NAMESPACE=SAMPLES
11+
set NAMESPACE=USER
1212

1313
:: Build and import application to Caché
1414
echo Building the project...

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "cache-visual-editor",
33
"printableName": "Cache Visual Editor",
44
"packageName": "VisualEditor",
5-
"version": "0.9.11",
5+
"version": "0.10.0",
66
"gaID": "UA-83005064-4",
77
"description": "Visual class editor for InterSystems Caché",
88
"main": "index.js",
@@ -25,7 +25,7 @@
2525
"gulp-htmlmin": "^1.3.0",
2626
"gulp-preprocess": "^2.0.0",
2727
"gulp-rename": "^1.2.2",
28-
"gulp-sass": "^2.2.0",
28+
"gulp-sass": "^3.1.0",
2929
"gulp-uglify": "^1.5.3",
3030
"rimraf": "^2.5.2",
3131
"vinyl-buffer": "^1.0.0",

source/cache/REST/Editor.cls

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ XData UrlMap
1111
}
1212

1313
/// Saves keywords of class members and a class itself.
14-
ClassMethod SaveKeywords(memberKind As %String, definitionObj, assignObj As %Object) As %String [ Private ]
14+
ClassMethod SaveKeywords(memberKind As %String, definitionObj, assignObj As %DynamicObject) As %String [ Private ]
1515
{
1616
set errors = ""
1717
#define logError(%e) if (%e '= "") { set errors = errors _ %e _ $Char(10) }
1818
set propDefinition =
1919
##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary."_memberKind_"Definition").Properties
2020

21-
set iterator = assignObj.$getIterator()
22-
while (iterator.$getNext(.pName, .data)) {
21+
set iterator = assignObj.%GetIterator()
22+
while (iterator.%GetNext(.pName, .data)) {
2323
if (pName = "$add") { continue }
2424
set propPos = propDefinition.FindObjectId("%Dictionary."_memberKind_"Definition||"_pName)
2525
if (propPos > 0) {
26-
set val = assignObj.$get(pName)
26+
set val = assignObj.%Get(pName)
2727
if ($IsObject(val)) { continue }
2828
if ($$$classIsStream(propDefinition.GetAt(propPos).Type)) {
2929
#dim stream As %Stream.TmpCharacter = $PROPERTY(definitionObj, pName)
@@ -42,7 +42,7 @@ ClassMethod SaveKeywords(memberKind As %String, definitionObj, assignObj As %Obj
4242
}
4343

4444
/// Saves properties of class properties.
45-
ClassMethod SaveClassMember(memberKind As %String, classDef As %Dictionary.ClassDefinition, prps As %Object) As %String [ Private ]
45+
ClassMethod SaveClassMember(memberKind As %String, classDef As %Dictionary.ClassDefinition, prps As %DynamicObject) As %String [ Private ]
4646
{
4747
set errors = ""
4848

@@ -52,10 +52,10 @@ ClassMethod SaveClassMember(memberKind As %String, classDef As %Dictionary.Class
5252

5353
#define logError(%e) if (%e '= "") { set errors = errors _ %e _ $Char(10) }
5454

55-
set iterator = prps.$getIterator()
56-
while (iterator.$getNext(.memberName, .props)) {
55+
set iterator = prps.%GetIterator()
56+
while (iterator.%GetNext(.memberName, .props)) {
5757

58-
if (props.$get("$add") '= "") {
58+
if (props.%Get("$add") '= "") {
5959
set pDef = $System.OBJ.New("%Dictionary."_memberKind_"Definition")
6060
set pDef.parent = classDef
6161
} else {
@@ -66,7 +66,7 @@ ClassMethod SaveClassMember(memberKind As %String, classDef As %Dictionary.Class
6666
continue
6767
}
6868

69-
if (props.$get("$delete") '= "") {
69+
if (props.%Get("$delete") '= "") {
7070
set error = $System.Status.GetErrorText(pDef.%Delete(pDef.%Oid()))
7171
continue
7272
}
@@ -95,10 +95,10 @@ ClassMethod Save() As %Status
9595

9696
#define logError(%e) if (%e '= "") { set response.error = response.error _ %e _ $Char(10) }
9797

98-
set iterator = classes.$getIterator()
99-
while (iterator.$getNext(.className, .classData)) {
98+
set iterator = classes.%GetIterator()
99+
while (iterator.%GetNext(.className, .classData)) {
100100

101-
if (classData.$get("$add") '= "") {
101+
if (classData.%Get("$add") '= "") {
102102
set classDef = ##class(%Dictionary.ClassDefinition).%New()
103103
set classDef.Name = className
104104
} else {
@@ -109,18 +109,18 @@ ClassMethod Save() As %Status
109109
continue
110110
}
111111

112-
if (classData.$get("$delete") '= "") {
112+
if (classData.%Get("$delete") '= "") {
113113
$$$logError($System.Status.GetErrorText(classDef.%Delete(classDef.%Oid())))
114114
set response.modified = response.modified + 1
115115
continue
116116
}
117117

118-
$$$logError(..SaveClassMember("Parameter", classDef, classData.$get("Parameters")))
119-
$$$logError(..SaveClassMember("Property", classDef, classData.$get("Properties")))
120-
$$$logError(..SaveClassMember("Index", classDef, classData.$get("Indices")))
121-
$$$logError(..SaveClassMember("Method", classDef, classData.$get("Methods")))
122-
$$$logError(..SaveClassMember("Query", classDef, classData.$get("Queries")))
123-
$$$logError(..SaveClassMember("XData", classDef, classData.$get("XDatas")))
118+
$$$logError(..SaveClassMember("Parameter", classDef, classData.%Get("Parameters")))
119+
$$$logError(..SaveClassMember("Property", classDef, classData.%Get("Properties")))
120+
$$$logError(..SaveClassMember("Index", classDef, classData.%Get("Indices")))
121+
$$$logError(..SaveClassMember("Method", classDef, classData.%Get("Methods")))
122+
$$$logError(..SaveClassMember("Query", classDef, classData.%Get("Queries")))
123+
$$$logError(..SaveClassMember("XData", classDef, classData.%Get("XDatas")))
124124
$$$logError(..SaveKeywords("Class", classDef, classData))
125125

126126
$$$logError($System.Status.GetErrorText(classDef.%Save()))
@@ -132,14 +132,14 @@ ClassMethod Save() As %Status
132132
continue
133133
}
134134

135-
do response.modified.$set(className, {
136-
"success": 1,
137-
"class": ##class(VisualEditor.REST.Informer).GetClassData(className)
135+
do response.modified.%Set(className, {
136+
"success": (1),
137+
"class": (##class(VisualEditor.REST.Informer).GetClassData(className))
138138
})
139139

140140
}
141141

142-
write response.$toJSON()
142+
write response.%ToJSON()
143143

144144
return $$$OK
145145
}
@@ -157,7 +157,7 @@ ClassMethod OnPreDispatch() As %Status
157157
set content = content _ $ZCVT(%request.Content.Read($$$MaxStringLength), "I", "UTF8")
158158
}
159159

160-
set %request.Content = ##class(%AbstractObject).$fromJSON(content)
160+
set %request.Content = {}.%FromJSON(content)
161161

162162
return $$$OK
163163
}

source/cache/REST/Informer.cls

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ XData UrlMap
1111
}
1212

1313
/// Returns all available namespaces for the current instance.
14-
ClassMethod getAllNamespacesList() As %Object
14+
ClassMethod getAllNamespacesList() As %DynamicObject
1515
{
1616
set namespaces = {}
1717
set result = ##class(%ResultSet).%New("%SYS.Namespace:List")
@@ -20,7 +20,7 @@ ClassMethod getAllNamespacesList() As %Object
2020
set ns = {}
2121
set ns.remote = result.Get("Remote")
2222
set ns.status = result.Get("Status")
23-
do namespaces.$set(result.Get("Nsp"), ns)
23+
do namespaces.%Set(result.Get("Nsp"), ns)
2424
}
2525
return namespaces
2626
}
@@ -31,12 +31,12 @@ ClassMethod Init() As %Status
3131
set data = {}
3232
set data.namespace = $Namespace
3333
set data.namespaces = ..getAllNamespacesList()
34-
write data.$toJSON()
34+
write data.%ToJSON()
3535
return $$$OK
3636
}
3737

3838
/// Returns the object containing member data.
39-
ClassMethod GetMemberData(class As %Dictionary.ClassDefinition, memberName As %String) As %Object [ Private ]
39+
ClassMethod GetMemberData(class As %Dictionary.ClassDefinition, memberName As %String) As %DynamicObject [ Private ]
4040
{
4141
set obj = {}
4242
set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary."_memberName_"Definition")
@@ -49,50 +49,50 @@ ClassMethod GetMemberData(class As %Dictionary.ClassDefinition, memberName As %S
4949
set pname = props.Properties.GetAt(j).Name
5050
set val = $PROPERTY(p, pname)
5151
if ('$IsObject(val)) {
52-
do op.$set(pname, val)
52+
do op.%Set(pname, val)
5353
} elseif ($$$classIsStream($ClassName(val))) {
5454
set v = val.Read()
5555
while ('val.AtEnd) {
5656
set v = v _ val.Read()
5757
}
58-
do op.$set(pname, v)
58+
do op.%Set(pname, v)
5959
}
6060
}
61-
do obj.$set(p.Name, op)
61+
do obj.%Set(p.Name, op)
6262
}
6363
return obj
6464
}
6565

6666
/// This method returns all available data about the class.
67-
ClassMethod GetClassData(className As %String) As %Object
67+
ClassMethod GetClassData(className As %String) As %DynamicObject
6868
{
6969
set class = ##class(%Dictionary.ClassDefinition).%OpenId(className)
7070
set cClass = ##class(%Dictionary.CompiledClass).%OpenId(className)
7171
set oClass = {}
7272
if (class = "") { return oClass }
7373

74-
do oClass.$set("_type", "class")
75-
do oClass.$set("_fullName", className)
76-
do oClass.$set("_name", $PIECE(className, ".", *))
77-
do oClass.$set("_isDataType", class.ClientDataTypeIsDefined())
78-
do oClass.$set("_isOdbcType", class.OdbcTypeIsDefined())
79-
do oClass.$set("_isSoapBindingStyle", class.SoapBindingStyleIsDefined())
80-
do oClass.$set("_isSoapBodyUse", class.SoapBodyUseIsDefined())
81-
do oClass.$set("_isSqlCategory", class.SqlCategoryIsDefined())
74+
do oClass.%Set("_type", "class")
75+
do oClass.%Set("_fullName", className)
76+
do oClass.%Set("_name", $PIECE(className, ".", *))
77+
do oClass.%Set("_isDataType", class.ClientDataTypeIsDefined())
78+
do oClass.%Set("_isOdbcType", class.OdbcTypeIsDefined())
79+
do oClass.%Set("_isSoapBindingStyle", class.SoapBindingStyleIsDefined())
80+
do oClass.%Set("_isSoapBodyUse", class.SoapBodyUseIsDefined())
81+
do oClass.%Set("_isSqlCategory", class.SqlCategoryIsDefined())
8282

8383
set props = ##class(%Dictionary.ClassDefinition).%OpenId("%Dictionary.ClassDefinition")
8484
for j=1:1:props.Properties.Count() {
8585
set pname = props.Properties.GetAt(j).Name
8686
if ((pname '= "parent") && ('props.Properties.GetAt(j).Private) && ('$IsObject($PROPERTY(class, pname)))) {
87-
do oClass.$set(pname, $PROPERTY(class, pname))
87+
do oClass.%Set(pname, $PROPERTY(class, pname))
8888
}
8989
}
9090
if (oClass.TimeChanged) { set oClass.TimeChanged = $zdatetime(oClass.TimeChanged) }
9191
if (oClass.TimeCreated) { set oClass.TimeCreated = $zdatetime(oClass.TimeCreated) }
9292
if ((cClass '= "") && (cClass.ClassType '= "")) {
93-
do oClass.$set("_compiledClassType", cClass.ClassType)
93+
do oClass.%Set("_compiledClassType", cClass.ClassType)
9494
} else {
95-
do oClass.$set("_compiledClassType", "registered") // default
95+
do oClass.%Set("_compiledClassType", "registered") // default
9696
}
9797

9898
set oClass.Parameters = ..GetMemberData(class, "Parameter")
@@ -129,21 +129,21 @@ ClassMethod List() As %Status
129129
if ($data(folders(folderName))) { continue }
130130
set folders(folderName) = 1
131131
set oFolder = {}
132-
do oFolder.$set("_type", "package")
133-
do oFolder.$set("_fullName", baseLevel _ folderName)
134-
do oFolder.$set("_name", folderName)
135-
do data.$set(folderName, oFolder)
132+
do oFolder.%Set("_type", "package")
133+
do oFolder.%Set("_fullName", baseLevel _ folderName)
134+
do oFolder.%Set("_name", folderName)
135+
do data.%Set(folderName, oFolder)
136136
} elseif ($LENGTH(clsName, ".") = $LENGTH(baseLevel, ".")) {
137137
set className = $PIECE(clsName, ".", $LENGTH(baseLevel, "."))
138138
set oClass = ..GetClassData(clsName)
139-
do data.$set(className, oClass)
139+
do data.%Set(className, oClass)
140140
} else {
141141
continue
142142
}
143143
}
144144

145145
write "" // fixes the strange $toJSON() issue: it does not output content properly without this string
146-
do data.$toJSON()
146+
do data.%ToJSON()
147147

148148
return $$$OK
149149
}

0 commit comments

Comments
 (0)