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 private boolean ignoreUsers = false;
32 private boolean ignoreGroups = false;
33 private boolean ignoreComponentInstances = false;
34 private boolean ignoreComponentInstancesProperties = false;
35 private boolean ignoreProperties = false;
36 private boolean ignoreCapabilities = false;
37 private boolean ignoreRequirements = false;
38 private boolean ignoreCategories = false;
39 private boolean ignoreAllVersions = false;
40 private boolean ignoreAdditionalInformation = false;
41 private boolean ignoreArtifacts = false;
42 private boolean ignoreInterfaces = false;
43 private boolean ignoreDerivedFrom = false;
44 private boolean ignoreAttributesFrom = false;
45 private boolean ignoreComponentInstancesAttributesFrom = false;
46 private boolean ignoreInputs = false;
47 private boolean ignoreComponentInstancesInputs = false;
48 private boolean ignoreCapabiltyProperties = true;
49 private boolean ignoreServicePath = true;
50 private 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 case NON_EXCLUDED_GROUPS:
87 this.setIgnoreGroups(false);
89 case COMPONENT_INSTANCES:
90 this.setIgnoreComponentInstances(false);
91 this.setIgnoreCapabilities(false);
92 this.setIgnoreRequirements(false);
94 case COMPONENT_INSTANCES_PROPERTIES:
95 this.setIgnoreComponentInstances(false); //we need this in order to get the calculate capabilities requirements
96 this.setIgnoreComponentInstancesProperties(false);
99 this.setIgnoreComponentInstances(false);//we need this in order to get the calculate capabilities requirements
100 this.setIgnoreCapabilities(false);
103 this.setIgnoreComponentInstances(false);
104 this.setIgnoreRequirements(false);
107 this.setIgnoreAllVersions(false);
109 case ADDITIONAL_INFORMATION:
110 this.setIgnoreAdditionalInformation(false);
113 case DEPLOYMENT_ARTIFACTS:
114 case TOSCA_ARTIFACTS:
115 case SERVICE_API_ARTIFACTS:
116 this.setIgnoreArtifacts(false);
119 this.setIgnoreInterfaces(false);
122 this.setIgnoreDerivedFrom(false);
125 this.setIgnoreAttributesFrom(false);
127 case COMPONENT_INSTANCES_ATTRIBUTES:
128 this.setIgnoreComponentInstances(false);
129 this.setIgnoreComponentInstancesAttributesFrom(false);
131 case COMPONENT_INSTANCE_INPUTS:
132 this.setIgnoreComponentInstances(false);
133 this.setIgnoreComponentInstancesInputs(false);
135 case INSTANCE_CAPABILTY_PROPERTIES:
136 this.setIgnoreCapabiltyProperties(false);
138 case FORWARDING_PATHS:
139 this.setIgnoreForwardingPath(false);
142 case NON_EXCLUDED_POLICIES:
143 this.setIgnorePolicies(false);
152 ///////////////////////////////////////////////////////////////
153 // When adding new member, please update the filter method.
154 ///////////////////////////////////////////////////////////////
156 public Component filter(Component component, ComponentTypeEnum componentType) {
159 component.setCreatorUserId(null);
160 component.setCreatorFullName(null);
161 component.setLastUpdaterUserId(null);
162 component.setLastUpdaterFullName(null);
165 component.setGroups(null);
167 if (ignoreComponentInstances) {
168 component.setComponentInstances(null);
169 component.setComponentInstancesRelations(null);
171 if (ignoreComponentInstancesProperties) {
172 component.setComponentInstancesProperties(null);
174 if (ignoreProperties && componentType == ComponentTypeEnum.RESOURCE) {
175 ((Resource) component).setProperties(null);
177 if (ignoreCapabilities) {
178 component.setCapabilities(null);
180 if (ignoreRequirements) {
181 component.setRequirements(null);
183 if (ignoreCategories) {
184 component.setCategories(null);
186 if (ignoreAllVersions) {
187 component.setAllVersions(null);
189 if (ignoreAdditionalInformation && componentType == ComponentTypeEnum.RESOURCE) {
190 ((Resource) component).setAdditionalInformation(null);
192 if (ignoreArtifacts) {
193 component.setArtifacts(null);
194 component.setSpecificComponetTypeArtifacts(null);
195 component.setDeploymentArtifacts(null);
196 component.setToscaArtifacts(null);
198 if (ignoreInterfaces && componentType == ComponentTypeEnum.RESOURCE) {
199 ((Resource) component).setInterfaces(null);
201 if (ignoreDerivedFrom && componentType == ComponentTypeEnum.RESOURCE) {
202 ((Resource) component).setDerivedFrom(null);
204 if (ignoreAttributesFrom && componentType == ComponentTypeEnum.RESOURCE) {
205 ((Resource) component).setAttributes(null);
207 if (ignoreComponentInstancesAttributesFrom) {
208 component.setComponentInstancesAttributes(null);
211 component.setInputs(null);
213 if (ignoreComponentInstancesInputs) {
214 component.setComponentInstancesInputs(null);
216 if (ignoreServicePath && componentType == ComponentTypeEnum.SERVICE) {
217 ((Service) component).setForwardingPaths(null);
222 public void disableAll() {
225 ignorePolicies = true;
226 ignoreComponentInstances = true;
227 ignoreComponentInstancesProperties = true;
228 ignoreProperties = true;
229 ignoreCapabilities = true;
230 ignoreRequirements = true;
231 ignoreCategories = true;
232 ignoreAllVersions = true;
233 ignoreAdditionalInformation = true;
234 ignoreArtifacts = true;
235 ignoreInterfaces = true;
236 ignoreDerivedFrom = true;
237 ignoreAttributesFrom = true;
239 ignoreComponentInstancesAttributesFrom = true;
240 ignoreComponentInstancesInputs = true;
241 ignoreCapabiltyProperties = true;
242 ignoreServicePath = true;
245 public boolean isIgnoreGroups() {
249 public void setIgnoreGroups(boolean ignoreGroups) {
250 this.ignoreGroups = ignoreGroups;
252 this.ignoreCapabiltyProperties = ignoreGroups;
253 this.ignoreCapabilities = ignoreGroups;
257 public boolean isIgnoreComponentInstances() {
258 return ignoreComponentInstances;
261 public void setIgnoreComponentInstances(boolean ignoreComponentInstances) {
262 this.ignoreComponentInstances = ignoreComponentInstances;
265 public boolean isIgnoreProperties() {
266 return ignoreProperties;
269 public void setIgnoreProperties(boolean ignoreProperties) {
270 this.ignoreProperties = ignoreProperties;
273 public boolean isIgnoreCapabilities() {
274 return ignoreCapabilities;
277 public void setIgnoreCapabilities(boolean ignoreCapabilities) {
278 this.ignoreCapabilities = ignoreCapabilities;
281 public boolean isIgnoreRequirements() {
282 return ignoreRequirements;
285 public void setIgnoreRequirements(boolean ignoreRequirements) {
286 this.ignoreRequirements = ignoreRequirements;
289 public boolean isIgnoreCategories() {
290 return ignoreCategories;
293 public void setIgnoreCategories(boolean ignoreCategories) {
294 this.ignoreCategories = ignoreCategories;
297 public boolean isIgnoreAllVersions() {
298 return ignoreAllVersions;
301 public void setIgnoreAllVersions(boolean ignoreAllVersions) {
302 this.ignoreAllVersions = ignoreAllVersions;
305 public boolean isIgnoreAdditionalInformation() {
306 return ignoreAdditionalInformation;
309 private void setIgnoreAdditionalInformation(boolean ignoreAdditionalInformation) {
310 this.ignoreAdditionalInformation = ignoreAdditionalInformation;
313 public boolean isIgnoreArtifacts() {
314 return ignoreArtifacts;
317 public void setIgnoreArtifacts(boolean ignoreArtifacts) {
318 this.ignoreArtifacts = ignoreArtifacts;
321 public boolean isIgnoreComponentInstancesProperties() {
322 return ignoreComponentInstancesProperties;
325 public void setIgnoreComponentInstancesProperties(boolean ignoreComponentInstancesProperties) {
326 this.ignoreComponentInstancesProperties = ignoreComponentInstancesProperties;
329 public boolean isIgnoreComponentInstancesInputs() {
330 return ignoreComponentInstancesInputs;
333 public void setIgnoreComponentInstancesInputs(boolean ignoreComponentInstancesInputs) {
334 this.ignoreComponentInstancesInputs = ignoreComponentInstancesInputs;
337 public boolean isIgnoreInterfaces() {
338 return ignoreInterfaces;
341 public void setIgnoreInterfaces(boolean ignoreInterfaces) {
342 this.ignoreInterfaces = ignoreInterfaces;
345 public boolean isIgnoreAttributesFrom() {
346 return ignoreAttributesFrom;
349 public void setIgnoreAttributesFrom(boolean ignoreAttributesFrom) {
350 this.ignoreAttributesFrom = ignoreAttributesFrom;
353 public boolean isIgnoreComponentInstancesAttributesFrom() {
354 return ignoreComponentInstancesAttributesFrom;
357 private void setIgnoreComponentInstancesAttributesFrom(boolean ignoreComponentInstancesAttributesFrom) {
358 this.ignoreComponentInstancesAttributesFrom = ignoreComponentInstancesAttributesFrom;
361 public boolean isIgnoreDerivedFrom() {
362 return ignoreDerivedFrom;
365 private void setIgnoreDerivedFrom(boolean ignoreDerivedFrom) {
366 this.ignoreDerivedFrom = ignoreDerivedFrom;
369 public boolean isIgnoreUsers() {
373 public void setIgnoreUsers(boolean ignoreUsers) {
374 this.ignoreUsers = ignoreUsers;
377 public boolean isIgnoreInputs() {
381 public void setIgnoreInputs(boolean ignoreInputs) {
382 this.ignoreInputs = ignoreInputs;
385 public boolean isIgnoreCapabiltyProperties() {
386 return ignoreCapabiltyProperties;
389 public void setIgnoreCapabiltyProperties(boolean ignoreCapabiltyProperties) {
390 this.ignoreCapabiltyProperties = ignoreCapabiltyProperties;
393 public boolean isIgnoreForwardingPath() {
394 return ignoreServicePath;
397 public void setIgnoreForwardingPath(boolean ignoreServicePath) {
398 this.ignoreServicePath = ignoreServicePath;
401 public boolean isIgnorePolicies() {
402 return ignorePolicies;
405 public void setIgnorePolicies(boolean ignorePolicies) {
406 this.ignorePolicies = ignorePolicies;
409 public JsonParseFlagEnum detectParseFlag() {
410 JsonParseFlagEnum parseFlag;
411 if (isIgnoreComponentInstances()) {
412 parseFlag = JsonParseFlagEnum.ParseMetadata;
414 parseFlag = JsonParseFlagEnum.ParseAll;