* ============LICENSE_START=======================================================
* org.onap.aai
* ================================================================================
- * Copyright © 2017-2019 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2019 European Software Marketing Ltd.
+ * Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2017-2019 European Software Marketing Ltd.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.babel.xml.generator.model;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.onap.aai.babel.xml.generator.model.Widget.Type;
+import org.onap.aai.babel.xml.generator.XmlArtifactGenerationException;
+import org.onap.aai.babel.xml.generator.types.ModelType;
public class Resource extends Model {
- private Type type;
+ private WidgetType type;
private boolean deleteFlag;
- private boolean isResource = true;
+ private ModelType modelType = ModelType.RESOURCE;
private Map<String, Object> properties = Collections.emptyMap();
Widget vserver = null;
boolean addvolume = false;
List<String> members;
- public Resource(Type type, boolean deleteFlag) {
+ public Resource(WidgetType type, boolean deleteFlag) {
this.type = type;
this.deleteFlag = deleteFlag;
}
+ /**
+ * Copy Constructor.
+ *
+ * @param baseResource
+ */
+ public Resource(Resource baseResource) {
+ this(baseResource.getWidgetType(), baseResource.getDeleteFlag());
+ setModelType(baseResource.getModelType());
+ }
+
@Override
public int hashCode() {
final String uuid = getModelNameVersionId();
return false;
}
+ @Override
public boolean getDeleteFlag() {
return deleteFlag;
}
- public String getWidgetInvariantId() {
- return Widget.getWidget(getWidgetType()).getWidgetId();
- }
-
- public String getWidgetId() {
- return Widget.getWidget(getWidgetType()).getId();
- }
-
public void setProperties(Map<String, Object> properties) {
this.properties = properties;
}
- @Override
public Map<String, Object> getProperties() {
return properties;
}
- public void setIsResource(boolean isResource) {
- this.isResource = isResource;
+ public void setModelType(ModelType type) {
+ this.modelType = type;
}
- @Override
- public boolean isResource() {
- return isResource;
+ public ModelType getModelType() {
+ return modelType;
}
public void setMembers(List<String> members) {
this.members = members;
}
- @Override
- public boolean addResource(Resource resource) {
- return resources.add(resource);
- }
-
/**
* Adds a Widget.
*
* @param widget
* the widget
* @return the boolean
+ * @throws XmlArtifactGenerationException
*/
@Override
- public boolean addWidget(Widget widget) {
- if (type == Type.VFMODULE) {
+ public boolean addWidget(Widget widget) throws XmlArtifactGenerationException {
+ if (type == WidgetType.valueOf("VFMODULE")) {
if (widget.memberOf(members)) {
- if (vserver == null && widget.getId().equals(new VServerWidget().getId())) {
+ if (vserver == null && widget.hasWidgetType("VSERVER")) {
addVserverWidget(widget);
- } else if (widget.getId().equals(new LIntfWidget().getId())) {
+ } else if (widget.hasWidgetType("LINT")) {
return addLIntfWidget(widget);
- } else if (widget.getId().equals(new VolumeWidget().getId())) {
+ } else if (widget.hasWidgetType("VOLUME")) {
addVolumeWidget(widget);
return true;
}
- if (widget.getId().equals(new OamNetwork().getId())) {
- return false;
+ if (!widget.hasWidgetType("OAM_NETWORK")) {
+ return widgets.add(widget);
}
- return widgets.add(widget);
}
return false;
} else {
}
}
- public Type getWidgetType() {
+ @Override
+ public WidgetType getWidgetType() {
return type;
}
+ @Override
+ public String getModelTypeName() {
+ return "resource";
+ }
+
+ @Override
+ public String toString() {
+ return "Resource [widget type=" + getWidgetType() + ", deleteFlag=" + deleteFlag + ", modelType=" + modelType
+ + ", properties=" + properties + ", vserver=" + vserver + ", addlintf=" + addlintf + ", addvolume="
+ + addvolume + ", members=" + members + "]";
+ }
+
private void addVolumeWidget(Widget widget) {
if (vserver != null) {
vserver.addWidget(widget);
}
}
- private void addVserverWidget(Widget widget) {
+ private void addVserverWidget(Widget widget) throws XmlArtifactGenerationException {
vserver = widget;
if (addlintf) {
- vserver.addWidget(new LIntfWidget());
+ vserver.addWidget(Widget.getWidget(WidgetType.valueOf("LINT")));
}
if (addvolume) {
- vserver.addWidget(new VolumeWidget());
+ vserver.addWidget(Widget.getWidget(WidgetType.valueOf("VOLUME")));
}
}