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 ignoreSubstitutionFilterRequirements = false;
54 private boolean ignoreNodeFilter = false;
55 private boolean ignoreSubstitutionFilter = false;
56 private boolean ignoreDataType = false;
58 public ComponentParametersView() {
61 public ComponentParametersView(boolean setAllToIgnore) {
68 public ComponentParametersView(List<String> filters) {
71 for (String fieldName : filters) {
72 switch (ComponentFieldsEnum.findByValue(fieldName)) {
74 this.setIgnoreProperties(false);
77 this.setIgnoreInputs(false);
80 this.setIgnoreUsers(false);
83 this.setIgnoreCategories(false);
86 this.setIgnoreUsers(false);
87 this.setIgnoreCategories(false);
88 this.setIgnoreAllVersions(false);
89 this.setIgnoreDerivedFrom(false);
92 case NON_EXCLUDED_GROUPS:
93 this.setIgnoreGroups(false);
95 case COMPONENT_INSTANCES:
96 this.setIgnoreComponentInstances(false);
97 this.setIgnoreCapabilities(false);
98 this.setIgnoreRequirements(false);
99 this.setIgnoreNodeFilter(false);
100 this.setIgnoreSubstitutionFilter(false);
101 this.setIgnoreCapabiltyProperties(false);
103 case COMPONENT_INSTANCES_PROPERTIES:
104 this.setIgnoreComponentInstances(false); //we need this in order to get the calculate capabilities requirements
105 this.setIgnoreComponentInstancesProperties(false);
108 this.setIgnoreComponentInstances(false);//we need this in order to get the calculate capabilities requirements
109 this.setIgnoreCapabilities(false);
110 this.setIgnoreCapabiltyProperties(false);
113 this.setIgnoreComponentInstances(false);
114 this.setIgnoreRequirements(false);
117 this.setIgnoreAllVersions(false);
119 case ADDITIONAL_INFORMATION:
120 this.setIgnoreAdditionalInformation(false);
123 case DEPLOYMENT_ARTIFACTS:
124 case TOSCA_ARTIFACTS:
125 case SERVICE_API_ARTIFACTS:
126 this.setIgnoreArtifacts(false);
129 this.setIgnoreInterfaces(false);
132 this.setIgnoreDerivedFrom(false);
135 this.setIgnoreAttributesFrom(false);
137 case COMPONENT_INSTANCES_ATTRIBUTES:
138 this.setIgnoreComponentInstances(false);
139 this.setIgnoreComponentInstancesAttributesFrom(false);
141 case COMPONENT_INSTANCE_INPUTS:
142 this.setIgnoreComponentInstances(false);
143 this.setIgnoreComponentInstancesInputs(false);
145 case INSTANCE_CAPABILTY_PROPERTIES:
146 this.setIgnoreCapabiltyProperties(false);
148 case FORWARDING_PATHS:
149 this.setIgnoreForwardingPath(false);
152 case NON_EXCLUDED_POLICIES:
153 this.setIgnorePolicies(false);
156 this.setIgnoreNodeFilterRequirements(false);
157 this.setIgnoreNodeFilter(false);
159 case SUBSTITUTION_FILTER:
160 this.setIgnoreSubstitutionFilterRequirements(false);
161 this.setIgnoreSubstitutionFilter(false);
163 case COMPONENT_INSTANCES_INTERFACES:
164 this.setIgnoreComponentInstances(false);
165 this.setIgnoreComponentInstancesInterfaces(false);
168 this.setIgnoreDataType(false);
177 ///////////////////////////////////////////////////////////////
178 // When adding new member, please update the filter method.
179 ///////////////////////////////////////////////////////////////
181 public Component filter(Component component, ComponentTypeEnum componentType) {
184 component.setCreatorUserId(null);
185 component.setCreatorFullName(null);
186 component.setLastUpdaterUserId(null);
187 component.setLastUpdaterFullName(null);
190 component.setGroups(null);
192 if (ignoreComponentInstances) {
193 component.setComponentInstances(null);
194 component.setComponentInstancesRelations(null);
196 if (ignoreComponentInstancesProperties) {
197 component.setComponentInstancesProperties(null);
199 if (ignoreProperties && componentType == ComponentTypeEnum.RESOURCE) {
200 ((Resource) component).setProperties(null);
202 if (ignoreCapabilities) {
203 component.setCapabilities(null);
205 if (ignoreRequirements) {
206 component.setRequirements(null);
208 if (ignoreCategories) {
209 component.setCategories(null);
211 if (ignoreAllVersions) {
212 component.setAllVersions(null);
214 if (ignoreAdditionalInformation && componentType == ComponentTypeEnum.RESOURCE) {
215 ((Resource) component).setAdditionalInformation(null);
217 if (ignoreArtifacts) {
218 component.setArtifacts(null);
219 component.setSpecificComponetTypeArtifacts(null);
220 component.setDeploymentArtifacts(null);
221 component.setToscaArtifacts(null);
223 if (ignoreNodeFilterRequirements){
224 component.setNodeFilterComponents(null);
226 if (ignoreSubstitutionFilterRequirements){
227 component.setSubstitutionFilterComponents(null);
229 if (ignoreInterfaces && ignoreInterfaceInstances &&
230 componentType == ComponentTypeEnum.RESOURCE) {
231 component.setInterfaces(null);
233 if (ignoreDerivedFrom && componentType == ComponentTypeEnum.RESOURCE) {
234 ((Resource) component).setDerivedFrom(null);
236 if (ignoreAttributesFrom && componentType == ComponentTypeEnum.RESOURCE) {
237 ((Resource) component).setAttributes(null);
239 if (ignoreComponentInstancesAttributesFrom) {
240 component.setComponentInstancesAttributes(null);
243 component.setInputs(null);
245 if (ignoreComponentInstancesInputs) {
246 component.setComponentInstancesInputs(null);
248 if (ignoreServicePath && componentType == ComponentTypeEnum.SERVICE) {
249 ((Service) component).setForwardingPaths(null);
251 if (ignoreNodeFilter){
252 component.setNodeFilterComponents(null);
254 if (ignoreSubstitutionFilter){
255 component.setSubstitutionFilterComponents(null);
257 if (ignoreDataType) {
258 component.setDataTypes(null);
263 public boolean isIgnoreNodeFilterRequirements() {
264 return ignoreNodeFilterRequirements;
267 public void setIgnoreNodeFilterRequirements(boolean ignoreNodeFilter) {
268 this.ignoreNodeFilterRequirements = ignoreNodeFilter;
271 public boolean isIgnoreSubstitutionFilterRequirements() {
272 return ignoreSubstitutionFilterRequirements;
275 public void setIgnoreSubstitutionFilterRequirements(boolean ignoreSubstitutionFilterRequirements) {
276 this.ignoreSubstitutionFilterRequirements = ignoreSubstitutionFilterRequirements;
279 public void disableAll() {
282 ignorePolicies = true;
283 ignoreComponentInstances = true;
284 ignoreComponentInstancesProperties = true;
285 ignoreProperties = true;
286 ignoreCapabilities = true;
287 ignoreRequirements = true;
288 ignoreCategories = true;
289 ignoreAllVersions = true;
290 ignoreAdditionalInformation = true;
291 ignoreArtifacts = true;
292 ignoreInterfaces = true;
293 ignoreInterfaceInstances = true;
294 ignoreDerivedFrom = true;
295 ignoreAttributesFrom = true;
297 ignoreComponentInstancesAttributesFrom = true;
298 ignoreComponentInstancesInputs = true;
299 ignoreCapabiltyProperties = true;
300 ignoreServicePath = true;
301 ignoreNodeFilterRequirements = true;
302 ignoreSubstitutionFilterRequirements = true;
303 ignoreNodeFilter = true;
304 ignoreSubstitutionFilter = true;
305 ignoreDataType = true;
308 public boolean isIgnoreGroups() {
312 public void setIgnoreGroups(boolean ignoreGroups) {
313 this.ignoreGroups = ignoreGroups;
315 this.ignoreCapabiltyProperties = ignoreGroups;
316 this.ignoreCapabilities = ignoreGroups;
320 public boolean isIgnoreComponentInstances() {
321 return ignoreComponentInstances;
324 public void setIgnoreComponentInstances(boolean ignoreComponentInstances) {
325 this.ignoreComponentInstances = ignoreComponentInstances;
328 public boolean isIgnoreProperties() {
329 return ignoreProperties;
332 public void setIgnoreProperties(boolean ignoreProperties) {
333 this.ignoreProperties = ignoreProperties;
336 public boolean isIgnoreCapabilities() {
337 return ignoreCapabilities;
340 public void setIgnoreCapabilities(boolean ignoreCapabilities) {
341 this.ignoreCapabilities = ignoreCapabilities;
344 public boolean isIgnoreRequirements() {
345 return ignoreRequirements;
348 public void setIgnoreRequirements(boolean ignoreRequirements) {
349 this.ignoreRequirements = ignoreRequirements;
352 public boolean isIgnoreCategories() {
353 return ignoreCategories;
356 public void setIgnoreCategories(boolean ignoreCategories) {
357 this.ignoreCategories = ignoreCategories;
360 public boolean isIgnoreAllVersions() {
361 return ignoreAllVersions;
364 public void setIgnoreAllVersions(boolean ignoreAllVersions) {
365 this.ignoreAllVersions = ignoreAllVersions;
368 public boolean isIgnoreAdditionalInformation() {
369 return ignoreAdditionalInformation;
372 private void setIgnoreAdditionalInformation(boolean ignoreAdditionalInformation) {
373 this.ignoreAdditionalInformation = ignoreAdditionalInformation;
376 public boolean isIgnoreArtifacts() {
377 return ignoreArtifacts;
380 public void setIgnoreArtifacts(boolean ignoreArtifacts) {
381 this.ignoreArtifacts = ignoreArtifacts;
384 public boolean isIgnoreComponentInstancesProperties() {
385 return ignoreComponentInstancesProperties;
388 public void setIgnoreComponentInstancesProperties(boolean ignoreComponentInstancesProperties) {
389 this.ignoreComponentInstancesProperties = ignoreComponentInstancesProperties;
392 public boolean isIgnoreComponentInstancesInputs() {
393 return ignoreComponentInstancesInputs;
396 public void setIgnoreComponentInstancesInputs(boolean ignoreComponentInstancesInputs) {
397 this.ignoreComponentInstancesInputs = ignoreComponentInstancesInputs;
400 public boolean isIgnoreInterfaces() {
401 return ignoreInterfaces;
404 public void setIgnoreInterfaces(boolean ignoreInterfaces) {
405 this.ignoreInterfaces = ignoreInterfaces;
408 public boolean isIgnoreComponentInstancesInterfaces() {
409 return ignoreComponentInstancesInterfaces;
412 public void setIgnoreComponentInstancesInterfaces(boolean ignoreComponentInstancesInterfaces) {
413 this.ignoreComponentInstancesInterfaces = ignoreComponentInstancesInterfaces;
416 public boolean isIgnoreAttributesFrom() {
417 return ignoreAttributesFrom;
420 public void setIgnoreAttributesFrom(boolean ignoreAttributesFrom) {
421 this.ignoreAttributesFrom = ignoreAttributesFrom;
424 public boolean isIgnoreComponentInstancesAttributesFrom() {
425 return ignoreComponentInstancesAttributesFrom;
428 private void setIgnoreComponentInstancesAttributesFrom(boolean ignoreComponentInstancesAttributesFrom) {
429 this.ignoreComponentInstancesAttributesFrom = ignoreComponentInstancesAttributesFrom;
432 public boolean isIgnoreDerivedFrom() {
433 return ignoreDerivedFrom;
436 private void setIgnoreDerivedFrom(boolean ignoreDerivedFrom) {
437 this.ignoreDerivedFrom = ignoreDerivedFrom;
440 public boolean isIgnoreUsers() {
444 public void setIgnoreUsers(boolean ignoreUsers) {
445 this.ignoreUsers = ignoreUsers;
448 public boolean isIgnoreInputs() {
452 public void setIgnoreInputs(boolean ignoreInputs) {
453 this.ignoreInputs = ignoreInputs;
456 public boolean isIgnoreCapabiltyProperties() {
457 return ignoreCapabiltyProperties;
460 public void setIgnoreCapabiltyProperties(boolean ignoreCapabiltyProperties) {
461 this.ignoreCapabiltyProperties = ignoreCapabiltyProperties;
464 public boolean isIgnoreForwardingPath() {
465 return ignoreServicePath;
468 public void setIgnoreForwardingPath(boolean ignoreServicePath) {
469 this.ignoreServicePath = ignoreServicePath;
472 public boolean isIgnorePolicies() {
473 return ignorePolicies;
476 public void setIgnorePolicies(boolean ignorePolicies) {
477 this.ignorePolicies = ignorePolicies;
480 public boolean isIgnoreNodeFilter() {
481 return ignoreNodeFilter;
484 public void setIgnoreNodeFilter(boolean ignoreNodeFilter) {
485 this.ignoreNodeFilter = ignoreNodeFilter;
488 public boolean isIgnoreSubstitutionFilter() {
489 return ignoreSubstitutionFilter;
492 public void setIgnoreSubstitutionFilter(boolean ignoreSubstitutionFilter) {
493 this.ignoreSubstitutionFilter = ignoreSubstitutionFilter;
496 public boolean isIgnoreDataType() {
497 return ignoreDataType;
500 public void setIgnoreDataType(boolean ignoreDataType) {
501 this.ignoreDataType = ignoreDataType;
504 public JsonParseFlagEnum detectParseFlag() {
505 JsonParseFlagEnum parseFlag;
506 if (isIgnoreComponentInstances()) {
507 parseFlag = JsonParseFlagEnum.ParseMetadata;
509 parseFlag = JsonParseFlagEnum.ParseAll;