intersystems / intersystems/git-source-control

Exceptions opening Analytics Architect

Open
#980 2 comments 0 reactions 1 assignee Claimed by @isc-pbarton View on GitHub
customer
Dominant language
ObjectScript
Stars
22
Forks
14
Avg merge
1d 9h
Merged PRs (30d)
5

Description

So far, no one has created any analytics cubes yet in our system. When I opened the architect for the first time, I saw this exception:

Image

> Error invoking Source Control: ERROR #5002 ObjectScript error: IsProductionClass+1^SourceControl.Git.Production *(No name)

IsProductionClass() does not have any null input safety checks:

```ObjectScript
SHCDF>zw $system.CLS.IsMthd("", "%Extends")

ZW $SYSTEM.CLS.IsMthd("", "%Extends")
^
*(No name)
```

I would think this function should return 0-false if `className` is blank:

```ObjectScript
ClassMethod IsProductionClass(className As %String, nameMethod As %String) As %Boolean
{
quit:(className = "") 0
if $system.CLS.IsMthd(className, "%Extends") {
try {
return $classmethod(className, "%Extends", "Ens.Production")
} catch err {
if '(err.AsStatus() [ "CLASS DOES NOT EXIST") throw err
}
} else {
```

While I was reading the code where this gets called from, I also noticed that `Git.Utils.Type()` also has weird behavior when it's input is blank:
```ObjectScript
SHCDF>zw ##class(SourceControl.Git.Utils).Type("")
"csp"
```
It should probably return `""`, though I did not analyze the implication of this.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.