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 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 = true;
50 private boolean ignoreServicePath = true;
51 private boolean ignorePolicies = false;
52 private boolean ignoreNodeFilter = false;
54 public ComponentParametersView() {
57 public ComponentParametersView(boolean setAllToIgnore) {
64 public ComponentParametersView(List<String> filters) {
67 for (String fieldName : filters) {
68 switch (ComponentFieldsEnum.findByValue(fieldName)) {
70 this.setIgnoreProperties(false);
73 this.setIgnoreInputs(false);
76 this.setIgnoreUsers(false);
79 this.setIgnoreCategories(false);
82 this.setIgnoreUsers(false);
83 this.setIgnoreCategories(false);
84 this.setIgnoreAllVersions(false);
85 this.setIgnoreDerivedFrom(false);
88 case NON_EXCLUDED_GROUPS:
89 this.setIgnoreGroups(false);
91 case COMPONENT_INSTANCES:
92 this.setIgnoreComponentInstances(false);
93 this.setIgnoreCapabilities(false);
94 this.setIgnoreRequirements(false);
95 this.setIgnoreNodeFilter(false);
97 case COMPONENT_INSTANCES_PROPERTIES:
98 this.setIgnoreComponentInstances(false); //we need this in order to get the calculate capabilities requirements
99 this.setIgnoreComponentInstancesProperties(false);
102 this.setIgnoreComponentInstances(false);//we need this in order to get the calculate capabilities requirements
103 this.setIgnoreCapabilities(false);
106 this.setIgnoreComponentInstances(false);
107 this.setIgnoreRequirements(false);
110 this.setIgnoreAllVersions(false);
112 case ADDITIONAL_INFORMATION:
113 this.setIgnoreAdditionalInformation(false);
116 case DEPLOYMENT_ARTIFACTS:
117 case TOSCA_ARTIFACTS:
118 case SERVICE_API_ARTIFACTS:
119 this.setIgnoreArtifacts(false);
122 this.setIgnoreInterfaces(false);
125 this.setIgnoreDerivedFrom(false);
128 this.setIgnoreAttributesFrom(false);
130 case COMPONENT_INSTANCES_ATTRIBUTES:
131 this.setIgnoreComponentInstances(false);
132 this.setIgnoreComponentInstancesAttributesFrom(false);
134 case COMPONENT_INSTANCE_INPUTS:
135 this.setIgnoreComponentInstances(false);
136 this.setIgnoreComponentInstancesInputs(false);
138 case INSTANCE_CAPABILTY_PROPERTIES:
139 this.setIgnoreCapabiltyProperties(false);
141 case FORWARDING_PATHS:
142 this.setIgnoreForwardingPath(false);
145 case NON_EXCLUDED_POLICIES:
146 this.setIgnorePolicies(false);
149 this.setIgnoreNodeFilter(false);
151 case COMPONENT_INSTANCES_INTERFACES:
152 this.setIgnoreComponentInstances(false);
153 this.setIgnoreComponentInstancesInterfaces(false);
162 ///////////////////////////////////////////////////////////////
163 // When adding new member, please update the filter method.
164 ///////////////////////////////////////////////////////////////
166 public Component filter(Component component, ComponentTypeEnum componentType) {
169 component.setCreatorUserId(null);
170 component.setCreatorFullName(null);
171 component.setLastUpdaterUserId(null);
172 component.setLastUpdaterFullName(null);
175 component.setGroups(null);
177 if (ignoreComponentInstances) {
178 component.setComponentInstances(null);
179 component.setComponentInstancesRelations(null);
181 if (ignoreComponentInstancesProperties) {
182 component.setComponentInstancesProperties(null);
184 if (ignoreProperties && componentType == ComponentTypeEnum.RESOURCE) {
185 ((Resource) component).setProperties(null);
187 if (ignoreCapabilities) {
188 component.setCapabilities(null);
190 if (ignoreRequirements) {
191 component.setRequirements(null);
193 if (ignoreCategories) {
194 component.setCategories(null);
196 if (ignoreAllVersions) {
197 component.setAllVersions(null);
199 if (ignoreAdditionalInformation && componentType == ComponentTypeEnum.RESOURCE) {
200 ((Resource) component).setAdditionalInformation(null);
202 if (ignoreArtifacts) {
203 component.setArtifacts(null);
204 component.setSpecificComponetTypeArtifacts(null);
205 component.setDeploymentArtifacts(null);
206 component.setToscaArtifacts(null);
208 if (ignoreInterfaces && componentType == ComponentTypeEnum.RESOURCE) {
209 ((Resource) component).setInterfaces(null);
211 if (ignoreDerivedFrom && componentType == ComponentTypeEnum.RESOURCE) {
212 ((Resource) component).setDerivedFrom(null);
214 if (ignoreAttributesFrom && componentType == ComponentTypeEnum.RESOURCE) {
215 ((Resource) component).setAttributes(null);
217 if (ignoreComponentInstancesAttributesFrom) {
218 component.setComponentInstancesAttributes(null);
221 component.setInputs(null);
223 if (ignoreComponentInstancesInputs) {
224 component.setComponentInstancesInputs(null);
226 if (ignoreServicePath && componentType == ComponentTypeEnum.SERVICE) {
227 ((Service) component).setForwardingPaths(null);
229 if (ignoreNodeFilter){
230 component.setNodeFilterComponents(null);
235 public void disableAll() {
238 ignorePolicies = true;
239 ignoreComponentInstances = true;
240 ignoreComponentInstancesProperties = true;
241 ignoreProperties = true;
242 ignoreCapabilities = true;
243 ignoreRequirements = true;
244 ignoreCategories = true;
245 ignoreAllVersions = true;
246 ignoreAdditionalInformation = true;
247 ignoreArtifacts = true;
248 ignoreInterfaces = true;
249 ignoreDerivedFrom = true;
250 ignoreAttributesFrom = true;
252 ignoreComponentInstancesAttributesFrom = true;
253 ignoreComponentInstancesInputs = true;
254 ignoreCapabiltyProperties = true;
255 ignoreServicePath = true;
256 ignoreNodeFilter = true;
259 public boolean isIgnoreGroups() {
263 public void setIgnoreGroups(boolean ignoreGroups) {
264 this.ignoreGroups = ignoreGroups;
266 this.ignoreCapabiltyProperties = ignoreGroups;
267 this.ignoreCapabilities = ignoreGroups;
271 public boolean isIgnoreComponentInstances() {
272 return ignoreComponentInstances;
275 public void setIgnoreComponentInstances(boolean ignoreComponentInstances) {
276 this.ignoreComponentInstances = ignoreComponentInstances;
279 public boolean isIgnoreProperties() {
280 return ignoreProperties;
283 public void setIgnoreProperties(boolean ignoreProperties) {
284 this.ignoreProperties = ignoreProperties;
287 public boolean isIgnoreCapabilities() {
288 return ignoreCapabilities;
291 public void setIgnoreCapabilities(boolean ignoreCapabilities) {
292 this.ignoreCapabilities = ignoreCapabilities;
295 public boolean isIgnoreRequirements() {
296 return ignoreRequirements;
299 public void setIgnoreRequirements(boolean ignoreRequirements) {
300 this.ignoreRequirements = ignoreRequirements;
303 public boolean isIgnoreCategories() {
304 return ignoreCategories;
307 public void setIgnoreCategories(boolean ignoreCategories) {
308 this.ignoreCategories = ignoreCategories;
311 public boolean isIgnoreAllVersions() {
312 return ignoreAllVersions;
315 public void setIgnoreAllVersions(boolean ignoreAllVersions) {
316 this.ignoreAllVersions = ignoreAllVersions;
319 public boolean isIgnoreAdditionalInformation() {
320 return ignoreAdditionalInformation;
323 private void setIgnoreAdditionalInformation(boolean ignoreAdditionalInformation) {
324 this.ignoreAdditionalInformation = ignoreAdditionalInformation;
327 public boolean isIgnoreArtifacts() {
328 return ignoreArtifacts;
331 public void setIgnoreArtifacts(boolean ignoreArtifacts) {
332 this.ignoreArtifacts = ignoreArtifacts;
335 public boolean isIgnoreComponentInstancesProperties() {
336 return ignoreComponentInstancesProperties;
339 public void setIgnoreComponentInstancesProperties(boolean ignoreComponentInstancesProperties) {
340 this.ignoreComponentInstancesProperties = ignoreComponentInstancesProperties;
343 public boolean isIgnoreComponentInstancesInputs() {
344 return ignoreComponentInstancesInputs;
347 public void setIgnoreComponentInstancesInputs(boolean ignoreComponentInstancesInputs) {
348 this.ignoreComponentInstancesInputs = ignoreComponentInstancesInputs;
351 public boolean isIgnoreInterfaces() {
352 return ignoreInterfaces;
355 public void setIgnoreInterfaces(boolean ignoreInterfaces) {
356 this.ignoreInterfaces = ignoreInterfaces;
359 public boolean isIgnoreComponentInstancesInterfaces() {
360 return ignoreComponentInstancesInterfaces;
363 public void setIgnoreComponentInstancesInterfaces(boolean ignoreComponentInstancesInterfaces) {
364 this.ignoreComponentInstancesInterfaces = ignoreComponentInstancesInterfaces;
367 public boolean isIgnoreAttributesFrom() {
368 return ignoreAttributesFrom;
371 public void setIgnoreAttributesFrom(boolean ignoreAttributesFrom) {
372 this.ignoreAttributesFrom = ignoreAttributesFrom;
375 public boolean isIgnoreComponentInstancesAttributesFrom() {
376 return ignoreComponentInstancesAttributesFrom;
379 private void setIgnoreComponentInstancesAttributesFrom(boolean ignoreComponentInstancesAttributesFrom) {
380 this.ignoreComponentInstancesAttributesFrom = ignoreComponentInstancesAttributesFrom;
383 public boolean isIgnoreDerivedFrom() {
384 return ignoreDerivedFrom;
387 private void setIgnoreDerivedFrom(boolean ignoreDerivedFrom) {
388 this.ignoreDerivedFrom = ignoreDerivedFrom;
391 public boolean isIgnoreUsers() {
395 public void setIgnoreUsers(boolean ignoreUsers) {
396 this.ignoreUsers = ignoreUsers;
399 public boolean isIgnoreInputs() {
403 public void setIgnoreInputs(boolean ignoreInputs) {
404 this.ignoreInputs = ignoreInputs;
407 public boolean isIgnoreCapabiltyProperties() {
408 return ignoreCapabiltyProperties;
411 public void setIgnoreCapabiltyProperties(boolean ignoreCapabiltyProperties) {
412 this.ignoreCapabiltyProperties = ignoreCapabiltyProperties;
415 public boolean isIgnoreForwardingPath() {
416 return ignoreServicePath;
419 public void setIgnoreForwardingPath(boolean ignoreServicePath) {
420 this.ignoreServicePath = ignoreServicePath;
423 public boolean isIgnorePolicies() {
424 return ignorePolicies;
427 public void setIgnorePolicies(boolean ignorePolicies) {
428 this.ignorePolicies = ignorePolicies;
431 public boolean isIgnoreNodeFilter() {
432 return ignoreNodeFilter;
435 public void setIgnoreNodeFilter(boolean ignoreNodeFilter) {
436 this.ignoreNodeFilter = ignoreNodeFilter;
439 public JsonParseFlagEnum detectParseFlag() {
440 JsonParseFlagEnum parseFlag;
441 if (isIgnoreComponentInstances()) {
442 parseFlag = JsonParseFlagEnum.ParseMetadata;
444 parseFlag = JsonParseFlagEnum.ParseAll;