001package gudusoft.gsqlparser.dlineage.metadata;
002
003import gudusoft.gsqlparser.dlineage.dataflow.model.ModelBindingManager;
004import gudusoft.gsqlparser.util.json.JSONField;
005
006public class Process extends TreeNode {
007
008        private String name;
009        private String procedureName;
010        private String procedureId;
011        private String queryHashId;
012        private String type;
013        private Coordinate[] coordinates;
014        private Transform[] transforms;
015
016        public String getName() {
017                return name;
018        }
019
020        public void setName(String name) {
021                this.name = name;
022        }
023
024        public String getType() {
025                return type;
026        }
027
028        public void setType(String type) {
029                this.type = type;
030        }
031
032        public String getProcedureName() {
033                return procedureName;
034        }
035
036        public void setProcedureName(String procedureName) {
037                this.procedureName = procedureName;
038        }
039
040        public String getProcedureId() {
041                return procedureId;
042        }
043
044        public void setProcedureId(String procedureId) {
045                this.procedureId = procedureId;
046        }
047
048        public String getQueryHashId() {
049                return queryHashId;
050        }
051
052        public void setQueryHashId(String queryHashId) {
053                this.queryHashId = queryHashId;
054        }
055
056        @JSONField(serialize = false)
057        public Database getDatabase() {
058                TreeNode parent = getParent();
059                Server server = getServer();
060                if (parent == null || server == null) {
061                        return null;
062                }
063                if (server.isSupportsCatalogs() && server.isSupportsSchemas()) {
064                        return (Database) parent.getParent();
065                } else if (server.isSupportsCatalogs()) {
066                        return (Database) parent;
067                }
068                return null;
069        }
070
071        @JSONField(serialize = false)
072        public Schema getSchema() {
073                TreeNode parent = getParent();
074                Server server = getServer();
075                if (parent == null || server == null) {
076                        return null;
077                }
078                if (server.isSupportsSchemas()) {
079                        return (Schema) parent;
080                }
081                return null;
082        }
083
084        public Coordinate[] getCoordinates() {
085                if (ModelBindingManager.getGlobalOption() != null
086                                && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
087                        return null;
088                }
089                return coordinates;
090        }
091
092        public void setCoordinates(Coordinate[] coordinates) {
093                if (ModelBindingManager.getGlobalOption() != null
094                                && ModelBindingManager.getGlobalOption().isIgnoreCoordinate()) {
095                        return;
096                }
097                this.coordinates = coordinates;
098        }
099
100        public Transform[] getTransforms() {
101                return transforms;
102        }
103
104        public void setTransforms(Transform[] transforms) {
105                this.transforms = transforms;
106        }
107
108}