2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.model;
23 import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
24 import org.openecomp.sdc.be.datatypes.enums.ComponentFieldsEnum;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
27 import java.util.List;
29 public class ComponentParametersView {
31 boolean ignoreUsers = false;
32 boolean ignoreGroups = false;
33 boolean ignoreComponentInstances = false;
34 boolean ignoreComponentInstancesProperties = false;
35 boolean ignoreProperties = false;
36 boolean ignoreCapabilities = false;
37 boolean ignoreRequirements = false;
38 boolean ignoreCategories = false;
39 boolean ignoreAllVersions = false;
40 boolean ignoreAdditionalInformation = false;
41 boolean ignoreArtifacts = false;
42 boolean ignoreInterfaces = false;
43 boolean ignoreDerivedFrom = false;
44 boolean ignoreAttributesFrom = false;
45 boolean ignoreComponentInstancesAttributesFrom = false;
46 boolean ignoreInputs = false;
47 boolean ignoreComponentInstancesInputs = false;
48 boolean ignoreCapabiltyProperties = true;
49 boolean ignoreServicePath = true;
50 boolean ignorePolicies = false;
52 public ComponentParametersView() {
55 public ComponentParametersView(boolean setAllToIgnore) {
62 public ComponentParametersView(List<String> filters) {
65 for(String fieldName: filters) {
66 switch (ComponentFieldsEnum.findByValue(fieldName)) {
68 this.setIgnoreProperties(false);
71 this.setIgnoreInputs(false);;
74 this.setIgnoreUsers(false);
77 this.setIgnoreCategories(false);
80 this.setIgnoreUsers(false);
81 this.setIgnoreCategories(false);
82 this.setIgnoreAllVersions(false);
83 this.setIgnoreDerivedFrom(false);
86 this.setIgnoreGroups(false);
88 case COMPONENT_INSTANCES:
89 this.setIgnoreComponentInstances(false);
90 this.setIgnoreCapabilities(false);
91 this.setIgnoreRequirements(false);
93 case COMPONENT_INSTANCES_PROPERTIES:
94 this.setIgnoreComponentInstances(false); //we need this in order to get the calculate capabilities requirements
95 this.setIgnoreComponentInstancesProperties(false);
98 this.setIgnoreComponentInstances(false);//we need this in order to get the calculate capabilities requirements
99 this.setIgnoreCapabilities(false);
102 this.setIgnoreComponentInstances(false);
103 this.setIgnoreRequirements(false);
106 this.setIgnoreAllVersions(false);
108 case ADDITIONAL_INFORMATION:
109 this.setIgnoreAdditionalInformation(false);
112 case DEPLOYMENT_ARTIFACTS:
113 case TOSCA_ARTIFACTS:
114 case SERVICE_API_ARTIFACTS:
115 this.setIgnoreArtifacts(false);
118 this.setIgnoreInterfaces(false);
121 this.setIgnoreDerivedFrom(false);
124 this.setIgnoreAttributesFrom(false);
126 case COMPONENT_INSTANCES_ATTRIBUTES:
127 this.setIgnoreComponentInstances(false);
128 this.setIgnoreComponentInstancesAttributesFrom(false);
130 case COMPONENT_INSTANCE_INPUTS:
131 this.setIgnoreComponentInstances(false);
132 this.setIgnoreComponentInstancesInputs(false);
134 case INSTANCE_CAPABILTY_PROPERTIES:
135 this.setIgnoreCapabiltyProperties(false);
137 case FORWARDING_PATHS:
138 this.setIgnoreForwardingPath(false);
141 this.setIgnorePolicies(false);
150 ///////////////////////////////////////////////////////////////
151 // When adding new member, please update the filter method.
152 ///////////////////////////////////////////////////////////////
154 public Component filter(Component component, ComponentTypeEnum componentType) {
157 component.setCreatorUserId(null);
158 component.setCreatorFullName(null);
159 component.setLastUpdaterUserId(null);
160 component.setLastUpdaterFullName(null);
164 component.setGroups(null);
167 if (ignoreComponentInstances) {
168 component.setComponentInstances(null);
169 component.setComponentInstancesRelations(null);
172 if (ignoreComponentInstancesProperties) {
173 component.setComponentInstancesProperties(null);
176 if (ignoreProperties) {
177 switch (componentType) {
179 ((Resource) component).setProperties(null);
186 if (ignoreCapabilities) {
187 component.setCapabilities(null);
190 if (ignoreRequirements) {
191 component.setRequirements(null);
194 if (ignoreCategories) {
195 component.setCategories(null);
198 if (ignoreAllVersions) {
199 component.setAllVersions(null);
202 if (ignoreAdditionalInformation) {
203 switch (componentType) {
205 ((Resource) component).setAdditionalInformation(null);
212 if (ignoreArtifacts) {
213 component.setArtifacts(null);
214 component.setSpecificComponetTypeArtifacts(null);
215 component.setDeploymentArtifacts(null);
216 component.setToscaArtifacts(null);
219 if (ignoreInterfaces) {
220 switch (componentType) {
222 ((Resource) component).setInterfaces(null);
229 if (ignoreDerivedFrom) {
230 switch (componentType) {
232 ((Resource) component).setDerivedFrom(null);
239 if (ignoreAttributesFrom) {
240 switch (componentType) {
242 ((Resource) component).setAttributes(null);
249 if (ignoreComponentInstancesAttributesFrom) {
250 component.setComponentInstancesAttributes(null);
254 component.setInputs(null);
257 if (ignoreComponentInstancesInputs) {
258 component.setComponentInstancesInputs(null);
261 if (ignoreServicePath){
262 switch (componentType) {
264 ((Service) component).setForwardingPaths(null);
274 public void disableAll() {
277 ignoreComponentInstances = true;
278 ignoreComponentInstancesProperties = true;
279 ignoreProperties = true;
280 ignoreCapabilities = true;
281 ignoreRequirements = true;
282 ignoreCategories = true;
283 ignoreAllVersions = true;
284 ignoreAdditionalInformation = true;
285 ignoreArtifacts = true;
286 ignoreInterfaces = true;
287 ignoreDerivedFrom = true;
288 ignoreAttributesFrom = true;
290 ignoreComponentInstancesAttributesFrom = true;
291 ignoreComponentInstancesInputs = true;
292 ignoreCapabiltyProperties = true;
293 ignoreServicePath = true;
296 public boolean isIgnoreGroups() {
300 public void setIgnoreGroups(boolean ignoreGroups) {
301 this.ignoreGroups = ignoreGroups;
304 public boolean isIgnoreComponentInstances() {
305 return ignoreComponentInstances;
308 public void setIgnoreComponentInstances(boolean ignoreComponentInstances) {
309 this.ignoreComponentInstances = ignoreComponentInstances;
312 public boolean isIgnoreProperties() {
313 return ignoreProperties;
316 public void setIgnoreProperties(boolean ignoreProperties) {
317 this.ignoreProperties = ignoreProperties;
320 public boolean isIgnoreCapabilities() {
321 return ignoreCapabilities;
324 public void setIgnoreCapabilities(boolean ignoreCapabilities) {
325 this.ignoreCapabilities = ignoreCapabilities;
328 public boolean isIgnoreRequirements() {
329 return ignoreRequirements;
332 public void setIgnoreRequirements(boolean ignoreRequirements) {
333 this.ignoreRequirements = ignoreRequirements;
336 public boolean isIgnoreCategories() {
337 return ignoreCategories;
340 public void setIgnoreCategories(boolean ignoreCategories) {
341 this.ignoreCategories = ignoreCategories;
344 public boolean isIgnoreAllVersions() {
345 return ignoreAllVersions;
348 public void setIgnoreAllVersions(boolean ignoreAllVersions) {
349 this.ignoreAllVersions = ignoreAllVersions;
352 public boolean isIgnoreAdditionalInformation() {
353 return ignoreAdditionalInformation;
356 public void setIgnoreAdditionalInformation(boolean ignoreAdditionalInformation) {
357 this.ignoreAdditionalInformation = ignoreAdditionalInformation;
360 public boolean isIgnoreArtifacts() {
361 return ignoreArtifacts;
364 public void setIgnoreArtifacts(boolean ignoreArtifacts) {
365 this.ignoreArtifacts = ignoreArtifacts;
368 public boolean isIgnoreComponentInstancesProperties() {
369 return ignoreComponentInstancesProperties;
372 public void setIgnoreComponentInstancesProperties(boolean ignoreComponentInstancesProperties) {
373 this.ignoreComponentInstancesProperties = ignoreComponentInstancesProperties;
376 public boolean isIgnoreComponentInstancesInputs() {
377 return ignoreComponentInstancesInputs;
380 public void setIgnoreComponentInstancesInputs(boolean ignoreComponentInstancesInputs) {
381 this.ignoreComponentInstancesInputs = ignoreComponentInstancesInputs;
384 public boolean isIgnoreInterfaces() {
385 return ignoreInterfaces;
388 public void setIgnoreInterfaces(boolean ignoreInterfaces) {
389 this.ignoreInterfaces = ignoreInterfaces;
392 public boolean isIgnoreAttributesFrom() {
393 return ignoreAttributesFrom;
396 public void setIgnoreAttributesFrom(boolean ignoreAttributesFrom) {
397 this.ignoreAttributesFrom = ignoreAttributesFrom;
400 public boolean isIgnoreComponentInstancesAttributesFrom() {
401 return ignoreComponentInstancesAttributesFrom;
404 public void setIgnoreComponentInstancesAttributesFrom(boolean ignoreComponentInstancesAttributesFrom) {
405 this.ignoreComponentInstancesAttributesFrom = ignoreComponentInstancesAttributesFrom;
408 public boolean isIgnoreDerivedFrom() {
409 return ignoreDerivedFrom;
412 public void setIgnoreDerivedFrom(boolean ignoreDerivedFrom) {
413 this.ignoreDerivedFrom = ignoreDerivedFrom;
416 public boolean isIgnoreUsers() {
420 public void setIgnoreUsers(boolean ignoreUsers) {
421 this.ignoreUsers = ignoreUsers;
424 public boolean isIgnoreInputs() {
428 public void setIgnoreInputs(boolean ignoreInputs) {
429 this.ignoreInputs = ignoreInputs;
432 public boolean isIgnoreCapabiltyProperties() {
433 return ignoreCapabiltyProperties;
436 public void setIgnoreCapabiltyProperties(boolean ignoreCapabiltyProperties) {
437 this.ignoreCapabiltyProperties = ignoreCapabiltyProperties;
440 public boolean isIgnoreForwardingPath() {
441 return ignoreServicePath;
444 public void setIgnoreForwardingPath(boolean ignoreServicePath) {
445 this.ignoreServicePath = ignoreServicePath;
448 public boolean isIgnorePolicies() {
449 return ignorePolicies;
452 public void setIgnorePolicies(boolean ignorePolicies) {
453 this.ignorePolicies = ignorePolicies;
456 public JsonParseFlagEnum detectParseFlag() {
457 JsonParseFlagEnum parseFlag;
458 if(isIgnoreComponentInstances()){
459 parseFlag = JsonParseFlagEnum.ParseMetadata;
461 parseFlag = JsonParseFlagEnum.ParseAll;