35801a4d5e6ce7a560d2c7988ff908ae33f234c1
[portal/sdk.git] /
1 /*-
2  * ================================================================================
3  * eCOMP Portal SDK
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 package org.openecomp.portalsdk.analytics.gmap.node;
21
22
23 import java.util.HashMap;
24 import java.util.HashSet;
25 import java.util.Set;
26
27 public class NodeCollection {
28         private Set<String> selectedNode; // all selected node
29         private String nodeID; // last clicked node
30         private HashMap<String,NodeInfo> nodeCollection;
31         
32         public NodeCollection() {
33                 selectedNode = new HashSet<String>();
34                 nodeCollection = new HashMap<String,NodeInfo>(20000);
35         }
36         
37         public void addSelectedNode(String nodeID) {
38                 selectedNode.add(nodeID);
39         }
40
41         public void removeSelectedNode(String nodeID) {
42                 selectedNode.remove(nodeID);
43         }
44
45         public boolean containSelectedNode(String nodeID) {
46                 return selectedNode.contains(nodeID);
47         }
48
49         public void addSelectedNode(String nodeID, String nodeType) {
50                 selectedNode.add(nodeID + ">>" + nodeType);
51         }
52
53         public void removeSelectedNode(String nodeID, String nodeType) {
54                 selectedNode.remove(nodeID + ">>" + nodeType);
55         }
56
57         public void clearSelectedNode() {
58                 selectedNode.clear();
59         }
60
61         public boolean containSelectedNode(String nodeID, String nodeType) {
62                 return selectedNode.contains(nodeID + ">>" + nodeType);
63         }
64
65         public Set<String> getSelectedNode() {
66                 return selectedNode;
67         }
68
69         public void addNode(NodeInfo nodeInfo) {
70                 if (nodeInfo == null) {
71                         System.out.println("nodeInfo is null");
72                 }
73                 nodeCollection.put(nodeInfo.getNodeID()+""+nodeInfo.getNodeType(), nodeInfo);
74         }
75         
76         public HashMap<String,NodeInfo> getNodeCollection() {
77                 return nodeCollection;
78         }
79         
80 /*      public NodeInfo getNode(String nodeID) {
81                 for (NodeInfo nodeInfo : nodeCollection) {
82                         if (nodeInfo.getNodeID().equalsIgnoreCase(nodeID) ) {
83                                 return nodeInfo;
84                         }
85                 }
86                 
87                 return null;
88         }
89 */      
90 /*      public NodeInfo getNode(String nodeID, String nodeType) {
91                 for (NodeInfo nodeInfo : nodeCollection) {
92                         if (nodeInfo.getNodeID().equalsIgnoreCase(nodeID) && nodeInfo.getNodeType().equalsIgnoreCase(nodeType)) {
93                                 return nodeInfo;
94                         }
95                 }
96                 
97                 return null;
98         }
99 */      
100         public NodeInfo getNode(String nodeType) {
101                 return (NodeInfo)nodeCollection.get(nodeType);
102         }
103 /*      public ArrayList<NodeInfo> getWildCardNode(String nodeID, String nodeType) {
104                 ArrayList<NodeInfo> list = new ArrayList<NodeInfo>();
105                 
106                 for (NodeInfo nodeInfo : nodeCollection) {
107                         if (nodeInfo.getNodeType().equalsIgnoreCase(nodeType) && 
108                                         nodeInfo.getNodeID().toLowerCase().indexOf(nodeID.toLowerCase()) != -1) {
109                                 list.add(nodeInfo);
110                         }
111                 }
112         
113                 return list;
114         }*/
115         
116 /*      public NodeInfo removeNode(String nodeID) {
117                 for (int i = 0; i < nodeCollection.size(); i++) {
118                         if (nodeCollection.get(i).getNodeID().equalsIgnoreCase(nodeID)) {
119                                 return nodeCollection.remove(i);
120                         }
121                 }
122                 
123                 removeSelectedNode(nodeID);
124                 return null;
125         }
126
127         public NodeInfo removeNode(String nodeID, String nodeType) {
128                 for (int i = 0; i < nodeCollection.size(); i++) {
129                         if (nodeCollection.get(i).getNodeID().equalsIgnoreCase(nodeID) && 
130                                         nodeCollection.get(i).getNodeType().equalsIgnoreCase(nodeType)) {
131                                 return nodeCollection.remove(i);
132                         }
133                 }
134                 
135                 removeSelectedNode(nodeID, nodeType);
136                 return null;
137         }
138 */      
139 /*      public void removeNode(String nodeType) {
140                 nodeCollection.remove(nodeType);
141         }*/
142         
143 /*      public ArrayList<NodeInfo> getCellsiteLocation(String location, boolean exactMatch) {
144                 ArrayList<NodeInfo> list = new ArrayList<NodeInfo>();
145                 
146                 for (NodeInfo nodeInfo : nodeCollection) {
147                         if (nodeInfo.getAttribute("Location") == null) {
148                                 continue;
149                         }
150                         
151                         if (exactMatch) {
152                                 if (nodeInfo.getAttribute("Location").equalsIgnoreCase(location)) {
153                                         list.add(nodeInfo);
154                                 }
155                         }
156                         else {
157                                 if (nodeInfo.getAttribute("Location").toUpperCase().indexOf(location.toUpperCase()) != -1) {
158                                         list.add(nodeInfo);
159                                 }
160                         }
161                 }
162                 
163                 return list;
164         }
165 */
166         public void clearNode() {
167                 nodeCollection.clear();
168                 selectedNode.clear();
169         }
170         
171         public int getSize() {
172                 return nodeCollection.size();
173         }
174
175         public void setNodeID(String nodeID) {
176                 this.nodeID = nodeID;
177         }
178
179         public String getNodeID() {
180                 return nodeID;
181         }
182         
183         public void clearAllCollection() {
184                 this.clearNode();
185                 this.clearSelectedNode();
186                 this.nodeID = "";
187         }
188 }