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 java.util.List;
24 import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
25 import org.openecomp.sdc.be.datatypes.enums.ComponentFieldsEnum;
26 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
28 public class ComponentParametersView {
30 private boolean ignoreUsers = false;
31 private boolean ignoreGroups = false;
32 private boolean ignoreComponentInstances = false;
33 private boolean ignoreComponentInstancesProperties = false;
34 private boolean ignoreProperties = false;
35 private boolean ignoreCapabilities = false;
36 private boolean ignoreRequirements = false;
37 private boolean ignoreCategories = false;
38 private boolean ignoreAllVersions = false;
39 private boolean ignoreAdditionalInformation = false;
40 private boolean ignoreArtifacts = false;
41 private boolean ignoreInterfaces = false;
42 private boolean ignoreInterfaceInstances = false;
43 private boolean ignoreComponentInstancesInterfaces = false;
44 private boolean ignoreDerivedFrom = false;
45 private boolean ignoreAttributesFrom = false;
46 private boolean ignoreComponentInstancesAttributesFrom = false;
47 private boolean ignoreInputs = false;
48 private boolean ignoreComponentInstancesInputs = false;
49 private boolean ignoreCapabiltyProperties = false;
50 private boolean ignoreServicePath = true;
51 private boolean ignorePolicies = false;
52 private boolean ignoreNodeFilterRequirements = false;
53 private boolean ignoreNodeFilter = false;
54 private boolean ignoreSubstitutionFilter = false;
55 private boolean ignoreDataType = false;
57 public ComponentParametersView() {
60 public ComponentParametersView(boolean setAllToIgnore) {
67 public ComponentParametersView(List<String> filters) {
70 for (String fieldName : filters) {
71 switch (ComponentFieldsEnum.findByValue(fieldName)) {
73 this.setIgnoreProperties(false);
76 this.setIgnoreInputs(false);
79 this.setIgnoreUsers(false);
82 this.setIgnoreCategories(false);
85 this.setIgnoreUsers(false);
86 this.setIgnoreCategories(false);
87 this.setIgnoreAllVersions(false);
88 this.setIgnoreDerivedFrom(false);
91 case NON_EXCLUDED_GROUPS:
92 this.setIgnoreGroups(false);
94 case COMPONENT_INSTANCES:
95 this.setIgnoreComponentInstances(false);
96 this.setIgnoreCapabilities(false);
97 this.setIgnoreRequirements(false);
98 this.setIgnoreNodeFilter(false);
99 this.setIgnoreSubstitutionFilter(false);
100 this.setIgnoreCapabiltyProperties(false);
101 this.setIgnoreInterfaces(false);
102 this.setIgnoreComponentInstancesInterfaces(false);
104 case COMPONENT_INSTANCES_PROPERTIES:
105 this.setIgnoreComponentInstances(false); //we need this in order to get the calculate capabilities requirements
106 this.setIgnoreComponentInstancesProperties(false);
109 this.setIgnoreComponentInstances(false);//we need this in order to get the calculate capabilities requirements
110 this.setIgnoreCapabilities(false);
111 this.setIgnoreCapabiltyProperties(false);
114 this.setIgnoreComponentInstances(false);
115 this.setIgnoreRequirements(false);
118 this.setIgnoreAllVersions(false);
120 case ADDITIONAL_INFORMATION:
121 this.setIgnoreAdditionalInformation(false);
124 case DEPLOYMENT_ARTIFACTS:
125 case TOSCA_ARTIFACTS:
126 case SERVICE_API_ARTIFACTS:
127 this.setIgnoreArtifacts(false);
130 this.setIgnoreInterfaces(false);
133 this.setIgnoreDerivedFrom(false);
136 this.setIgnoreAttributesFrom(false);
138 case COMPONENT_INSTANCES_ATTRIBUTES:
139 this.setIgnoreComponentInstances(false);
140 this.setIgnoreComponentInstancesAttributesFrom(false);
142 case COMPONENT_INSTANCE_INPUTS:
143 this.setIgnoreComponentInstances(false);
144 this.setIgnoreComponentInstancesInputs(false);
146 case INSTANCE_CAPABILTY_PROPERTIES:
147 this.setIgnoreCapabiltyProperties(false);
149 case FORWARDING_PATHS:
150 this.setIgnoreForwardingPath(false);
153 case NON_EXCLUDED_POLICIES:
154 this.setIgnorePolicies(false);
157 this.setIgnoreNodeFilterRequirements(false);
158 this.setIgnoreNodeFilter(false);
160 case SUBSTITUTION_FILTER:
161 this.setIgnoreSubstitutionFilter(false);
163 case COMPONENT_INSTANCES_INTERFACES:
164 this.setIgnoreComponentInstances(false);
165 this.setIgnoreInterfaces(false);
166 this.setIgnoreComponentInstancesInterfaces(false);
169 this.setIgnoreDataType(false);
178 ///////////////////////////////////////////////////////////////
179 // When adding new member, please update the filter method.
180 ///////////////////////////////////////////////////////////////
182 public Component filter(Component component, ComponentTypeEnum componentType) {
185 component.setCreatorUserId(null);
186 component.setCreatorFullName(null);
187 component.setLastUpdaterUserId(null);
188 component.setLastUpdaterFullName(null);
191 component.setGroups(null);
193 if (ignoreComponentInstances) {
194 component.setComponentInstances(null);
195 component.setComponentInstancesRelations(null);
197 if (ignoreComponentInstancesProperties) {
198 component.setComponentInstancesProperties(null);
200 if (ignoreProperties && componentType == ComponentTypeEnum.RESOURCE) {
201 ((Resource) component).setProperties(null);
203 if (ignoreCapabilities) {
204 component.setCapabilities(null);
206 if (ignoreRequirements) {
207 component.setRequirements(null);
209 if (ignoreCategories) {
210 component.setCategories(null);
212 if (ignoreAllVersions) {
213 component.setAllVersions(null);
215 if (ignoreAdditionalInformation && componentType == ComponentTypeEnum.RESOURCE) {
216 ((Resource) component).setAdditionalInformation(null);
218 if (ignoreArtifacts) {
219 component.setArtifacts(null);
220 component.setSpecificComponetTypeArtifacts(null);
221 component.setDeploymentArtifacts(null);
222 component.setToscaArtifacts(null);
224 if (ignoreNodeFilterRequirements){
225 component.setNodeFilterComponents(null);
227 if (ignoreInterfaces && ignoreInterfaceInstances &&
228 componentType == ComponentTypeEnum.RESOURCE) {
229 component.setInterfaces(null);
231 if (ignoreDerivedFrom && componentType == ComponentTypeEnum.RESOURCE) {
232 ((Resource) component).setDerivedFrom(null);
234 if (ignoreAttributesFrom && componentType == ComponentTypeEnum.RESOURCE) {
235 ((Resource) component).setAttributes(null);
237 if (ignoreComponentInstancesAttributesFrom) {
238 component.setComponentInstancesAttributes(null);
241 component.setInputs(null);
243 if (ignoreComponentInstancesInputs) {
244 component.setComponentInstancesInputs(null);
246 if (ignoreServicePath && componentType == ComponentTypeEnum.SERVICE) {
247 ((Service) component).setForwardingPaths(null);
249 if (ignoreNodeFilter){
250 component.setNodeFilterComponents(null);
252 if (ignoreSubstitutionFilter){
253 component.setSubstitutionFilterComponents(null);
255 if (ignoreDataType) {
256 component.setDataTypes(null);
261 public boolean isIgnoreNodeFilterRequirements() {
262 return ignoreNodeFilterRequirements;
265 public void setIgnoreNodeFilterRequirements(boolean ignoreNodeFilter) {
266 this.ignoreNodeFilterRequirements = ignoreNodeFilter;
269 public void disableAll() {
272 ignorePolicies = true;
273 ignoreComponentInstances = true;
274 ignoreComponentInstancesProperties = true;
275 ignoreProperties = true;
276 ignoreCapabilities = true;
277 ignoreRequirements = true;
278 ignoreCategories = true;
279 ignoreAllVersions = true;
280 ignoreAdditionalInformation = true;
281 ignoreArtifacts = true;
282 ignoreInterfaces = true;
283 ignoreInterfaceInstances = true;
284 ignoreDerivedFrom = true;
285 ignoreAttributesFrom = true;
287 ignoreComponentInstancesAttributesFrom = true;
288 ignoreComponentInstancesInputs = true;
289 ignoreCapabiltyProperties = true;
290 ignoreServicePath = true;
291 ignoreNodeFilterRequirements = true;
292 ignoreNodeFilter = true;
293 ignoreSubstitutionFilter = true;
294 ignoreDataType = true;
297 public boolean isIgnoreGroups() {
301 public void setIgnoreGroups(boolean ignoreGroups) {
302 this.ignoreGroups = ignoreGroups;
304 this.ignoreCapabiltyProperties = ignoreGroups;
305 this.ignoreCapabilities = ignoreGroups;
309 public boolean isIgnoreComponentInstances() {
310 return ignoreComponentInstances;
313 public void setIgnoreComponentInstances(boolean ignoreComponentInstances) {
314 this.ignoreComponentInstances = ignoreComponentInstances;
317 public boolean isIgnoreProperties() {
318 return ignoreProperties;
321 public void setIgnoreProperties(boolean ignoreProperties) {
322 this.ignoreProperties = ignoreProperties;
325 public boolean isIgnoreCapabilities() {
326 return ignoreCapabilities;
329 public void setIgnoreCapabilities(boolean ignoreCapabilities) {
330 this.ignoreCapabilities = ignoreCapabilities;
333 public boolean isIgnoreRequirements() {
334 return ignoreRequirements;
337 public void setIgnoreRequirements(boolean ignoreRequirements) {
338 this.ignoreRequirements = ignoreRequirements;
341 public boolean isIgnoreCategories() {
342 return ignoreCategories;
345 public void setIgnoreCategories(boolean ignoreCategories) {
346 this.ignoreCategories = ignoreCategories;
349 public boolean isIgnoreAllVersions() {
350 return ignoreAllVersions;
353 public void setIgnoreAllVersions(boolean ignoreAllVersions) {
354 this.ignoreAllVersions = ignoreAllVersions;
357 public boolean isIgnoreAdditionalInformation() {
358 return ignoreAdditionalInformation;
361 private void setIgnoreAdditionalInformation(boolean ignoreAdditionalInformation) {
362 this.ignoreAdditionalInformation = ignoreAdditionalInformation;
365 public boolean isIgnoreArtifacts() {
366 return ignoreArtifacts;
369 public void setIgnoreArtifacts(boolean ignoreArtifacts) {
370 this.ignoreArtifacts = ignoreArtifacts;
373 public boolean isIgnoreComponentInstancesProperties() {
374 return ignoreComponentInstancesProperties;
377 public void setIgnoreComponentInstancesProperties(boolean ignoreComponentInstancesProperties) {
378 this.ignoreComponentInstancesProperties = ignoreComponentInstancesProperties;
381 public boolean isIgnoreComponentInstancesInputs() {
382 return ignoreComponentInstancesInputs;
385 public void setIgnoreComponentInstancesInputs(boolean ignoreComponentInstancesInputs) {
386 this.ignoreComponentInstancesInputs = ignoreComponentInstancesInputs;
389 public boolean isIgnoreInterfaces() {
390 return ignoreInterfaces;
393 public void setIgnoreInterfaces(boolean ignoreInterfaces) {
394 this.ignoreInterfaces = ignoreInterfaces;
397 public boolean isIgnoreComponentInstancesInterfaces() {
398 return ignoreComponentInstancesInterfaces;
401 public void setIgnoreComponentInstancesInterfaces(boolean ignoreComponentInstancesInterfaces) {
402 this.ignoreComponentInstancesInterfaces = ignoreComponentInstancesInterfaces;
405 public boolean isIgnoreAttributesFrom() {
406 return ignoreAttributesFrom;
409 public void setIgnoreAttributesFrom(boolean ignoreAttributesFrom) {
410 this.ignoreAttributesFrom = ignoreAttributesFrom;
413 public boolean isIgnoreComponentInstancesAttributesFrom() {
414 return ignoreComponentInstancesAttributesFrom;
417 private void setIgnoreComponentInstancesAttributesFrom(boolean ignoreComponentInstancesAttributesFrom) {
418 this.ignoreComponentInstancesAttributesFrom = ignoreComponentInstancesAttributesFrom;
421 public boolean isIgnoreDerivedFrom() {
422 return ignoreDerivedFrom;
425 private void setIgnoreDerivedFrom(boolean ignoreDerivedFrom) {
426 this.ignoreDerivedFrom = ignoreDerivedFrom;
429 public boolean isIgnoreUsers() {
433 public void setIgnoreUsers(boolean ignoreUsers) {
434 this.ignoreUsers = ignoreUsers;
437 public boolean isIgnoreInputs() {
441 public void setIgnoreInputs(boolean ignoreInputs) {
442 this.ignoreInputs = ignoreInputs;
445 public boolean isIgnoreCapabiltyProperties() {
446 return ignoreCapabiltyProperties;
449 public void setIgnoreCapabiltyProperties(boolean ignoreCapabiltyProperties) {
450 this.ignoreCapabiltyProperties = ignoreCapabiltyProperties;
453 public boolean isIgnoreForwardingPath() {
454 return ignoreServicePath;
457 public void setIgnoreForwardingPath(boolean ignoreServicePath) {
458 this.ignoreServicePath = ignoreServicePath;
461 public boolean isIgnorePolicies() {
462 return ignorePolicies;
465 public void setIgnorePolicies(boolean ignorePolicies) {
466 this.ignorePolicies = ignorePolicies;
469 public boolean isIgnoreNodeFilter() {
470 return ignoreNodeFilter;
473 public void setIgnoreNodeFilter(boolean ignoreNodeFilter) {
474 this.ignoreNodeFilter = ignoreNodeFilter;
477 public boolean isIgnoreSubstitutionFilter() {
478 return ignoreSubstitutionFilter;
481 public void setIgnoreSubstitutionFilter(boolean ignoreSubstitutionFilter) {
482 this.ignoreSubstitutionFilter = ignoreSubstitutionFilter;
485 public boolean isIgnoreDataType() {
486 return ignoreDataType;
489 public void setIgnoreDataType(boolean ignoreDataType) {
490 this.ignoreDataType = ignoreDataType;
493 public JsonParseFlagEnum detectParseFlag() {
494 JsonParseFlagEnum parseFlag;
495 if (isIgnoreComponentInstances()) {
496 parseFlag = JsonParseFlagEnum.ParseMetadata;
498 parseFlag = JsonParseFlagEnum.ParseAll;