From: sebdet Date: Wed, 20 May 2020 16:36:43 +0000 (+0200) Subject: Create SVG in UI X-Git-Tag: 5.1.0~43^2~2 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=clamp.git;a=commitdiff_plain;h=9e25792898ae648234239403374db8bb923bc180 Create SVG in UI Remove the SVG generation from the backend and put it in the UI. Backend removal code + clean up of test resources Issue-ID: CLAMP-854 Signed-off-by: sebdet Change-Id: Ie9d6cd20f0135b459dbc85901b9a66f65002a85c --- diff --git a/src/main/java/org/onap/clamp/clds/util/XmlTools.java b/src/main/java/org/onap/clamp/clds/util/XmlTools.java deleted file mode 100644 index a7d4ed9f..00000000 --- a/src/main/java/org/onap/clamp/clds/util/XmlTools.java +++ /dev/null @@ -1,78 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util; - -import java.io.StringWriter; -import javax.xml.XMLConstants; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import org.apache.batik.anim.dom.SVGDOMImplementation; -import org.apache.batik.dom.GenericDOMImplementation; -import org.apache.batik.util.SVGConstants; -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; - -public class XmlTools { - - /** - * Private constructor to avoid creating instances of util class. - */ - private XmlTools(){ - } - - /** - * Transforms document to XML string. - * - * @param doc XML document - * @return XML string - */ - public static String exportXmlDocumentAsString(Document doc) { - try { - TransformerFactory tf = TransformerFactory.newInstance(); - tf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); - Transformer transformer = tf.newTransformer(); - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); - StringWriter writer = new StringWriter(); - transformer.transform(new DOMSource(doc), new StreamResult(writer)); - return writer.getBuffer().toString(); - } catch (TransformerException e) { - throw new RuntimeException(e); - } - } - - /** - * Creates empty svg document. - * - * @return Document - */ - public static Document createEmptySvgDocument() { - DOMImplementation domImplementation = GenericDOMImplementation.getDOMImplementation(); - String svgNs = SVGDOMImplementation.SVG_NAMESPACE_URI; - return domImplementation.createDocument(svgNs, SVGConstants.SVG_SVG_TAG, null); - } -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/AwtUtils.java b/src/main/java/org/onap/clamp/clds/util/drawing/AwtUtils.java deleted file mode 100755 index a4a5a384..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/AwtUtils.java +++ /dev/null @@ -1,93 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Modifications Copyright (c) 2019 Samsung - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * Modifications copyright (c) 2019 AT&T. - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.awt.Color; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; - -public class AwtUtils { - private static final int ARROW_W = 4; - private static final int ARROW_H = 2; - private static final int FONT_SIZE = 12; - private static final int FONT_STYLE = Font.PLAIN; - private static final String FONT_FACE = "SansSerif"; - private static final Color TRANSPARENT = new Color(0.0f, 0.0f, 0.0f, 0.0f); - private static final int TEXT_PADDING = 5; - - private AwtUtils() { - } - - static void rectWithText(Graphics2D g2d, String text, Point point, int width, int height) { - Rectangle rect = new Rectangle(point.x, point.y, width, height); - g2d.draw(rect); - Color oldColor = g2d.getColor(); - g2d.setColor(TRANSPARENT); - g2d.fill(rect); - g2d.setColor(oldColor); - addText(g2d, text, rect); - } - - static void drawArrow(Graphics2D g2d, Point from, Point to, int lineThickness) { - int x2 = to.x - lineThickness; - g2d.drawLine(from.x, from.y, x2 - lineThickness, to.y); - g2d.drawPolygon(new int[] { x2 - ARROW_W, x2 - ARROW_W, x2 }, - new int[] { to.y - ARROW_H, to.y + ARROW_H, to.y }, 3); - g2d.fillPolygon(new int[] { x2 - ARROW_W, x2 - ARROW_W, x2 }, - new int[] { to.y - ARROW_H, to.y + ARROW_H, to.y }, 3); - } - - private static void addText(Graphics2D g2d, String text, Rectangle rect) { - int textBoundingBoxLimit = rect.width - 2 * TEXT_PADDING; - Font font = new Font(FONT_FACE, FONT_STYLE, FONT_SIZE); - font = scaleFontToFit(text, textBoundingBoxLimit, g2d, font); - Font oldFont = g2d.getFont(); - - g2d.setFont(font); - g2d.setColor(Color.BLACK); - FontMetrics fm1 = g2d.getFontMetrics(); - float x1 = rect.x + (float) (rect.width - fm1.stringWidth(text)) / 2; - float y1 = rect.y + (float) (rect.height - fm1.getHeight()) / 2 + fm1.getAscent(); - g2d.drawString(text, x1, y1); - - g2d.setFont(oldFont); - } - - private static Font scaleFontToFit(String text, int width, Graphics2D g2d, Font font) { - float fontSize = font.getSize(); - float stringWidth = g2d.getFontMetrics(font).stringWidth(text); - if (stringWidth <= width) { - return font; - } - fontSize = (width / stringWidth) * fontSize; - return font.deriveFont(fontSize); - } - -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraph.java b/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraph.java deleted file mode 100755 index 6b97de8e..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraph.java +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.util.Objects; -import org.onap.clamp.clds.util.XmlTools; - -public class ClampGraph { - private final DocumentBuilder documentBuilder; - private String svg; - - ClampGraph(DocumentBuilder documentBuilder) { - this.documentBuilder = documentBuilder; - } - - /** - * Returns svg string. - * - * @return svg string - */ - public String getAsSvg() { - if (Objects.isNull(svg) || svg.isEmpty()) { - svg = XmlTools.exportXmlDocumentAsString(this.documentBuilder.getGroupingDocument()); - } - return svg; - } -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilder.java b/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilder.java deleted file mode 100755 index 6cf342f2..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/ClampGraphBuilder.java +++ /dev/null @@ -1,107 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * Modifications copyright (c) 2019 AT&T - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.util.HashSet; -import java.util.Set; -import org.onap.clamp.loop.template.LoopElementModel; -import org.onap.clamp.policy.microservice.MicroServicePolicy; -import org.onap.clamp.policy.operational.OperationalPolicy; - -public class ClampGraphBuilder { - private Set policies = new HashSet<>(); - private String collector; - private Set microServices = new HashSet<>(); - private Set loopElementModels = new HashSet<>(); - private final Painter painter; - - public ClampGraphBuilder(Painter painter) { - this.painter = painter; - } - - public ClampGraphBuilder collector(String collector) { - this.collector = collector; - return this; - } - - public ClampGraphBuilder addPolicy(OperationalPolicy policy) { - this.policies.add(policy); - return this; - } - - public ClampGraphBuilder addAllPolicies(Set policies) { - this.policies.addAll(policies); - return this; - } - - public ClampGraphBuilder addMicroService(MicroServicePolicy ms) { - microServices.add(ms); - return this; - } - - public ClampGraphBuilder addAllMicroServices(Set msList) { - microServices.addAll(msList); - return this; - } - - /** - * This method adds all loop element specified in input to the current structure. - * - * @param loopElementModels A set of LoopElementModels - * @return Return the current ClampGraphBuilder - */ - public ClampGraphBuilder addAllLoopElementModels(Set loopElementModels) { - for (LoopElementModel elem : loopElementModels) { - this.addLoopElementModel(elem); - } - return this; - } - - /** - * This method adds one loop element specified in input to the current structure. - * - * @param loopElementModel A LoopElementModels - * @return Return the current ClampGraphBuilder - */ - public ClampGraphBuilder addLoopElementModel(LoopElementModel loopElementModel) { - if (LoopElementModel.MICRO_SERVICE_TYPE.equals(loopElementModel.getLoopElementType())) { - microServices.add(new MicroServicePolicy(loopElementModel.getName(), - loopElementModel.getPolicyModels().first(), false,null,loopElementModel,null,null)); - } else if (LoopElementModel.OPERATIONAL_POLICY_TYPE.equals(loopElementModel.getLoopElementType())) { - policies.add(new OperationalPolicy(loopElementModel.getName(), null, null, - loopElementModel.getPolicyModels().first(), loopElementModel, null, null)); - } - return this; - } - - /** - * Build the SVG. - * - * @return Clamp graph (SVG) - */ - public ClampGraph build() { - return new ClampGraph(painter.doPaint(collector, microServices, policies)); - } -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/DocumentBuilder.java b/src/main/java/org/onap/clamp/clds/util/drawing/DocumentBuilder.java deleted file mode 100644 index 7c624be0..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/DocumentBuilder.java +++ /dev/null @@ -1,67 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import org.apache.batik.svggen.SVGGraphics2D; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -public class DocumentBuilder { - private final Document groupingDocument; - private final Document documentFactory; - - static final String DATA_ELEMENT_ID_ATTRIBUTE = "data-element-id"; - static final String DATA_ELEMENT_GROUPING_ATTRIBUTE = "data-grouping-id"; - static final String DATA_FOR_UI_ATTRIBUTE = "data-for-ui"; - - DocumentBuilder(Document groupingDocument, Document documentFactory) { - this.groupingDocument = groupingDocument; - this.documentFactory = documentFactory; - } - - void pushChangestoDocument(SVGGraphics2D g2d, String dataElementId) { - pushChangestoDocument(g2d, dataElementId,null,null); - } - - void pushChangestoDocument(SVGGraphics2D g2d, String dataElementId, String dataGroupingId, String dataForUI) { - Element element = - this.documentFactory.createElementNS(SVGGraphics2D.SVG_NAMESPACE_URI, - SVGGraphics2D.SVG_G_TAG); - element.setAttribute(DATA_ELEMENT_ID_ATTRIBUTE, dataElementId); - if (dataGroupingId != null) { - element.setAttribute(DATA_ELEMENT_GROUPING_ATTRIBUTE, dataGroupingId); - } - if (dataForUI != null) { - element.setAttribute(DATA_FOR_UI_ATTRIBUTE, dataForUI); - } - g2d.getRoot(element); - Node node = this.groupingDocument.importNode(element, true); - this.groupingDocument.getDocumentElement().appendChild(node); - } - - Document getGroupingDocument() { - return groupingDocument; - } -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/ImageBuilder.java b/src/main/java/org/onap/clamp/clds/util/drawing/ImageBuilder.java deleted file mode 100644 index 72df90f2..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/ImageBuilder.java +++ /dev/null @@ -1,138 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.awt.BasicStroke; -import java.awt.Point; -import java.awt.Shape; -import java.awt.Stroke; -import java.awt.geom.Ellipse2D; -import java.util.UUID; - -import org.apache.batik.svggen.SVGGraphics2D; - -public class ImageBuilder { - - public static final int POLICY_LINE_RATIO = 2; - public static final int COLLECTOR_LINE_RATIO = 6; - public static final float MS_LINE_TO_HEIGHT_RATIO = 0.75f; - public static final float ARROW_TO_BASELINE_RATIO = 0.75f; - - private Point currentPoint; - private final int baseLength; - private final int rectHeight; - private final SVGGraphics2D g2d; - private final DocumentBuilder documentBuilder; - - private static final int LINE_THICKNESS = 2; - private static final int CIRCLE_RADIUS = 17; - - ImageBuilder(SVGGraphics2D svgGraphics2D, DocumentBuilder documentBuilder, Point startingPoint, int baseLength, - int rectHeight) { - this.g2d = svgGraphics2D; - this.documentBuilder = documentBuilder; - this.currentPoint = new Point(startingPoint); - this.baseLength = baseLength; - this.rectHeight = rectHeight; - } - - ImageBuilder rectangle(String dataElementId, RectTypes rectType, String boxText, String groupingId, String uiData) { - Point next = new Point(currentPoint.x + baseLength, currentPoint.y); - Point point = coordinatesForRectangle(currentPoint, next); - - handleBasedOnRectType(rectType, boxText, point, baseLength, rectHeight); - - documentBuilder.pushChangestoDocument(g2d, dataElementId, groupingId, uiData); - currentPoint = next; - return this; - } - - ImageBuilder arrow() { - String dataElementId = "Arrow-" + UUID.randomUUID().toString(); - Point to = new Point(currentPoint.x + (int) (baseLength * ARROW_TO_BASELINE_RATIO), currentPoint.y); - AwtUtils.drawArrow(g2d, currentPoint, to, LINE_THICKNESS); - documentBuilder.pushChangestoDocument(g2d, dataElementId); - currentPoint = to; - return this; - } - - ImageBuilder circle(String dataElementId, int lineThickness) { - Shape circleStart = new Ellipse2D.Double(currentPoint.x, ((double) currentPoint.y) - CIRCLE_RADIUS, - 2.0 * CIRCLE_RADIUS, 2.0 * CIRCLE_RADIUS); - - Stroke oldStroke = g2d.getStroke(); - g2d.setStroke(new BasicStroke(lineThickness)); - g2d.draw(circleStart); - g2d.setStroke(oldStroke); - documentBuilder.pushChangestoDocument(g2d, dataElementId); - Point to = new Point(currentPoint.x + 2 * CIRCLE_RADIUS, currentPoint.y); - currentPoint = to; - return this; - } - - DocumentBuilder getDocumentBuilder() { - return documentBuilder; - } - - private void handleBasedOnRectType(RectTypes rectType, String text, Point point, int width, int height) { - AwtUtils.rectWithText(g2d, text, point, width, height); - switch (rectType) { - case COLECTOR: - drawVerticalLineForCollector(point, width, height); - break; - case MICROSERVICE: - drawHorizontalLineForMicroService(point, width, height); - break; - case POLICY: - drawDiagonalLineForPolicy(point, width, height); - break; - default: - } - } - - private void drawVerticalLineForCollector(Point point, int width, int height) { - g2d.drawLine(point.x + width / COLLECTOR_LINE_RATIO, point.y, point.x + width / COLLECTOR_LINE_RATIO, - point.y + height); - } - - private void drawHorizontalLineForMicroService(Point point, int width, int height) { - int pointY = calculateMsHorizontalLineYCoordinate(point, height); - g2d.drawLine(point.x, pointY, point.x + width, pointY); - } - - private void drawDiagonalLineForPolicy(Point point, int width, int height) { - g2d.drawLine(point.x, point.y + height / POLICY_LINE_RATIO, point.x + width / POLICY_LINE_RATIO, point.y); - } - - private int calculateMsHorizontalLineYCoordinate(Point point, int height) { - return (int) (point.y * height * MS_LINE_TO_HEIGHT_RATIO); - } - - private Point coordinatesForRectangle(Point from, Point next) { - int pointX = from.x; - int pointY = from.y - next.y + LINE_THICKNESS / 2; - return new Point(pointX, pointY); - } - -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/InvalidStateException.java b/src/main/java/org/onap/clamp/clds/util/drawing/InvalidStateException.java deleted file mode 100644 index 91af9f1a..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/InvalidStateException.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -public class InvalidStateException extends RuntimeException { - public InvalidStateException(String message) { - super(message); - } -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/Painter.java b/src/main/java/org/onap/clamp/clds/util/drawing/Painter.java deleted file mode 100755 index ff7d2c21..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/Painter.java +++ /dev/null @@ -1,105 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * Modifications copyright (c) 2019 AT&T - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.awt.BasicStroke; -import java.awt.Color; -import java.awt.Point; -import java.awt.RenderingHints; -import java.util.Set; -import org.apache.batik.svggen.SVGGraphics2D; -import org.onap.clamp.policy.microservice.MicroServicePolicy; -import org.onap.clamp.policy.operational.OperationalPolicy; - -public class Painter { - private final int canvasSize; - private final SVGGraphics2D g2d; - private final DocumentBuilder documentBuilder; - - private static final int DEFAULT_CANVAS_SIZE = 900; - private static final int SLIM_LINE = 2; - private static final int THICK_LINE = 4; - private static final double RECT_RATIO = 3.0 / 2.0; - private static final int CIRCLE_RADIUS = 17; - private static final int MINIMUM_BASE_LENGTH = 120; - - /** - * Constructor to create instance of Painter. - * - * @param svgGraphics2D svg graphics - * @param documentBuilder document builder - */ - public Painter(SVGGraphics2D svgGraphics2D, DocumentBuilder documentBuilder) { - this.g2d = svgGraphics2D; - this.documentBuilder = documentBuilder; - this.canvasSize = DEFAULT_CANVAS_SIZE; - } - - DocumentBuilder doPaint(String collector, Set microServices, Set policies) { - int numOfRectangles = 2 + microServices.size(); - int numOfArrows = numOfRectangles + 1; - int baseLength = (canvasSize - 2 * CIRCLE_RADIUS) / (numOfArrows + numOfRectangles); - if (baseLength < MINIMUM_BASE_LENGTH) { - baseLength = MINIMUM_BASE_LENGTH; - } - int rectHeight = (int) (baseLength / RECT_RATIO); - - adjustGraphics2DProperties(); - - Point origin = new Point(1, rectHeight / 2); - ImageBuilder ib = new ImageBuilder(g2d, documentBuilder, origin, baseLength, rectHeight); - - doTheActualDrawing(collector, microServices, policies, ib); - - return ib.getDocumentBuilder(); - } - - private void doTheActualDrawing(String collector, Set microServices, - Set policies, - ImageBuilder ib) { - ib.circle("start-circle", SLIM_LINE).arrow().rectangle(collector, RectTypes.COLECTOR, collector, null, null); - - for (MicroServicePolicy ms : microServices) { - ib.arrow().rectangle(ms.getName(), - RectTypes.MICROSERVICE, ms.getPolicyModel().getPolicyAcronym(), - ms.getLoopElementModel() != null ? ms.getLoopElementModel().getName() : null, - ms.getLoopElementModel() != null ? ms.getLoopElementModel().getName() : null); - } - for (OperationalPolicy policy : policies) { - ib.arrow().rectangle(policy.getName(), RectTypes.POLICY, policy.getPolicyModel().getPolicyAcronym(), - policy.getLoopElementModel() != null ? policy.getLoopElementModel().getName() : null, - policy.getLoopElementModel() != null ? policy.getLoopElementModel().getName() : null); - } - ib.arrow().circle("stop-circle", THICK_LINE); - } - - private void adjustGraphics2DProperties() { - g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); - g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); - g2d.setStroke(new BasicStroke(SLIM_LINE)); - g2d.setPaint(Color.BLACK); - } - -} diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/RectTypes.java b/src/main/java/org/onap/clamp/clds/util/drawing/RectTypes.java deleted file mode 100644 index e6932432..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/RectTypes.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -enum RectTypes { - COLECTOR, MICROSERVICE, POLICY -} \ No newline at end of file diff --git a/src/main/java/org/onap/clamp/clds/util/drawing/SvgLoopGenerator.java b/src/main/java/org/onap/clamp/clds/util/drawing/SvgLoopGenerator.java deleted file mode 100644 index f289d979..00000000 --- a/src/main/java/org/onap/clamp/clds/util/drawing/SvgLoopGenerator.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * Modifications copyright (c) 2019 AT&T - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import java.util.HashSet; -import java.util.Set; -import org.apache.batik.svggen.SVGGraphics2D; -import org.onap.clamp.clds.util.XmlTools; -import org.onap.clamp.loop.Loop; -import org.onap.clamp.loop.template.LoopElementModel; -import org.onap.clamp.loop.template.LoopTemplate; -import org.onap.clamp.loop.template.LoopTemplateLoopElementModel; -import org.w3c.dom.Document; - -public class SvgLoopGenerator { - /** - * Generate the SVG images from the loop. - * - * @param loop The loop object, so it won't use the loop template - * @return A String containing the SVG - */ - public static String getSvgImage(Loop loop) { - SVGGraphics2D svgGraphics2D = new SVGGraphics2D(XmlTools.createEmptySvgDocument()); - Document document = XmlTools.createEmptySvgDocument(); - DocumentBuilder dp = new DocumentBuilder(document, svgGraphics2D.getDOMFactory()); - Painter painter = new Painter(svgGraphics2D, dp); - ClampGraphBuilder cgp = new ClampGraphBuilder(painter).collector("VES"); - cgp.addAllMicroServices(loop.getMicroServicePolicies()); - ClampGraph cg = cgp.addAllPolicies(loop.getOperationalPolicies()).build(); - return cg.getAsSvg(); - } - - /** - * Generate the SVG images from the loop template. - * - * @param loopTemplate The loop template - * @return A String containing the SVG - */ - public static String getSvgImage(LoopTemplate loopTemplate) { - SVGGraphics2D svgGraphics2D = new SVGGraphics2D(XmlTools.createEmptySvgDocument()); - Document document = XmlTools.createEmptySvgDocument(); - DocumentBuilder dp = new DocumentBuilder(document, svgGraphics2D.getDOMFactory()); - Painter painter = new Painter(svgGraphics2D, dp); - ClampGraphBuilder cgp = new ClampGraphBuilder(painter).collector("VES"); - Set elementModelsSet = new HashSet<>(); - for (LoopTemplateLoopElementModel elementModelLink:loopTemplate.getLoopElementModelsUsed()) { - elementModelsSet.add(elementModelLink.getLoopElementModel()); - } - ClampGraph cg = cgp.addAllLoopElementModels(elementModelsSet).build(); - return cg.getAsSvg(); - } - -} diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java index 08133133..36f74221 100644 --- a/src/main/java/org/onap/clamp/loop/Loop.java +++ b/src/main/java/org/onap/clamp/loop/Loop.java @@ -51,7 +51,6 @@ import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.hibernate.annotations.TypeDefs; import org.onap.clamp.clds.tosca.update.ToscaConverterWithDictionarySupport; -import org.onap.clamp.clds.util.drawing.SvgLoopGenerator; import org.onap.clamp.dao.model.jsontype.StringJsonUserType; import org.onap.clamp.loop.common.AuditEntity; import org.onap.clamp.loop.components.external.DcaeComponent; @@ -88,9 +87,6 @@ public class Loop extends AuditEntity implements Serializable { @Column(name = "dcae_deployment_status_url") private String dcaeDeploymentStatusUrl; - @Column(columnDefinition = "MEDIUMTEXT", name = "svg_representation") - private String svgRepresentation; - @Expose @Type(type = "json") @Column(columnDefinition = "json", name = "global_properties_json") @@ -145,9 +141,8 @@ public class Loop extends AuditEntity implements Serializable { /** * Constructor. */ - public Loop(String name, String svgRepresentation) { + public Loop(String name) { this.name = name; - this.svgRepresentation = svgRepresentation; this.lastComputedState = LoopState.DESIGN; this.globalPropertiesJson = new JsonObject(); initializeExternalComponents(); @@ -160,7 +155,7 @@ public class Loop extends AuditEntity implements Serializable { * @param loopTemplate The loop template from which a new loop instance must be created */ public Loop(String name, LoopTemplate loopTemplate, ToscaConverterWithDictionarySupport toscaConverter) { - this(name, ""); + this(name); this.setLoopTemplate(loopTemplate); this.setModelService(loopTemplate.getModelService()); loopTemplate.getLoopElementModelsUsed().forEach(element -> { @@ -201,14 +196,6 @@ public class Loop extends AuditEntity implements Serializable { this.dcaeDeploymentStatusUrl = dcaeDeploymentStatusUrl; } - public String getSvgRepresentation() { - return svgRepresentation; - } - - void setSvgRepresentation(String svgRepresentation) { - this.svgRepresentation = svgRepresentation; - } - public LoopState getLastComputedState() { return lastComputedState; } @@ -251,37 +238,31 @@ public class Loop extends AuditEntity implements Serializable { /** * This method adds an operational policy to the loop. - * It re-computes the Svg as well. * * @param opPolicy the operationalPolicy to add */ public void addOperationalPolicy(OperationalPolicy opPolicy) { operationalPolicies.add(opPolicy); opPolicy.setLoop(this); - this.setSvgRepresentation(SvgLoopGenerator.getSvgImage(this)); } /** * This method removes an operational policy to the loop. - * It re-computes the Svg as well. * * @param opPolicy the operationalPolicy to add */ public void removeOperationalPolicy(OperationalPolicy opPolicy) { operationalPolicies.remove(opPolicy); - this.setSvgRepresentation(SvgLoopGenerator.getSvgImage(this)); } /** * This method adds an micro service policy to the loop. - * It re-computes the Svg as well. * * @param microServicePolicy the micro service to add */ public void addMicroServicePolicy(MicroServicePolicy microServicePolicy) { microServicePolicies.add(microServicePolicy); microServicePolicy.getUsedByLoops().add(this); - this.setSvgRepresentation(SvgLoopGenerator.getSvgImage(this)); } public void addLog(LoopLog log) { diff --git a/src/main/java/org/onap/clamp/loop/LoopController.java b/src/main/java/org/onap/clamp/loop/LoopController.java index fad93bc7..603726f5 100644 --- a/src/main/java/org/onap/clamp/loop/LoopController.java +++ b/src/main/java/org/onap/clamp/loop/LoopController.java @@ -168,17 +168,6 @@ public class LoopController { return loopService.updateMicroservicePolicy(loopName, newMicroservicePolicy); } - /** - * Get the SVG representation of the loop. - * - * @param loopName The loop name - * @return The SVG representation - */ - public String getSvgRepresentation(String loopName) { - Loop loop = loopService.getLoop(loopName); - return loop != null ? loop.getSvgRepresentation() : null; - } - /** * Refresh the Operational Policy Json representation of the loop. * diff --git a/src/main/java/org/onap/clamp/loop/common/AuditEntity.java b/src/main/java/org/onap/clamp/loop/common/AuditEntity.java index bf9d10d7..7ce12ec6 100644 --- a/src/main/java/org/onap/clamp/loop/common/AuditEntity.java +++ b/src/main/java/org/onap/clamp/loop/common/AuditEntity.java @@ -24,14 +24,11 @@ package org.onap.clamp.loop.common; import com.google.gson.annotations.Expose; - import java.time.Instant; import java.time.temporal.ChronoUnit; - import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.MappedSuperclass; - import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; @@ -40,7 +37,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; /** * This class is the parent of the hibernate entities requiring to be audited. - * */ @MappedSuperclass @EntityListeners(AuditingEntityListener.class) @@ -72,20 +68,21 @@ public class AuditEntity { /** * createdDate setter. - * + * * @param createdDate The created Date object */ public void setCreatedDate(Instant createdDate) { if (createdDate != null) { this.createdDate = createdDate.truncatedTo(ChronoUnit.SECONDS); - } else { + } + else { this.createdDate = null; } } /** * updatedDate getter. - * + * * @return the updatedDate */ public Instant getUpdatedDate() { @@ -94,20 +91,21 @@ public class AuditEntity { /** * updatedDate setter. - * + * * @param updatedDate updatedDate to set */ public void setUpdatedDate(Instant updatedDate) { if (updatedDate != null) { this.updatedDate = updatedDate.truncatedTo(ChronoUnit.SECONDS); - } else { + } + else { this.updatedDate = null; } } /** * updatedBy getter. - * + * * @return the updatedBy */ public String getUpdatedBy() { @@ -116,7 +114,7 @@ public class AuditEntity { /** * updatedBy setter. - * + * * @param updatedBy the updatedBy */ public void setUpdatedBy(String updatedBy) { @@ -125,7 +123,7 @@ public class AuditEntity { /** * createdBy getter. - * + * * @return the createdBy */ public String getCreatedBy() { @@ -134,7 +132,7 @@ public class AuditEntity { /** * createdBy setter. - * + * * @param createdBy the createdBy to set */ public void setCreatedBy(String createdBy) { diff --git a/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java index a7bbd9dd..6f896f3d 100644 --- a/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java +++ b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java @@ -39,7 +39,6 @@ import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import org.hibernate.annotations.SortNatural; -import org.onap.clamp.clds.util.drawing.SvgLoopGenerator; import org.onap.clamp.loop.common.AuditEntity; import org.onap.clamp.loop.service.Service; @@ -69,9 +68,6 @@ public class LoopTemplate extends AuditEntity implements Serializable { @Column(columnDefinition = "MEDIUMTEXT", name = "blueprint_yaml") private String blueprint; - @Column(columnDefinition = "MEDIUMTEXT", name = "svg_representation") - private String svgRepresentation; - @Expose @OneToMany( cascade = CascadeType.ALL, @@ -163,24 +159,6 @@ public class LoopTemplate extends AuditEntity implements Serializable { } } - /** - * svgRepresentation getter. - * - * @return the svgRepresentation - */ - public String getSvgRepresentation() { - return svgRepresentation; - } - - /** - * svgRepresentation setter. - * - * @param svgRepresentation the svgRepresentation to set - */ - public void setSvgRepresentation(String svgRepresentation) { - this.svgRepresentation = svgRepresentation; - } - /** * loopElementModelsUsed getter. * @@ -260,7 +238,6 @@ public class LoopTemplate extends AuditEntity implements Serializable { new LoopTemplateLoopElementModel(this, loopElementModel, listPosition); this.loopElementModelsUsed.add(jointEntry); loopElementModel.getUsedByLoopTemplates().add(jointEntry); - this.setSvgRepresentation(SvgLoopGenerator.getSvgImage(this)); } /** @@ -303,16 +280,13 @@ public class LoopTemplate extends AuditEntity implements Serializable { * @param name The loop template name id * @param blueprint The blueprint containing all microservices (legacy * case) - * @param svgRepresentation The svg representation of that loop template * @param maxInstancesAllowed The maximum number of instances that can be * created from that template * @param service The service associated to that loop template */ - public LoopTemplate(String name, String blueprint, String svgRepresentation, - Integer maxInstancesAllowed, Service service) { + public LoopTemplate(String name, String blueprint, Integer maxInstancesAllowed, Service service) { this.name = name; this.setBlueprint(blueprint); - this.svgRepresentation = svgRepresentation; this.maximumInstancesAllowed = maxInstancesAllowed; this.modelService = service; diff --git a/src/main/java/org/onap/clamp/loop/template/LoopTemplatesService.java b/src/main/java/org/onap/clamp/loop/template/LoopTemplatesService.java index 09bc80f8..29382137 100644 --- a/src/main/java/org/onap/clamp/loop/template/LoopTemplatesService.java +++ b/src/main/java/org/onap/clamp/loop/template/LoopTemplatesService.java @@ -49,17 +49,6 @@ public class LoopTemplatesService { return loopTemplatesRepository.save(loopTemplate); } - - /** - * Get the SVG representation of the loopTemplate. - * - * @param templateName The loopTemplate name - * @return The SVG representation in xml - */ - public String getSvgRepresentation(String templateName) { - return loopTemplatesRepository.findById(templateName).orElse(new LoopTemplate()).getSvgRepresentation(); - } - public List getLoopTemplateNames() { return loopTemplatesRepository.getAllLoopTemplateNames(); } diff --git a/src/main/resources/clds/camel/rest/clamp-api-v2.xml b/src/main/resources/clds/camel/rest/clamp-api-v2.xml index 86a64f66..99e92f5b 100644 --- a/src/main/resources/clds/camel/rest/clamp-api-v2.xml +++ b/src/main/resources/clds/camel/rest/clamp-api-v2.xml @@ -66,39 +66,6 @@ - - - - - - - - - - java.lang.Exception - - true - - - - - - 500 - - - GET SVG For loop FAILED - - - - - - - - - - - - - - - java.lang.Exception - - true - - - - - 500 - - - GET SVG for Template FAILED - - - - - collectorCaptor; - - @Captor - private ArgumentCaptor> microServicesCaptor; - - @Captor - private ArgumentCaptor> policyCaptor; - - /** - * Do a quick test of the graphBuilder chain. - */ - @Test - public void clampGraphBuilderCompleteChainTest() { - String collector = "VES"; - MicroServicePolicy ms1 = new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0"), false, - null, null, null, null); - MicroServicePolicy ms2 = new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0"), false, - null, null, null, null); - - OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new JsonObject(), new JsonObject(), - new PolicyModel("org.onap.opolicy", null, "1.0.0", "opolicy1"), null, null, null); - final Set opPolicies = Set.of(opPolicy); - final Set microServices = Set.of(ms1, ms2); - - ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter); - clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).addPolicy(opPolicy).build(); - - verify(mockPainter, times(1)).doPaint(collectorCaptor.capture(), microServicesCaptor.capture(), - policyCaptor.capture()); - - Assert.assertEquals(collector, collectorCaptor.getValue()); - Assert.assertEquals(microServices, microServicesCaptor.getValue()); - Assert.assertEquals(opPolicies, policyCaptor.getValue()); - } - - /** - * Do a quick test of the graphBuilder chain when no policy is given. - */ - @Test - public void clampGraphBuilderNoPolicyGivenTest() { - String collector = "VES"; - MicroServicePolicy ms1 = - new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0"), false, null, null, null, - null); - MicroServicePolicy ms2 = - new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0"), false, null, null, null, - null); - - ClampGraphBuilder clampGraphBuilder = new ClampGraphBuilder(mockPainter); - assertThat(clampGraphBuilder.collector(collector).addMicroService(ms1).addMicroService(ms2).build()) - .isNotNull(); - - } -} diff --git a/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphTest.java b/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphTest.java deleted file mode 100644 index 4ae0a490..00000000 --- a/src/test/java/org/onap/clamp/clds/util/drawing/ClampGraphTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoMoreInteractions; -import static org.mockito.Mockito.when; - -import java.io.IOException; -import javax.xml.parsers.ParserConfigurationException; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; -import org.onap.clamp.clds.util.ResourceFileUtil; -import org.onap.clamp.clds.util.XmlToolsTest; -import org.w3c.dom.Document; -import org.xml.sax.SAXException; - -@RunWith(MockitoJUnitRunner.class) -public class ClampGraphTest { - @Mock - private DocumentBuilder mockDocumentBuilder; - - @Test - public void getAsSvgTest() throws IOException, ParserConfigurationException, SAXException { - String expected = ResourceFileUtil.getResourceAsString("clds/util/file.xml"); - Document document = XmlToolsTest.parseStringToXmlDocument(expected); - - when(mockDocumentBuilder.getGroupingDocument()).thenReturn(document); - - String actual = new ClampGraph(mockDocumentBuilder).getAsSvg(); - Assert.assertEquals(expected.trim(), actual.trim()); - } - - @Test - public void getAsSvgLazyTest() throws IOException, ParserConfigurationException, SAXException { - String expected = ResourceFileUtil.getResourceAsString("clds/util/file.xml"); - Document document = XmlToolsTest.parseStringToXmlDocument(expected); - - when(mockDocumentBuilder.getGroupingDocument()).thenReturn(document); - ClampGraph cg = new ClampGraph(mockDocumentBuilder); - - String actualFirst = cg.getAsSvg(); - verify(mockDocumentBuilder, times(1)).getGroupingDocument(); - - String actualSecond = cg.getAsSvg(); - verifyNoMoreInteractions(mockDocumentBuilder); - - Assert.assertEquals(expected.trim(), actualFirst.trim()); - Assert.assertEquals(expected.trim(), actualSecond.trim()); - - } -} diff --git a/src/test/java/org/onap/clamp/clds/util/drawing/DocumentBuilderTest.java b/src/test/java/org/onap/clamp/clds/util/drawing/DocumentBuilderTest.java deleted file mode 100644 index 13f8e3ad..00000000 --- a/src/test/java/org/onap/clamp/clds/util/drawing/DocumentBuilderTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; - -import java.io.IOException; - -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.batik.svggen.SVGGraphics2D; -import org.apache.batik.util.SVGConstants; -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; -import org.onap.clamp.clds.util.ResourceFileUtil; -import org.onap.clamp.clds.util.XmlToolsTest; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.xml.sax.SAXException; - -@RunWith(MockitoJUnitRunner.class) -public class DocumentBuilderTest { - @Mock - private SVGGraphics2D mockG2d; - - @Test - public void pushChangestoDocumentTest() throws IOException, ParserConfigurationException, SAXException { - String dataElementId = "someId"; - String newNodeTag = "tagged"; - String newNodeText = "Sample text"; - String xml = ResourceFileUtil.getResourceAsString("clds/util/file.xml"); - Document document = XmlToolsTest.parseStringToXmlDocument(xml); - Node newNode = document.createElement(newNodeTag); - newNode.appendChild(document.createTextNode(newNodeText)); - - when(mockG2d.getRoot(any(Element.class))).then(a -> a.getArgument(0, Element.class).appendChild(newNode)); - - DocumentBuilder db = new DocumentBuilder(document, document); - db.pushChangestoDocument(mockG2d, dataElementId); - Document actualDocument = db.getGroupingDocument(); - - Node addedActualNode = actualDocument.getDocumentElement().getLastChild(); - String actualDataElementId = addedActualNode.getAttributes() - .getNamedItem(DocumentBuilder.DATA_ELEMENT_ID_ATTRIBUTE).getTextContent(); - - Assert.assertEquals(dataElementId, actualDataElementId); - Assert.assertEquals(SVGConstants.SVG_G_TAG, addedActualNode.getNodeName()); - - Node addedActualNodeChild = addedActualNode.getLastChild(); - Assert.assertEquals(newNodeTag, addedActualNodeChild.getNodeName()); - Assert.assertEquals(newNodeText, addedActualNodeChild.getTextContent()); - } -} \ No newline at end of file diff --git a/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java b/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java deleted file mode 100644 index 0150af02..00000000 --- a/src/test/java/org/onap/clamp/clds/util/drawing/SvgLoopGeneratorTest.java +++ /dev/null @@ -1,82 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2019 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -package org.onap.clamp.clds.util.drawing; - -import static org.assertj.core.api.Assertions.assertThat; -import com.google.gson.JsonObject; -import java.io.IOException; -import javax.xml.parsers.ParserConfigurationException; -import org.junit.Test; -import org.onap.clamp.loop.Loop; -import org.onap.clamp.loop.template.LoopElementModel; -import org.onap.clamp.loop.template.PolicyModel; -import org.onap.clamp.policy.microservice.MicroServicePolicy; -import org.onap.clamp.policy.operational.OperationalPolicy; -import org.xml.sax.SAXException; - -public class SvgLoopGeneratorTest { - private Loop getLoop() { - - LoopElementModel msModel = new LoopElementModel("testMs", LoopElementModel.MICRO_SERVICE_TYPE, ""); - MicroServicePolicy ms1 = - new MicroServicePolicy("ms1", new PolicyModel("org.onap.ms1", "", "1.0.0", "short.ms1"), - false,null,msModel,null,null); - MicroServicePolicy ms2 = - new MicroServicePolicy("ms2", new PolicyModel("org.onap.ms2", "", "1.0.0", "short.ms2"), - false, null,msModel,null,null); - LoopElementModel opModel = new LoopElementModel("testOp", LoopElementModel.OPERATIONAL_POLICY_TYPE, ""); - OperationalPolicy opPolicy = new OperationalPolicy("OperationalPolicy", new JsonObject(),new JsonObject(), - new PolicyModel("org.onap.opolicy", null, "1.0.0", "short.OperationalPolicy"), opModel, null, null); - Loop loop = new Loop(); - loop.addMicroServicePolicy(ms1); - loop.addMicroServicePolicy(ms2); - loop.addOperationalPolicy(opPolicy); - return loop; - } - - /** - * Test a Svg rendering with all objects. - * - * @throws IOException In case of isssues - * @throws ParserConfigurationException In case of isssues - * @throws SAXException In case of isssues - */ - @Test - public void getAsSvgTest() throws IOException, ParserConfigurationException, SAXException { - String xml = SvgLoopGenerator.getSvgImage(getLoop()); - assertThat(xml).contains("data-element-id=\"VES\""); - assertThat(xml).contains(">VES<"); - assertThat(xml).contains("data-element-id=\"ms1\""); - assertThat(xml).contains("data-element-id=\"ms2\""); - assertThat(xml).contains("data-grouping-id=\"testMs\""); - assertThat(xml).contains("data-grouping-id=\"testOp\""); - assertThat(xml).contains("data-for-ui=\"testMs\""); - assertThat(xml).contains("data-for-ui=\"testOp\""); - assertThat(xml).contains(">short.ms1<"); - assertThat(xml).contains(">short.ms2<"); - assertThat(xml).contains("data-element-id=\"OperationalPolicy\""); - assertThat(xml).contains(">short.OperationalPolicy<"); - - } -} diff --git a/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java b/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java index d1497523..7e148860 100644 --- a/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java +++ b/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java @@ -219,7 +219,6 @@ public class CsarInstallerItCase { // set LoopTemplate loopTemplate = loopTemplatesRepo.findById(LoopTemplate.generateLoopTemplateName(generatedName, "1.0", RESOURCE_INSTANCE_NAME_RESOURCE1, "tca.yaml")).get(); - assertThat(loopTemplate.getSvgRepresentation()).startsWith(""); + Loop loopTest = new Loop("ControlLoopTest"); loopTest.setGlobalPropertiesJson( new Gson().fromJson( "{\"dcaeDeployParameters\":{\"uniqueBlueprintParameters\": {\"policy_id\": \"name\"}}}", @@ -60,7 +60,7 @@ public class DcaeComponentTest { microServicePolicy.setConfigurationsJson(new Gson().fromJson("{\"param1\":\"value1\"}", JsonObject.class)); loopTest.addMicroServicePolicy(microServicePolicy); - LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", "svg", 1, null); + LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", 1, null); loopTemplate.setDcaeBlueprintId("UUID-blueprint"); loopTest.setLoopTemplate(loopTemplate); diff --git a/src/test/java/org/onap/clamp/loop/DeployFlowTestItCase.java b/src/test/java/org/onap/clamp/loop/DeployFlowTestItCase.java index 97fe337d..07e7c4d7 100644 --- a/src/test/java/org/onap/clamp/loop/DeployFlowTestItCase.java +++ b/src/test/java/org/onap/clamp/loop/DeployFlowTestItCase.java @@ -66,12 +66,12 @@ public class DeployFlowTestItCase { * This method tests a deployment a single blueprint. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void deployWithSingleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest = createLoop("ControlLoopTest", "", "yamlcontent", + Loop loopTest = createLoop("ControlLoopTest", "yamlcontent", "{\"dcaeDeployParameters\":{\"uniqueBlueprintParameters\": {\"policy_id\": \"name\"}}}", "UUID-blueprint"); LoopTemplate template = new LoopTemplate(); @@ -97,12 +97,12 @@ public class DeployFlowTestItCase { * This method tests the deployment of multiple separated blueprints. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void deployWithMultipleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest2 = createLoop("ControlLoopTest2", "", "yamlcontent", "{\"dcaeDeployParameters\": {" + Loop loopTest2 = createLoop("ControlLoopTest2", "yamlcontent", "{\"dcaeDeployParameters\": {" + "\"microService1\": {\"location_id\": \"\", \"policy_id\": \"TCA_ResourceInstanceName1_tca\"}," + "\"microService2\": {\"location_id\": \"\", \"policy_id\": \"TCA_ResourceInstanceName2_tca\"}" + "}}", "UUID-blueprint"); @@ -135,12 +135,12 @@ public class DeployFlowTestItCase { * This method tests the undeployment of a single blueprint. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void undeployWithSingleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest = createLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest = createLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "UUID-blueprint"); LoopTemplate template = new LoopTemplate(); template.setName("templateName"); @@ -166,12 +166,12 @@ public class DeployFlowTestItCase { * This method tests the undeployment of multiple separated blueprints. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void undeployWithMultipleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest2 = createLoop("ControlLoopTest2", "", "yamlcontent", "{\"dcaeDeployParameters\": {" + Loop loopTest2 = createLoop("ControlLoopTest2", "yamlcontent", "{\"dcaeDeployParameters\": {" + "\"microService1\": {\"location_id\": \"\", \"policy_id\": \"TCA_ResourceInstanceName1_tca\"}," + "\"microService2\": {\"location_id\": \"\", \"policy_id\": \"TCA_ResourceInstanceName2_tca\"}" + "}}", "UUID-blueprint"); @@ -205,12 +205,12 @@ public class DeployFlowTestItCase { * This method tests the DCAE get status for a single blueprint. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void getStatusWithSingleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest = createLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest = createLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "UUID-blueprint"); LoopTemplate template = new LoopTemplate(); template.setName("templateName"); @@ -241,12 +241,12 @@ public class DeployFlowTestItCase { * This method tests the dcae get status for multiple blueprints. * * @throws JsonSyntaxException In case of issues - * @throws IOException In case of issues + * @throws IOException In case of issues */ @Test @Transactional public void getStatusWithMultipleBlueprintTest() throws JsonSyntaxException, IOException { - Loop loopTest = createLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest = createLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "UUID-blueprint"); LoopTemplate template = new LoopTemplate(); template.setName("templateName"); @@ -271,9 +271,9 @@ public class DeployFlowTestItCase { camelContext.createProducerTemplate().send("direct:update-dcae-status-for-loop", myCamelExchange); assertThat(loopTest.getComponent("DCAE_configPolicyTest").getState().getStateName()) - .isEqualTo("BLUEPRINT_DEPLOYED"); + .isEqualTo("BLUEPRINT_DEPLOYED"); assertThat(loopTest.getComponent("DCAE_configPolicyTest2").getState().getStateName()) - .isEqualTo("BLUEPRINT_DEPLOYED"); + .isEqualTo("BLUEPRINT_DEPLOYED"); Loop loopAfterTest = loopService.getLoop("ControlLoopTest"); assertThat(loopAfterTest.getComponents().size()).isEqualTo(3); @@ -283,18 +283,18 @@ public class DeployFlowTestItCase { assertThat(loopTest.getComponent("DCAE_configPolicyTest2")).isNotNull(); } - private Loop createLoop(String name, String svgRepresentation, String blueprint, String globalPropertiesJson, - String dcaeBlueprintId) throws JsonSyntaxException, IOException { - Loop loop = new Loop(name, svgRepresentation); + private Loop createLoop(String name, String blueprint, String globalPropertiesJson, + String dcaeBlueprintId) throws JsonSyntaxException, IOException { + Loop loop = new Loop(name); loop.setGlobalPropertiesJson(new Gson().fromJson(globalPropertiesJson, JsonObject.class)); loop.setLastComputedState(LoopState.DESIGN); return loop; } private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, - String policyTosca, String jsonProperties, boolean shared) { + String policyTosca, String jsonProperties, boolean shared) { - PolicyModel policyModel = new PolicyModel(modelType, policyTosca,"1.0.0"); + PolicyModel policyModel = new PolicyModel(modelType, policyTosca, "1.0.0"); policyModelsService.saveOrUpdatePolicyModel(policyModel); MicroServicePolicy microService = new MicroServicePolicy(name, policyModel, shared, @@ -305,8 +305,9 @@ public class DeployFlowTestItCase { } private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation, - String policyTosca, String jsonProperties, boolean shared, String deploymengId, - String deploymentStatusUrl) { + String policyTosca, String jsonProperties, boolean shared, + String deploymengId, + String deploymentStatusUrl) { MicroServicePolicy microService = getMicroServicePolicy(name, modelType, jsonRepresentation, policyTosca, jsonProperties, shared); diff --git a/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java index 26db6b01..f170bc6d 100644 --- a/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java @@ -86,7 +86,7 @@ public class LoopControllerTestItCase { } private Loop createTestLoop(String loopName, String loopBlueprint, String loopSvg) { - return new Loop(loopName, loopSvg); + return new Loop(loopName); } @Test @@ -148,14 +148,6 @@ public class LoopControllerTestItCase { assertThat(microServicePolicyService.isExisting("policyName")).isTrue(); } - @Test - @Transactional - public void testGetSvgRepresentation() { - saveTestLoopToDb(); - String svgRepresentation = loopController.getSvgRepresentation(EXAMPLE_LOOP_NAME); - assertThat(svgRepresentation).isEqualTo("representation"); - } - @Test @Transactional public void testAddAndRemoveOperationalPolicies() throws IOException { diff --git a/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java index 15b9cb43..ddab7b65 100644 --- a/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java @@ -25,11 +25,8 @@ package org.onap.clamp.loop; import static org.assertj.core.api.Assertions.assertThat; import com.google.gson.JsonObject; - import java.util.Set; - import javax.transaction.Transactional; - import org.junit.Test; import org.junit.runner.RunWith; import org.onap.clamp.clds.Application; @@ -50,7 +47,6 @@ public class LoopLogServiceTestItCase { private static final String CLAMP_COMPONENT = "CLAMP"; private static final String SAMPLE_LOG_MESSAGE = "Sample log"; private static final String BLUEPRINT = "blueprint"; - private static final String SVG_REPRESENTATION = "representation"; @Autowired LoopService loopService; @@ -62,7 +58,7 @@ public class LoopLogServiceTestItCase { LoopLogService loopLogService; private void saveTestLoopToDb() { - Loop testLoop = new Loop(EXAMPLE_LOOP_NAME, SVG_REPRESENTATION); + Loop testLoop = new Loop(EXAMPLE_LOOP_NAME); testLoop.setGlobalPropertiesJson(JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); loopService.saveOrUpdateLoop(testLoop); } @@ -88,7 +84,7 @@ public class LoopLogServiceTestItCase { log.setLogComponent(CLAMP_COMPONENT); log.setLogType(LogType.INFO); log.setMessage(SAMPLE_LOG_MESSAGE); - Loop testLoop = new Loop(EXAMPLE_LOOP_NAME, SVG_REPRESENTATION); + Loop testLoop = new Loop(EXAMPLE_LOOP_NAME); log.setLoop(testLoop); assertThat(log.getMessage()).isEqualTo(SAMPLE_LOG_MESSAGE); assertThat(log.getLogType()).isEqualTo(LogType.INFO); diff --git a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java index 164625fe..9815575c 100644 --- a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java @@ -106,9 +106,9 @@ public class LoopRepositoriesItCase { return new PolicyModel(policyType, policyModelTosca, version, policyAcronym); } - private LoopTemplate getLoopTemplates(String name, String blueprint, String svgRepresentation, String createdBy, + private LoopTemplate getLoopTemplates(String name, String blueprint, String createdBy, Integer maxInstancesAllowed) { - LoopTemplate template = new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null); + LoopTemplate template = new LoopTemplate(name, blueprint, maxInstancesAllowed, null); template.addLoopElementModel(getLoopElementModel("yaml", "microService1", "org.onap.policy.drools", createdBy, getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools"))); template.addLoopElementModel(getLoopElementModel("yaml", "oppolicy1", "org.onap.policy.drools.legacy", @@ -117,16 +117,15 @@ public class LoopRepositoriesItCase { return template; } - private Loop getLoop(String name, String svgRepresentation, String blueprint, String globalPropertiesJson, + private Loop getLoop(String name, String blueprint, String globalPropertiesJson, String dcaeId, String dcaeUrl, String dcaeBlueprintId) { Loop loop = new Loop(); loop.setName(name); - loop.setSvgRepresentation(svgRepresentation); loop.setGlobalPropertiesJson(new Gson().fromJson(globalPropertiesJson, JsonObject.class)); loop.setLastComputedState(LoopState.DESIGN); loop.setDcaeDeploymentId(dcaeId); loop.setDcaeDeploymentStatusUrl(dcaeUrl); - loop.setLoopTemplate(getLoopTemplates("templateName", "yaml", "svg", "toto", 1)); + loop.setLoopTemplate(getLoopTemplates("templateName", "yaml", "toto", 1)); return loop; } @@ -149,7 +148,7 @@ public class LoopRepositoriesItCase { @Transactional public void crudTest() { // Setup - Loop loopTest = getLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest = getLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "123456789", "https://dcaetest.org", "UUID-blueprint"); OperationalPolicy opPolicy = this.getOperationalPolicy("{\"type\":\"GUARD\"}", "GuardOpPolicyTest", getPolicyModel("org.onap.policy.drools.legacy", "yaml", "1.0.0", "DroolsLegacy")); @@ -217,7 +216,7 @@ public class LoopRepositoriesItCase { // Attempt an update ((LoopLog) loopInDbRetrieved.getLoopLogs().toArray()[0]).setLogInstant(Instant.now()); - loopInDbRetrieved.setSvgRepresentation(""); + loopInDbRetrieved.setLastComputedState(LoopState.RUNNING); Loop loopInDbRetrievedUpdated = loopRepository.saveAndFlush(loopInDbRetrieved); // Loop loopInDbRetrievedUpdated = // loopRepository.findById(loopTest.getName()).get(); diff --git a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java index 5449ada1..15cf59f3 100644 --- a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java @@ -78,8 +78,7 @@ public class LoopServiceTestItCase { public void shouldCreateEmptyLoop() { // given String loopBlueprint = "blueprint"; - String loopSvg = "representation"; - Loop testLoop = createTestLoop(EXAMPLE_LOOP_NAME, loopBlueprint, loopSvg); + Loop testLoop = createTestLoop(EXAMPLE_LOOP_NAME, loopBlueprint); testLoop.setGlobalPropertiesJson(JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); testLoop.setLastComputedState(LoopState.DESIGN); @@ -90,7 +89,6 @@ public class LoopServiceTestItCase { assertThat(actualLoop).isNotNull(); assertThat(actualLoop).isEqualTo(loopsRepository.findById(actualLoop.getName()).get()); assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME); - assertThat(actualLoop.getSvgRepresentation()).isEqualTo(loopSvg); assertThat(actualLoop.getGlobalPropertiesJson().getAsJsonPrimitive("testName").getAsString()) .isEqualTo("testValue"); } @@ -183,7 +181,7 @@ public class LoopServiceTestItCase { } private void saveTestLoopToDb() { - Loop testLoop = createTestLoop(EXAMPLE_LOOP_NAME, "blueprint", "representation"); + Loop testLoop = createTestLoop(EXAMPLE_LOOP_NAME, "blueprint"); testLoop.setGlobalPropertiesJson(JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class)); LoopTemplate template = new LoopTemplate(); template.setName("testTemplate"); @@ -376,7 +374,7 @@ public class LoopServiceTestItCase { assertThat(microServicePolicyService.isExisting("policyName")).isTrue(); } - private Loop createTestLoop(String loopName, String loopBlueprint, String loopSvg) { - return new Loop(loopName, loopSvg); + private Loop createTestLoop(String loopName, String loopBlueprint) { + return new Loop(loopName); } } \ No newline at end of file diff --git a/src/test/java/org/onap/clamp/loop/LoopTemplateLoopElementModelTest.java b/src/test/java/org/onap/clamp/loop/LoopTemplateLoopElementModelTest.java index e5b64c99..70ff9b11 100644 --- a/src/test/java/org/onap/clamp/loop/LoopTemplateLoopElementModelTest.java +++ b/src/test/java/org/onap/clamp/loop/LoopTemplateLoopElementModelTest.java @@ -37,8 +37,8 @@ import org.onap.clamp.loop.template.PolicyModel; public class LoopTemplateLoopElementModelTest { private LoopElementModel loopElementModel = getLoopElementModel("yaml", "microService1", - getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1")); - private LoopTemplate loopTemplate = getLoopTemplate("templateName", "yaml", "svg", 1); + getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1")); + private LoopTemplate loopTemplate = getLoopTemplate("templateName", "yaml", 1); private LoopElementModel getLoopElementModel(String yaml, String name, PolicyModel policyModel) { LoopElementModel model = new LoopElementModel(); @@ -54,9 +54,8 @@ public class LoopTemplateLoopElementModelTest { return new PolicyModel(policyType, policyModelTosca, version, policyAcronym); } - private LoopTemplate getLoopTemplate(String name, String blueprint, String svgRepresentation, - Integer maxInstancesAllowed) { - LoopTemplate template = new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null); + private LoopTemplate getLoopTemplate(String name, String blueprint, Integer maxInstancesAllowed) { + LoopTemplate template = new LoopTemplate(name, blueprint, maxInstancesAllowed, null); template.addLoopElementModel(loopElementModel); return template; } diff --git a/src/test/java/org/onap/clamp/loop/LoopTemplatesServiceItCase.java b/src/test/java/org/onap/clamp/loop/LoopTemplatesServiceItCase.java index cabc778b..b8b1144f 100644 --- a/src/test/java/org/onap/clamp/loop/LoopTemplatesServiceItCase.java +++ b/src/test/java/org/onap/clamp/loop/LoopTemplatesServiceItCase.java @@ -55,7 +55,7 @@ public class LoopTemplatesServiceItCase { private static final String VERSION = "1.0.0"; private LoopElementModel getLoopElementModel(String yaml, String name, String loopElementType, - String createdBy, PolicyModel policyModel) { + String createdBy, PolicyModel policyModel) { LoopElementModel model = new LoopElementModel(name, loopElementType, yaml); model.setBlueprint(""); model.setDcaeBlueprintId(""); @@ -64,16 +64,15 @@ public class LoopTemplatesServiceItCase { } private PolicyModel getPolicyModel(String policyType, String policyModelTosca, String version, - String policyAcronym, String createdBy) { + String policyAcronym, String createdBy) { return new PolicyModel(policyType, policyModelTosca, version, policyAcronym); } - private LoopTemplate getLoopTemplate(String name, String blueprint, String svgRepresentation, - String createdBy, Integer maxInstancesAllowed) { + private LoopTemplate getLoopTemplate(String name, String blueprint, String createdBy, Integer maxInstancesAllowed) { LoopTemplate template = - new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null); + new LoopTemplate(name, blueprint, maxInstancesAllowed, null); template.addLoopElementModel(getLoopElementModel("yaml", "microService1", "MicroService", - createdBy, getPolicyModel(POLICY_MODEL_TYPE_1, "yaml", VERSION, "MS1", createdBy))); + createdBy, getPolicyModel(POLICY_MODEL_TYPE_1, "yaml", VERSION, "MS1", createdBy))); template.setAllowedLoopType(LoopType.OPEN); return template; } @@ -81,9 +80,9 @@ public class LoopTemplatesServiceItCase { @Test @Transactional public void shouldSaveOrUpdateLoopTemplate() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); + LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "xyz", -1); LoopTemplate actualLoopTemplate = - loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); + loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); assertNotNull(actualLoopTemplate); assertThat(loopTemplate.getName()).isEqualTo("TemplateName"); @@ -92,8 +91,8 @@ public class LoopTemplatesServiceItCase { @Test @Transactional - public void shouldReturnAllLoopemplates() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); + public void shouldReturnAllLoopTemplates() { + LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "xyz", -1); loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); List loopTemplateList = loopTemplatesService.getAllLoopTemplates(); @@ -102,8 +101,8 @@ public class LoopTemplatesServiceItCase { @Test @Transactional - public void shouldReturnLoopemplateNames() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); + public void shouldReturnLoopTemplateNames() { + LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "xyz", -1); loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); List loopTemplateNames = loopTemplatesService.getLoopTemplateNames(); @@ -113,8 +112,8 @@ public class LoopTemplatesServiceItCase { @Test @Transactional - public void shouldReturnLoopemplate() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); + public void shouldReturnLoopTemplate() { + LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "xyz", -1); loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); LoopTemplate actualLoopTemplate = loopTemplatesService.getLoopTemplate("TemplateName"); @@ -122,33 +121,22 @@ public class LoopTemplatesServiceItCase { assertThat(loopTemplate).isEqualTo(actualLoopTemplate); assertThat(loopTemplate.getName()).isEqualTo(actualLoopTemplate.getName()); assertThat(loopTemplate.getMaximumInstancesAllowed()) - .isEqualTo(actualLoopTemplate.getMaximumInstancesAllowed()); + .isEqualTo(actualLoopTemplate.getMaximumInstancesAllowed()); SortedSet loopElementModelsUsed = - loopTemplate.getLoopElementModelsUsed(); + loopTemplate.getLoopElementModelsUsed(); LoopTemplateLoopElementModel loopTemplateLoopElementModel = loopElementModelsUsed.first(); assertThat(loopTemplateLoopElementModel.getLoopElementModel().getName()) - .isEqualTo("microService1"); + .isEqualTo("microService1"); assertThat(loopTemplateLoopElementModel.getLoopTemplate().getName()) - .isEqualTo("TemplateName"); + .isEqualTo("TemplateName"); assertNull(actualLoopTemplate.getBlueprint()); assertNull(actualLoopTemplate.getModelService()); } @Test @Transactional - public void shouldReturnLoopemplateSvg() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); - loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); - String svgRepresentation = loopTemplatesService.getSvgRepresentation("TemplateName"); - - assertNotNull(svgRepresentation); - assertThat(svgRepresentation).isEqualTo(loopTemplate.getSvgRepresentation()); - } - - @Test - @Transactional - public void shouldDeleteLoopemplate() { - LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "svg", "xyz", -1); + public void shouldDeleteLoopTemplate() { + LoopTemplate loopTemplate = getLoopTemplate("TemplateName", null, "xyz", -1); loopTemplatesService.saveOrUpdateLoopTemplate(loopTemplate); loopTemplatesService.deleteLoopTemplate("TemplateName"); LoopTemplate actualLoopTemplate = loopTemplatesService.getLoopTemplate("TemplateName"); diff --git a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java index 6c7836e5..6827bf5f 100644 --- a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java +++ b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java @@ -27,7 +27,6 @@ package org.onap.clamp.loop; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertNotNull; - import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; @@ -37,7 +36,6 @@ import java.util.Random; import org.junit.Test; import org.onap.clamp.clds.util.JsonUtils; import org.onap.clamp.clds.util.ResourceFileUtil; -import org.onap.clamp.loop.components.external.PolicyComponent; import org.onap.clamp.loop.log.LogType; import org.onap.clamp.loop.log.LoopLog; import org.onap.clamp.loop.service.Service; @@ -46,7 +44,6 @@ import org.onap.clamp.loop.template.LoopTemplate; import org.onap.clamp.loop.template.PolicyModel; import org.onap.clamp.policy.microservice.MicroServicePolicy; import org.onap.clamp.policy.operational.OperationalPolicy; -import org.skyscreamer.jsonassert.JSONAssert; public class LoopToJsonTest { @@ -54,13 +51,13 @@ public class LoopToJsonTest { private OperationalPolicy getOperationalPolicy(String configJson, String name) { return new OperationalPolicy(name, null, gson.fromJson(configJson, JsonObject.class), - getPolicyModel("org.onap.policy.drools.legacy", "yaml", "1.0.0", "Drools", "type1"), null,null,null); + getPolicyModel("org.onap.policy.drools.legacy", "yaml", "1.0.0", "Drools", "type1"), null, null, null); } - private Loop getLoop(String name, String svgRepresentation, String blueprint, String globalPropertiesJson, + private Loop getLoop(String name, String blueprint, String globalPropertiesJson, String dcaeId, String dcaeUrl, String dcaeBlueprintId) throws JsonSyntaxException, IOException { - Loop loop = new Loop(name, svgRepresentation); + Loop loop = new Loop(name); loop.setGlobalPropertiesJson(new Gson().fromJson(globalPropertiesJson, JsonObject.class)); loop.setLastComputedState(LoopState.DESIGN); loop.setDcaeDeploymentId(dcaeId); @@ -91,9 +88,8 @@ public class LoopToJsonTest { return new PolicyModel(policyType, policyModelTosca, version, policyAcronym); } - private LoopTemplate getLoopTemplate(String name, String blueprint, String svgRepresentation, - Integer maxInstancesAllowed) { - LoopTemplate template = new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null); + private LoopTemplate getLoopTemplate(String name, String blueprint, Integer maxInstancesAllowed) { + LoopTemplate template = new LoopTemplate(name, blueprint, maxInstancesAllowed, null); template.addLoopElementModel(getLoopElementModel("yaml", "microService1", getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1"))); return template; @@ -107,11 +103,12 @@ public class LoopToJsonTest { /** * This tests a GSON encode/decode. + * * @throws IOException In case of failure */ @Test public void loopGsonTest() throws IOException { - Loop loopTest = getLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest = getLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "123456789", "https://dcaetest.org", "UUID-blueprint"); OperationalPolicy opPolicy = this.getOperationalPolicy( ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), "GuardOpPolicyTest"); @@ -122,7 +119,7 @@ public class LoopToJsonTest { loopTest.addMicroServicePolicy(microServicePolicy); LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest); loopTest.addLog(loopLog); - LoopTemplate loopTemplate = getLoopTemplate("templateName", "yaml", "svg", 1); + LoopTemplate loopTemplate = getLoopTemplate("templateName", "yaml", 1); loopTest.setLoopTemplate(loopTemplate); String jsonSerialized = JsonUtils.GSON_JPA_MODEL.toJson(loopTest); @@ -136,8 +133,7 @@ public class LoopToJsonTest { .isEqualToComparingFieldByField(loopTest.getComponent("DCAE").getState()); assertThat(loopTestDeserialized.getComponent("POLICY").getState()).isEqualToComparingOnlyGivenFields( loopTest.getComponent("POLICY").getState(), "stateName", "description"); - // svg and blueprint not exposed so wont be deserialized - assertThat(loopTestDeserialized.getSvgRepresentation()).isEqualTo(null); + // blueprint not exposed so wont be deserialized assertThat(loopTestDeserialized.getOperationalPolicies()).containsExactly(opPolicy); assertThat(loopTestDeserialized.getMicroServicePolicies()).containsExactly(microServicePolicy); @@ -156,7 +152,7 @@ public class LoopToJsonTest { */ @Test public void loopServiceTest() throws IOException { - Loop loopTest2 = getLoop("ControlLoopTest", "", "yamlcontent", "{\"testname\":\"testvalue\"}", + Loop loopTest2 = getLoop("ControlLoopTest", "yamlcontent", "{\"testname\":\"testvalue\"}", "123456789", "https://dcaetest.org", "UUID-blueprint"); JsonObject jsonModel = new GsonBuilder().create() diff --git a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java b/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java index 6449a896..02135933 100644 --- a/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java +++ b/src/test/java/org/onap/clamp/loop/PolicyComponentTest.java @@ -256,7 +256,7 @@ public class PolicyComponentTest { */ @Test public void createPoliciesPayloadPdpGroupTest() throws IOException { - Loop loopTest = new Loop("ControlLoopTest", ""); + Loop loopTest = new Loop("ControlLoopTest"); PolicyModel policyModel1 = new PolicyModel("onap.policies.monitoring.test", null, "1.0.0"); MicroServicePolicy microServicePolicy = new MicroServicePolicy("configPolicyTest", policyModel1, true, @@ -285,7 +285,7 @@ public class PolicyComponentTest { loopTest.addOperationalPolicy(opLegacyPolicy); - LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", "svg", 1, null); + LoopTemplate loopTemplate = new LoopTemplate("test", "yaml", 1, null); loopTemplate.setDcaeBlueprintId("UUID-blueprint"); loopTest.setLoopTemplate(loopTemplate); diff --git a/src/test/resources/clds/templates/bpmn/holmes-img.xml b/src/test/resources/clds/templates/bpmn/holmes-img.xml deleted file mode 100644 index f84b6a10..00000000 --- a/src/test/resources/clds/templates/bpmn/holmes-img.xml +++ /dev/null @@ -1,315 +0,0 @@ - -\n -\n -\n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - H - - - Holmes - - - - - - - - - - - - - - V - - - E - - - S - - - VesCollector - - - - - - - - - - - - - Policy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/clds/templates/bpmn/holmes-template.xml b/src/test/resources/clds/templates/bpmn/holmes-template.xml deleted file mode 100644 index 0ea1587c..00000000 --- a/src/test/resources/clds/templates/bpmn/holmes-template.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - SequenceFlow_1c9hzec - - - SequenceFlow_1ig3gix - SequenceFlow_0zwbn2r - - - SequenceFlow_1c9hzec - SequenceFlow_1ig3gix - - - SequenceFlow_0zwbn2r - SequenceFlow_0ox6r95 - - - SequenceFlow_0ox6r95 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/clds/templates/bpmn/tca-img.xml b/src/test/resources/clds/templates/bpmn/tca-img.xml deleted file mode 100644 index a2ec5af2..00000000 --- a/src/test/resources/clds/templates/bpmn/tca-img.xml +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - V - - - E - - - S - - - VesCollector - - - - - - - - - - - - - TCA - - - - - - - - - - - - - Policy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/clds/templates/bpmn/tca-template.xml b/src/test/resources/clds/templates/bpmn/tca-template.xml deleted file mode 100644 index cc942ef9..00000000 --- a/src/test/resources/clds/templates/bpmn/tca-template.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - SequenceFlow_1ahk7jg - - - SequenceFlow_1ahk7jg - SequenceFlow_18ahat1 - - - SequenceFlow_18ahat1 - SequenceFlow_1mo9gxb - - - SequenceFlow_1mo9gxb - SequenceFlow_1dgtrrq - - - SequenceFlow_1dgtrrq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/example/dao/bpmn-prop.json b/src/test/resources/example/dao/bpmn-prop.json deleted file mode 100644 index a38d58c3..00000000 --- a/src/test/resources/example/dao/bpmn-prop.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "Holmes_1m8n1s9": [ - { - "name": "correlationalLogic", - "value": "uktukk" - } - ], - "TCA_11n5nl9": { - "group1": [ - { - "name": "tname", - "value": "group1" - }, - { - "name": "tuuid", - "value": "f734f031-10aa-t8fb-330f-04dde2886325" - }, - { - "name": "tcaPolId", - "value": "policy1" - }, - { - "name": "eventName", - "value": "vFirewallBroadcastPackets" - }, - { - "name": "controlLoopSchemaType", - "value": "VNF" - }, - { - "serviceConfigurations": [ - [ - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", - "LESS_OR_EQUAL", - "123", - "ABATED" - ], - [ - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", - "GREATER_OR_EQUAL", - "123", - "ONSET" - ] - ] - } - ] - }, - "global": - [ - { - "name": "service", - "value": - [ - "0f983e18-4603-4bb4-a98c-e29691fb16a1" - ] - }, - - { - "name": "vf", - "value": - [ - "6c7aaec2-59eb-41d9-8681-b7f976ab668d" - ] - }, - - { - "name": "actionSet", - "value": - [ - "vnfRecipe" - ] - }, - - { - "name": "location", - "value": - [ - "SNDGCA64" - ] - } - ], - "Policy_19c1hms": { - "policy1": [ - { - "name": "pname", - "value": "policy1" - }, - { - "name": "pid", - "value": "0" - }, - { - "name": "timeout", - "value": "345" - }, - { - "policyConfigurations": [ - [ - { - "name": "maxRetries", - "value": [ - "3" - ] - }, - { - "name": "retryTimeLimit", - "value": [ - "180" - ] - }, - { - "name": "_id", - "value": [ - "JmAZRQx" - ] - }, - { - "name": "parentPolicy", - "value": [ - "" - ] - } - ] - ] - } - ] - } -} diff --git a/src/test/resources/example/dao/bpmn-template.xml b/src/test/resources/example/dao/bpmn-template.xml deleted file mode 100644 index 12671ac9..00000000 --- a/src/test/resources/example/dao/bpmn-template.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - - SequenceFlow_0mshiwd - - - SequenceFlow_0mshiwd - SequenceFlow_0yenh9m - - - SequenceFlow_0yenh9m - SequenceFlow_1gq21be - - - SequenceFlow_1gq21be - SequenceFlow_14phr7v - - - SequenceFlow_14phr7v - SequenceFlow_1q2yngv - - - SequenceFlow_1q2yngv - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/resources/example/dao/image-template.xml b/src/test/resources/example/dao/image-template.xml deleted file mode 100644 index fe0af067..00000000 --- a/src/test/resources/example/dao/image-template.xml +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - V - - - E - - - S - - - VesCollector - - - - - - - - - - - - - H - - - Holmes - - - - - - - - - - - - - TCA - - - - - - - - - - - - - Policy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/example/dao/template-doc-content.json b/src/test/resources/example/dao/template-doc-content.json deleted file mode 100644 index 96f96756..00000000 --- a/src/test/resources/example/dao/template-doc-content.json +++ /dev/null @@ -1,104 +0,0 @@ -{"global":[{"name":"service","value":["tosca_definitions_version: cloudify_dsl_1_3 -imports: -- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml -- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml -- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml -- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml -inputs: - location_id: - type: string - service_id: - type: string - policy_id: - type: string -node_templates: - policy_0: - type: dcae.nodes.policy - properties: - policy_id: - get_input: policy_id - cdap_host_host: - type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure - properties: - location_id: - get_input: location_id - scn_override: cdap_broker.solutioning-central.dcae.onap.org - interfaces: - cloudify.interfaces.lifecycle: { - } - tca_tca: - type: dcae.nodes.MicroService.cdap - properties: - app_config: - appDescription: DCAE Analytics Threshold Crossing Alert Application - appName: dcae-tca - tcaSubscriberOutputStreamName: TCASubscriberOutputStream - tcaVESAlertsTableName: TCAVESAlertsTable - tcaVESAlertsTableTTLSeconds: '1728000' - tcaVESMessageStatusTableName: TCAVESMessageStatusTable - tcaVESMessageStatusTableTTLSeconds: '86400' - thresholdCalculatorFlowletInstances: '2' - app_preferences: - publisherContentType: application/json - publisherHostName: mrlocal-mtnjftle01.onap.org - publisherHostPort: '3905' - publisherMaxBatchSize: '10' - publisherMaxRecoveryQueueSize: '100000' - publisherPollingInterval: '20000' - publisherProtocol: https - publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub - publisherUserName: test@tca.af.dcae.onap.org - publisherUserPassword: password - subscriberConsumerGroup: OpenDCAE-c12 - subscriberConsumerId: c12 - subscriberContentType: application/json - subscriberHostName: mrlocal-mtnjftle01.onap.org - subscriberHostPort: '3905' - subscriberMessageLimit: '-1' - subscriberPollingInterval: '20000' - subscriberProtocol: https - subscriberTimeoutMS: '-1' - subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub - subscriberUserName: test@tca.af.dcae.onap.org - subscriberUserPassword: password - tca_policy: null - artifact_name: dcae-analytics-tca - artifact_version: 1.0.0 - connections: - streams_publishes: [ - ] - streams_subscribes: [ - ] - jar_url: http://somejar - location_id: - get_input: location_id - namespace: cdap_tca_hi_lo - programs: - - program_id: TCAVESCollectorFlow - program_type: flows - - program_id: TCADMaaPMRSubscriberWorker - program_type: workers - - program_id: TCADMaaPMRPublisherWorker - program_type: workers - service_component_type: cdap_app_tca - service_id: - get_input: service_id - streamname: TCASubscriberOutputStream - relationships: - - target: topic0 - type: dcae.relationships.subscribe_to_events - - target: topic1 - type: dcae.relationships.publish_events - - target: cdap_host_host - type: dcae.relationships.component_contained_in - - target: policy_0 - type: dcae.relationships.depends_on - topic0: - type: dcae.nodes.Topic - properties: - topic_name: '' - topic1: - type: dcae.nodes.Topic - properties: - topic_name: '' - "]}]} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/custom/modelBpmn.json b/src/test/resources/example/model-properties/custom/modelBpmn.json deleted file mode 100644 index c8efff87..00000000 --- a/src/test/resources/example/model-properties/custom/modelBpmn.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "policy": - [ - { - "id": "Policy_", - "from": "StartEvent_1" - } - ], - - "tca": - [ - { - "id": "TCA_", - "from": "" - } - ], - - "customType": - [ - { - "id": "CustomType_", - "from": "" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/custom/modelBpmnProperties.json b/src/test/resources/example/model-properties/custom/modelBpmnProperties.json deleted file mode 100644 index 740edeea..00000000 --- a/src/test/resources/example/model-properties/custom/modelBpmnProperties.json +++ /dev/null @@ -1,248 +0,0 @@ -{ - "global": - [ - { - "name": "service", - "value": - [ - "0f983e18-4603-4bb4-a98c-e29691fb16a1" - ] - }, - - { - "name": "vf", - "value": - [ - "6c7aaec2-59eb-41d9-8681-b7f976ab668d" - ] - }, - - { - "name": "actionSet", - "value": - [ - "vnfRecipe" - ] - }, - - { - "name": "location", - "value": - [ - "SNDGCA64" - ] - } - ], - - "Policy_": - { - "Policy1": - [ - { - "name": "pname", - "value": "Policy1" - }, - - { - "name": "pid", - "value": "1" - }, - - { - "name": "timeout", - "value": "500" - }, - - { - "policyConfigurations": - [ - [ - { - "name": "recipe", - "value": - [ - "restart" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "" - ] - }, - { - "name": "targetResourceId", - "value": - [ - "resource-id" - ] - } - ], - - [ - { - "name": "recipe", - "value": - [ - "rebuild" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "ItE5xKT" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicyConditions", - "value": - [ - "Failure_Retries", - "Failure_Timeout", - "Failure_Exception", - "Failure" - ] - }, - { - "name": "targetResourceId", - "value": - [ - "resource-id" - ] - } - ] - ] - } - ] - }, - - "TCA_": - { - "Narra": - [ - { - "name": "tname", - "value": "Narra" - }, - - { - "name": "tuuid", - "value": "886be8da-14fe-tca1-d04b-d13b55d58df9" - }, - - { - "name": "tnfc", - "value": "ENBE" - }, - - { - "name": "tcaEnab", - "value": "on" - }, - - { - "name": "tcaPol", - "value": "Policy1" - }, - - { - "name": "tcaPolId", - "value": "1" - }, - - { - "name": "tcaInt", - "value": "2" - }, - - { - "name": "tcaSev", - "value": "Warning" - }, - - { - "name": "tcaVio", - "value": "3" - }, - - { - "serviceConfigurations": - [ - [ - "PMRRCCONNESTABFAILCELLLATENCY", - "LESS", - "4", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRRCCONNESTABFAILCELLLATENCY')].Value" - ], - - [ - "PMRAATTCBRA", - "GREATER", - "30", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRAATTCBRA')].Value" - ] - ] - } - ] - }, - - "CustomType_": [ - { - "name": "test", - "value": "This is a test" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/holmes/modelBpmn.json b/src/test/resources/example/model-properties/holmes/modelBpmn.json deleted file mode 100644 index db8e54dd..00000000 --- a/src/test/resources/example/model-properties/holmes/modelBpmn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "vesCollector": [ - { - "id": "VesCollector_0orydnh", - "from": "StartEvent_1" - } - ], - "holmes": [ - { - "id": "Holmes_0i4n2mm", - "from": "VesCollector_0orydnh" - } - ], - "policy": [ - { - "id": "Policy_0honxgv", - "from": "Holmes_0i4n2mm" - } - ] -} diff --git a/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json b/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json deleted file mode 100644 index 6ac97ec8..00000000 --- a/src/test/resources/example/model-properties/holmes/modelBpmnProperties.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "Holmes_0i4n2mm": [ - { - "name": "correlationalLogic", - "value": "blabla" - }, - { - "name": "configPolicyName", - "value": "configPolicy1" - } - ], - "Policy_0honxgv": { - "policy1": [ - { - "name": "pname", - "value": "policy1" - }, - { - "name": "pid", - "value": "0" - }, - { - "name": "timeout", - "value": "345" - }, - { - "policyConfigurations": [ - [ - { - "name": "maxRetries", - "value": [ - "3" - ] - }, - { - "name": "retryTimeLimit", - "value": [ - "180" - ] - }, - { - "name": "_id", - "value": [ - "dGLuNqg" - ] - }, - { - "name": "parentPolicy", - "value": [ - "" - ] - }, - { - "name": "targetResourceId", - "value": [ - "resourceid" - ] - } - ] - ] - } - ] - }, - "global": [ - { - "name": "actionSet", - "value": [ - "vnfRecipe" - ] - }, - { - "name": "service", - "value": [ - "4cc5b45a-1f63-4194-8100-cd8e14248c92" - ] - }, - { - "name": "vf", - "value": [ - "f5213e3a-9191-4362-93b5-b67f8d770e44" - ] - }, - { - "name": "location", - "value": [ - "SNDGCA64", - "ALPRGAED", - "LSLEILAA", - "MDTWNJC1" - ] - }, - { - "name": "deployParameters", - "value": { - "input1": "value1", - "input2": "value2" - } - } - ], - "shared": { - "byService": { - "": { - "vf": { - "": "" - }, - "location": { - "": "" - }, - "alarmCondition": { - "": "" - } - } - }, - "byVf": { - "": { - "vfc": { - "": "" - } - } - } - } -} diff --git a/src/test/resources/example/model-properties/policy/modelBpmn.json b/src/test/resources/example/model-properties/policy/modelBpmn.json deleted file mode 100644 index de643a69..00000000 --- a/src/test/resources/example/model-properties/policy/modelBpmn.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "policy": - [ - { - "id": "Policy_", - "from": "StartEvent_1" - } - ], - - "tca": - [ - { - "id": "TCA_", - "from": "" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/policy/modelBpmnProperties.json b/src/test/resources/example/model-properties/policy/modelBpmnProperties.json deleted file mode 100644 index d0453c30..00000000 --- a/src/test/resources/example/model-properties/policy/modelBpmnProperties.json +++ /dev/null @@ -1,482 +0,0 @@ -{ - "global": - [ - { - "name": "service", - "value": - [ - "0f983e18-4603-4bb4-a98c-e29691fb16a1" - ] - }, - - { - "name": "vf", - "value": - [ - "6c7aaec2-59eb-41d9-8681-b7f976ab668d" - ] - }, - - { - "name": "actionSet", - "value": - [ - "vnfRecipe" - ] - }, - - { - "name": "location", - "value": - [ - "SNDGCA64" - ] - } - ], - - "Policy_": - { - "Policy1": - [ - { - "name": "pname", - "value": "Policy1" - }, - - { - "name": "pid", - "value": "1" - }, - - { - "name": "timeout", - "value": "500" - }, - - { - "policyConfigurations": - [ - [ - { - "name": "recipe", - "value": - [ - "restart" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "" - ] - }, - { - "name": "targetResourceId", - "value": - [ - "" - ] - }, - { - "name": "targetResourceIdOther", - "value": - [ - "" - ] - }, - { - "name": "actor", - "value": - [ - "APPC" - ] - } - ], - - [ - { - "name": "recipe", - "value": - [ - "rebuild" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "ItE5xKT" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicyConditions", - "value": - [ - "Failure_Retries", - "Failure_Timeout", - "Failure_Exception", - "Failure" - ] - }, - { - "name": "targetResourceId", - "value": - [ - "resource-id" - ] - }, - { - "name": "targetResourceIdOther", - "value": - [ - "resource-idOther" - ] - }, - { - "name": "actor", - "value": - [ - "APPC" - ] - } - ] - ] - } - ], - - "Policy2": - [ - { - "name": "pname", - "value": "Policy2" - }, - - { - "name": "pid", - "value": "2" - }, - - { - "name": "timeout", - "value": "500" - }, - - { - "policyConfigurations": - [ - [ - { - "name": "recipe", - "value": - [ - "restart" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "" - ] - }, - { - "name": "actor", - "value": - [ - "APPC" - ] - } - ], - - [ - { - "name": "recipe", - "value": - [ - "rebuild" - ] - }, - - { - "name": "maxRetries", - "value": - [ - "3" - ] - }, - - { - "name": "retryTimeLimit", - "value": - [ - "180" - ] - }, - - { - "name": "_id", - "value": - [ - "ItE5xKT" - ] - }, - - { - "name": "parentPolicy", - "value": - [ - "n9bQ4t6" - ] - }, - - { - "name": "parentPolicyConditions", - "value": - [ - "Failure_Retries", - "Failure_Timeout", - "Failure_Exception", - "Failure" - ] - }, - { - "name": "targetResourceId", - "value": - [ - "resource-id" - ] - }, - { - "name": "targetResourceIdOther", - "value": - [ - "resource-idOther" - ] - }, - { - "name": "actor", - "value": - [ - "APPC" - ] - } - ] - ] - } - ] - }, - - "TCA_": - { - "Narra": - [ - { - "name": "tname", - "value": "Narra" - }, - - { - "name": "tuuid", - "value": "886be8da-14fe-tca1-d04b-d13b55d58df9" - }, - - { - "name": "tnfc", - "value": "ENBE" - }, - - { - "name": "tcaEnab", - "value": "on" - }, - - { - "name": "tcaPol", - "value": "Policy1" - }, - - { - "name": "tcaPolId", - "value": "1" - }, - - { - "name": "tcaInt", - "value": "2" - }, - - { - "name": "tcaSev", - "value": "Warning" - }, - - { - "name": "tcaVio", - "value": "3" - }, - - { - "serviceConfigurations": - [ - [ - "PMRRCCONNESTABFAILCELLLATENCY", - "LESS", - "4", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRRCCONNESTABFAILCELLLATENCY')].Value" - ], - - [ - "PMRAATTCBRA", - "GREATER", - "30", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRAATTCBRA')].Value" - ] - ] - } - ], - - "Srini": - [ - { - "name": "tname", - "value": "Srini" - }, - - { - "name": "tuuid", - "value": "8b5ba88d-f4b4-tf0e-50b1-78a5a7dd412d" - }, - - { - "name": "tnfc", - "value": "ENBE" - }, - - { - "name": "tcaEnab", - "value": "on" - }, - - { - "name": "tcaPol", - "value": "Policy2" - }, - - { - "name": "tcaPolId", - "value": "2" - }, - - { - "name": "tcaInt", - "value": "10" - }, - - { - "name": "tcaSev", - "value": "Critical" - }, - - { - "name": "tcaVio", - "value": "5" - }, - - { - "serviceConfigurations": - [ - [ - "PMRRCCONNESTABFAILCELLLATENCY", - "EQUAL", - "3", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRRCCONNESTABFAILCELLLATENCY')].Value" - ], - - [ - "PMRAATTCBRA", - "GREATER", - "30", - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[?(@.Name == 'PMRAATTCBRA')].Value" - ] - ] - } - ] - } -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/tca/modelBpmn.json b/src/test/resources/example/model-properties/tca/modelBpmn.json deleted file mode 100644 index 7358f9ad..00000000 --- a/src/test/resources/example/model-properties/tca/modelBpmn.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "vesCollector": [ - { - "id": "VesCollector_0orydnh", - "from": "StartEvent_1" - } - ], - "tca": [ - { - "id": "TCA_1jy9to4", - "from": "VesCollector_0orydnh" - } - ], - "policy": [ - { - "id": "Policy_0honxgv", - "from": "TCA_1jy9to4" - } - ] -} diff --git a/src/test/resources/example/model-properties/tca/modelBpmnProperties.json b/src/test/resources/example/model-properties/tca/modelBpmnProperties.json deleted file mode 100644 index 1226dc9b..00000000 --- a/src/test/resources/example/model-properties/tca/modelBpmnProperties.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "TCA_1jy9to4": { - "group1": [ - { - "name": "tname", - "value": "group1" - }, - { - "name": "tuuid", - "value": "f734f031-10aa-t8fb-330f-04dde2886325" - }, - { - "name": "tcaPolId", - "value": "policy1" - }, - { - "name": "eventName", - "value": "vFirewallBroadcastPackets" - }, - { - "name": "controlLoopSchemaType", - "value": "VNF" - }, - { - "serviceConfigurations": [ - [ - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", - "LESS_OR_EQUAL", - "123", - "ABATED" - ], - [ - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", - "GREATER_OR_EQUAL", - "123", - "ONSET" - ] - ] - } - ] - }, - "Policy_0honxgv": { - "policy1": [ - { - "name": "pname", - "value": "policy1" - }, - { - "name": "pid", - "value": "0" - }, - { - "name": "timeout", - "value": "345" - }, - { - "policyConfigurations": [ - [ - { - "name": "maxRetries", - "value": [ - "3" - ] - }, - { - "name": "retryTimeLimit", - "value": [ - "180" - ] - }, - { - "name": "_id", - "value": [ - "dGLuNqg" - ] - }, - { - "name": "parentPolicy", - "value": [ - "" - ] - }, - { - "name": "targetResourceId", - "value": [ - "resourceid" - ] - } - ] - ] - } - ] - }, - "global": [ - { - "name": "actionSet", - "value": [ - "vnfRecipe" - ] - }, - { - "name": "service", - "value": [ - "4cc5b45a-1f63-4194-8100-cd8e14248c92" - ] - }, - { - "name": "vf", - "value": [ - "023a3f0d-1161-45ff-b4cf-8918a8ccf3ad" - ] - }, - { - "name": "location", - "value": [ - "SNDGCA64", - "ALPRGAED", - "LSLEILAA", - "MDTWNJC1" - ] - }, - { - "name": "deployParameters", - "value": { - "input1": "value1", - "input2": "value2" - } - } - ], - "shared": { - "byService": { - "": { - "vf": { - "": "" - }, - "location": { - "": "" - }, - "alarmCondition": { - "": "" - } - } - }, - "byVf": { - "": { - "vfc": { - "": "" - } - } - } - } -} diff --git a/src/test/resources/example/model-properties/tca_new/doc-text.yaml b/src/test/resources/example/model-properties/tca_new/doc-text.yaml deleted file mode 100644 index 947cfdb1..00000000 --- a/src/test/resources/example/model-properties/tca_new/doc-text.yaml +++ /dev/null @@ -1,170 +0,0 @@ -{"global":[{"name":"service","value":["tosca_definitions_version: cloudify_dsl_1_3 -imports: - - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml" - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/dockerplugin/3.2.0/dockerplugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/relationshipplugin/1.0.0/relationshipplugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml - -inputs: - dh_override: - type: string - default: "component_dockerhost" - dh_location_id: - type: string - default: "zone1" - aaiEnrichmentHost: - type: string - default: "none" - aaiEnrichmentPort: - type: string - default: 8443 - enableAAIEnrichment: - type: string - default: false - dmaap_host: - type: string - default: dmaap.onap-message-router - dmaap_port: - type: string - default: 3904 - enableRedisCaching: - type: string - default: false - redisHosts: - type: string - tag_version: - type: string - default: "nexus3.onap.org:10001/onap//onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0" - consul_host: - type: string - default: consul-server.onap-consul - consul_port: - type: string - default: "8500" - cbs_host: - type: string - default: "config-binding-service.dcae" - cbs_port: - type: string - default: "10000" - policy_id: - type: string - default: "none" - external_port: - type: string - description: "Port for CDAPgui to be exposed" - default: "32010" - -node_templates: - docker_service_host: - properties: - docker_host_override: - get_input: dh_override - location_id: - get_input: dh_location_id - type: dcae.nodes.SelectedDockerHost - tca_docker: - relationships: - - type: dcae.relationships.component_contained_in - target: docker_service_host - - target: tca_policy - type: cloudify.relationships.depends_on - type: dcae.nodes.DockerContainerForComponentsUsingDmaap - properties: - application_config: - app_config: - appDescription: DCAE Analytics Threshold Crossing Alert Application - appName: dcae-tca - tcaAlertsAbatementTableName: TCAAlertsAbatementTable - tcaAlertsAbatementTableTTLSeconds: '1728000' - tcaSubscriberOutputStreamName: TCASubscriberOutputStream - tcaVESAlertsTableName: TCAVESAlertsTable - tcaVESAlertsTableTTLSeconds: '1728000' - tcaVESMessageStatusTableName: TCAVESMessageStatusTable - tcaVESMessageStatusTableTTLSeconds: '86400' - thresholdCalculatorFlowletInstances: '2' - app_preferences: - aaiEnrichmentHost: - get_input: aaiEnrichmentHost - aaiEnrichmentIgnoreSSLCertificateErrors: 'true' - aaiEnrichmentPortNumber: '8443' - aaiEnrichmentProtocol: https - aaiEnrichmentUserName: DCAE - aaiEnrichmentUserPassword: DCAE - aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query - aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf - enableAAIEnrichment: - get_input: enableAAIEnrichment - enableRedisCaching: - get_input: enableRedisCaching - redisHosts: - get_input: redisHosts - enableAlertCEFFormat: 'false' - publisherContentType: application/json - publisherHostName: - get_input: dmaap_host - publisherHostPort: - get_input: dmaap_port - publisherMaxBatchSize: '1' - publisherMaxRecoveryQueueSize: '100000' - publisherPollingInterval: '20000' - publisherProtocol: http - publisherTopicName: unauthenticated.DCAE_CL_OUTPUT - subscriberConsumerGroup: OpenDCAE-c12 - subscriberConsumerId: c12 - subscriberContentType: application/json - subscriberHostName: - get_input: dmaap_host - subscriberHostPort: - get_input: dmaap_port - subscriberMessageLimit: '-1' - subscriberPollingInterval: '30000' - subscriberProtocol: http - subscriberTimeoutMS: '-1' - subscriberTopicName: unauthenticated.SEC_MEASUREMENT_OUTPUT - tca_policy_default: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"LESS_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"},{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta","thresholdValue":700,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"vLoadBalancer","controlLoopSchemaType":"VM","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"Measurement_vGMUX","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"EQUAL","severity":"MAJOR","closedLoopEventStatus":"ABATED"},{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"GREATER","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]}]}' - service_component_type: dcaegen2-analytics_tca - docker_config: - healthcheck: - endpoint: /healthcheck - interval: 15s - timeout: 1s - type: http - image: - get_input: tag_version - interfaces: - cloudify.interfaces.lifecycle: - start: - inputs: - envs: - DMAAPHOST: - { get_input: dmaap_host } - DMAAPPORT: - { get_input: dmaap_port } - DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT" - DMAAPSUBTOPIC: "unauthenticated.SEC_MEASUREMENT_OUTPUT" - AAIHOST: - { get_input: aaiEnrichmentHost } - AAIPORT: - { get_input: aaiEnrichmentPort } - CONSUL_HOST: - { get_input: consul_host } - CONSUL_PORT: - { get_input: consul_port } - CBS_HOST: - { get_input: cbs_host } - CBS_PORT: - { get_input: cbs_port } - CONFIG_BINDING_SERVICE: "config_binding_service" - ports: - - concat: ["11011:", { get_input: external_port }] - stop: - inputs: - cleanup_image: true - tca_policy: - type: dcae.nodes.policy - properties: - policy_id: - get_input: policy_id - -"]}]} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/tca_new/model-bpmn.json b/src/test/resources/example/model-properties/tca_new/model-bpmn.json deleted file mode 100644 index 84964c55..00000000 --- a/src/test/resources/example/model-properties/tca_new/model-bpmn.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "policy": [ - { - "id": "Policy_12lup3h", - "from": "TCA_1d13unw" - } - ], - "tca": [ - { - "id": "TCA_1d13unw", - "from": "VesCollector_1g9cmz0" - } - ], - "holmes": [], - "vesCollector": [ - { - "id": "VesCollector_1g9cmz0", - "from": "StartEvent_1" - } - ] -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/tca_new/model-properties.json b/src/test/resources/example/model-properties/tca_new/model-properties.json deleted file mode 100644 index 8ea3bb4a..00000000 --- a/src/test/resources/example/model-properties/tca_new/model-properties.json +++ /dev/null @@ -1,359 +0,0 @@ -{ - "global": [ - { - "name": "service", - "value": [ - "4cc5b45a-1f63-4194-8100-cd8e14248c92" - ] - }, - { - "name": "vf", - "value": [ - "023a3f0d-1161-45ff-b4cf-8918a8ccf3ad" - ] - }, - { - "name": "actionSet", - "value": [ - "vnfRecipe" - ] - }, - { - "name": "location", - "value": [ - "DC1" - ] - }, - { - "name": "deployParameters", - "value": { - "dh_override": "component_dockerhost", - "dh_location_id": "zone1", - "aaiEnrichmentHost": "none", - "aaiEnrichmentPort": 8443, - "enableAAIEnrichment": false, - "dmaap_host": "dmaap.onap-message-router", - "dmaap_port": 3904, - "enableRedisCaching": false, - "redisHosts": "", - "tag_version": "nexus3.onap.org:10001/onap//onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0", - "consul_host": "consul-server.onap-consul", - "consul_port": "8500", - "cbs_host": "config-binding-service.dcae", - "cbs_port": "10000", - "external_port": "32010", - "policy_id": "AUTO_GENERATED_POLICY_ID_AT_SUBMIT" - } - } - ], - "Policy_12lup3h": { - "policy1": [ - { - "name": "pname", - "value": "policy1" - }, - { - "name": "pid", - "value": "0" - }, - { - "name": "timeout", - "value": "345" - }, - { - "policyConfigurations": [ - [ - { - "name": "recipe", - "value": [ - "restart" - ] - }, - { - "name": "maxRetries", - "value": [ - "3" - ] - }, - { - "name": "retryTimeLimit", - "value": [ - "180" - ] - }, - { - "name": "_id", - "value": [ - "6TtHGPq" - ] - }, - { - "name": "parentPolicy", - "value": [ - "" - ] - }, - { - "name": "actor", - "value": [ - "APPC" - ] - }, - { - "name": "recipeInput", - "value": [ - "" - ] - }, - { - "name": "recipeLevel", - "value": [ - "VM" - ] - }, - { - "name": "targetResourceId", - "value": [ - "07e266fc-49ab-4cd7-8378-ca4676f1b9ec" - ] - }, - { - "name": "targetResourceIdOther", - "value": [ - "" - ] - }, - { - "name": "enableGuardPolicy", - "value": [ - "on" - ] - }, - { - "name": "guardPolicyType", - "value": [ - "GUARD_YAML" - ] - }, - { - "name": "guardTargets", - "value": [ - ".*" - ] - }, - { - "name": "minGuard", - "value": [ - "1" - ] - }, - { - "name": "maxGuard", - "value": [ - "1" - ] - }, - { - "name": "limitGuard", - "value": [ - "1" - ] - }, - { - "name": "timeUnitsGuard", - "value": [ - "minute" - ] - }, - { - "name": "timeWindowGuard", - "value": [ - "10" - ] - }, - { - "name": "guardActiveStart", - "value": [ - "00:00:01-05:00" - ] - }, - { - "name": "guardActiveEnd", - "value": [ - "00:00:00-05:00" - ] - } - ], - [ - { - "name": "recipe", - "value": [ - "rebuild" - ] - }, - { - "name": "maxRetries", - "value": [ - "3" - ] - }, - { - "name": "retryTimeLimit", - "value": [ - "180" - ] - }, - { - "name": "_id", - "value": [ - "aulXWRT" - ] - }, - { - "name": "parentPolicy", - "value": [ - "6TtHGPq" - ] - }, - { - "name": "parentPolicyConditions", - "value": [ - "Failure" - ] - }, - { - "name": "actor", - "value": [ - "APPC" - ] - }, - { - "name": "recipeInput", - "value": [ - "" - ] - }, - { - "name": "recipeLevel", - "value": [ - "VM" - ] - }, - { - "name": "targetResourceId", - "value": [ - "07e266fc-49ab-4cd7-8378-ca4676f1b9ec" - ] - }, - { - "name": "targetResourceIdOther", - "value": [ - "" - ] - }, - { - "name": "guardPolicyType", - "value": [ - "GUARD_MIN_MAX" - ] - }, - { - "name": "guardTargets", - "value": [ - ".*" - ] - }, - { - "name": "minGuard", - "value": [ - "1" - ] - }, - { - "name": "maxGuard", - "value": [ - "1" - ] - }, - { - "name": "limitGuard", - "value": [ - "1" - ] - }, - { - "name": "timeUnitsGuard", - "value": [ - "minute" - ] - }, - { - "name": "timeWindowGuard", - "value": [ - "10" - ] - }, - { - "name": "guardActiveStart", - "value": [ - "00:00:01-05:00" - ] - }, - { - "name": "guardActiveEnd", - "value": [ - "00:00:00-05:00" - ] - } - ] - ] - } - ] - }, - "TCA_1d13unw": { - "tca1": [ - { - "name": "tname", - "value": "tca1" - }, - { - "name": "tuuid", - "value": "7f14fe1f-68ac-t628-8fff-7f1de86f7038" - }, - { - "name": "tcaPol", - "value": "policy1" - }, - { - "name": "eventName", - "value": "vLoadBalancer" - }, - { - "name": "controlLoopSchemaType", - "value": "VM" - }, - { - "name": "tcaPolId", - "value": "0" - }, - { - "serviceConfigurations": [ - [ - "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value", - "GREATER", - "10", - "ONSET", - "undefined" - ], - [ - "$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta", - "GREATER_OR_EQUAL", - "20", - "ABATED", - "undefined" - ] - ] - } - ] - } -} \ No newline at end of file diff --git a/src/test/resources/example/model-properties/tca_new/tca-img.xml b/src/test/resources/example/model-properties/tca_new/tca-img.xml deleted file mode 100644 index a2ec5af2..00000000 --- a/src/test/resources/example/model-properties/tca_new/tca-img.xml +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - V - - - E - - - S - - - VesCollector - - - - - - - - - - - - - TCA - - - - - - - - - - - - - Policy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/resources/example/model-properties/tca_new/tca-template.xml b/src/test/resources/example/model-properties/tca_new/tca-template.xml deleted file mode 100644 index cc942ef9..00000000 --- a/src/test/resources/example/model-properties/tca_new/tca-template.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - SequenceFlow_1ahk7jg - - - SequenceFlow_1ahk7jg - SequenceFlow_18ahat1 - - - SequenceFlow_18ahat1 - SequenceFlow_1mo9gxb - - - SequenceFlow_1mo9gxb - SequenceFlow_1dgtrrq - - - SequenceFlow_1dgtrrq - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file