diff options
Diffstat (limited to 'src/main/java/org/onap/crud/parser')
5 files changed, 3 insertions, 447 deletions
diff --git a/src/main/java/org/onap/crud/parser/BulkPayload.java b/src/main/java/org/onap/crud/parser/BulkPayload.java deleted file mode 100644 index 33e9a2e..0000000 --- a/src/main/java/org/onap/crud/parser/BulkPayload.java +++ /dev/null @@ -1,80 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * 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.crud.parser; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; - -import org.onap.crud.exception.CrudException; - -import java.util.ArrayList; -import java.util.List; - -import javax.ws.rs.core.Response.Status; - -public class BulkPayload { - public enum OperationType { - CREATE, UPDATE, DELETE - } - - private List<JsonElement> objects = new ArrayList<JsonElement>(); - private List<JsonElement> relationships = new ArrayList<JsonElement>(); - - private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - - public String toJson() { - return gson.toJson(this); - } - - public static BulkPayload fromJson(String payload) throws CrudException { - try { - if (payload == null || payload.isEmpty()) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - return gson.fromJson(payload, BulkPayload.class); - } catch (Exception ex) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - } - - public List<JsonElement> getObjects() { - return objects; - } - - public void setObjects(List<JsonElement> objects) { - this.objects = objects; - } - - public List<JsonElement> getRelationships() { - return relationships; - } - - public void setRelationships(List<JsonElement> relationships) { - this.relationships = relationships; - } - - @Override - public String toString() { - return "BulkPayload [objects=" + objects + ", relationships=" + relationships + "]"; - } - -}
\ No newline at end of file diff --git a/src/main/java/org/onap/crud/parser/CrudResponseBuilder.java b/src/main/java/org/onap/crud/parser/CrudResponseBuilder.java index 29d8824..18b50ef 100644 --- a/src/main/java/org/onap/crud/parser/CrudResponseBuilder.java +++ b/src/main/java/org/onap/crud/parser/CrudResponseBuilder.java @@ -27,6 +27,9 @@ import java.util.Map; import org.onap.crud.entity.Edge; import org.onap.crud.entity.Vertex; import org.onap.crud.exception.CrudException; +import org.onap.crud.service.BulkPayload; +import org.onap.crud.service.EdgePayload; +import org.onap.crud.service.VertexPayload; import org.onap.schema.EdgeRulesLoader; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/src/main/java/org/onap/crud/parser/EdgePayload.java b/src/main/java/org/onap/crud/parser/EdgePayload.java deleted file mode 100644 index a1499db..0000000 --- a/src/main/java/org/onap/crud/parser/EdgePayload.java +++ /dev/null @@ -1,110 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * 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.crud.parser; - -import javax.ws.rs.core.Response.Status; -import org.onap.crud.exception.CrudException; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; - -public class EdgePayload { - - private String id; - private String type; - private String url; - private String source; - private String target; - private JsonElement properties; - - private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - - - @Override - public String toString() { - return "EdgePayload [id=" + id + ", type=" + type + ", url=" + url + ", source=" - + source + ", target=" + target + ", properties=" + properties + "]"; - } - - public String toJson() { - return gson.toJson(this); - } - - public static EdgePayload fromJson(String payload) throws CrudException { - try { - if (payload == null || payload.isEmpty()) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - return gson.fromJson(payload, EdgePayload.class); - } catch (Exception ex) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getSource() { - return source; - } - - public void setSource(String source) { - this.source = source; - } - - public String getTarget() { - return target; - } - - public void setTarget(String target) { - this.target = target; - } - - public JsonElement getProperties() { - return properties; - } - - public void setProperties(JsonElement properties) { - this.properties = properties; - } - -}
\ No newline at end of file diff --git a/src/main/java/org/onap/crud/parser/VertexPayload.java b/src/main/java/org/onap/crud/parser/VertexPayload.java deleted file mode 100644 index b5ff345..0000000 --- a/src/main/java/org/onap/crud/parser/VertexPayload.java +++ /dev/null @@ -1,112 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * 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.crud.parser; - -import java.util.ArrayList; -import java.util.List; -import javax.ws.rs.core.Response.Status; -import org.onap.crud.exception.CrudException; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; - -public class VertexPayload { - - private String id; - private String type; - private String url; - private JsonElement properties; - private List<EdgePayload> in = new ArrayList<EdgePayload>(); - private List<EdgePayload> out = new ArrayList<EdgePayload>(); - - private static final Gson gson = new GsonBuilder().disableHtmlEscaping().create(); - - public String toJson() { - return gson.toJson(this); - } - - public static VertexPayload fromJson(String payload) throws CrudException { - try { - if (payload == null || payload.isEmpty()) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - return gson.fromJson(payload, VertexPayload.class); - } catch (Exception ex) { - throw new CrudException("Invalid Json Payload", Status.BAD_REQUEST); - } - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public JsonElement getProperties() { - return properties; - } - - public void setProperties(JsonElement properties) { - this.properties = properties; - } - - public List<EdgePayload> getIn() { - return in; - } - - public void setIn(List<EdgePayload> in) { - this.in = in; - } - - public List<EdgePayload> getOut() { - return out; - } - - public void setOut(List<EdgePayload> out) { - this.out = out; - } - - - @Override - public String toString() { - return "VertexPayload [id=" + id + ", type=" + type + ", url=" + url + ", properties=" - + properties + ", in=" + in + ", out=" + out + "]"; - } - -}
\ No newline at end of file diff --git a/src/main/java/org/onap/crud/parser/util/EdgePayloadUtil.java b/src/main/java/org/onap/crud/parser/util/EdgePayloadUtil.java deleted file mode 100644 index 0f72625..0000000 --- a/src/main/java/org/onap/crud/parser/util/EdgePayloadUtil.java +++ /dev/null @@ -1,145 +0,0 @@ -/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
- * ================================================================================
- * 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.crud.parser.util;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.ws.rs.core.Response.Status;
-import org.onap.crud.entity.Edge;
-import org.onap.crud.entity.Vertex;
-import org.onap.crud.exception.CrudException;
-
-/**
- * Utility Class to extract data from the Edge Payload
- */
-public class EdgePayloadUtil {
-
- private static final Pattern URL_MATCHER = Pattern.compile("services/inventory/(.*)/(.*)/(.*)");
-
- private static Matcher getVertexMatcher(String vertex) throws CrudException {
- Matcher matcher = URL_MATCHER.matcher(vertex);
- if (!matcher.matches()) {
- throw new CrudException("Invalid Source/Target Urls", Status.BAD_REQUEST);
- }
- return matcher;
- }
-
- /**
- * Returns the node type from a vertex on the edge payload
- *
- * @param vertex
- * @return
- * @throws CrudException
- */
- public static String getVertexNodeType(String vertex) throws CrudException {
- return getVertexMatcher(vertex).group(2);
- }
-
- /**
- * Returns the node id from a vertex on the edge payload
- *
- * @param vertex
- * @return
- * @throws CrudException
- */
- public static String getVertexNodeId(String vertex) throws CrudException {
- return getVertexMatcher(vertex).group(3);
- }
-
- /**
- * Generates a key based on the edge payload content
- *
- * @param source
- * @param target
- * @param type
- * @return
- * @throws CrudException
- */
- public static String generateEdgeKey(String source, String target, String type) throws CrudException {
- return getVertexNodeType(source) + ":" + getVertexNodeType(target) + ":" + type;
- }
-
- /**
- * Returns an Edge Builder object from the payload properties
- *
- * @param source
- * @param target
- * @param type
- * @return
- * @throws CrudException
- */
- public static Edge.Builder getBuilderFromEdgePayload(String source, String target, String type) throws CrudException {
- Edge.Builder edgeBuilder = new Edge.Builder(type);
-
- edgeBuilder.source(new Vertex.Builder(getVertexNodeType(source)).id(getVertexNodeId(source)).build());
- edgeBuilder.target(new Vertex.Builder(getVertexNodeType(target)).id(getVertexNodeId(target)).build());
-
- return edgeBuilder;
- }
-
- /**
- * Returns an Edge Builder object from an Edge object properties
- *
- * @param edge
- * @return
- */
- public static Edge.Builder getBuilderFromEdge(Edge edge) {
- Edge.Builder edgeBuilder = new Edge.Builder(edge.getType()).id(edge.getId().get());
-
- edgeBuilder
- .source(new Vertex.Builder(edge.getSource().getType()).id(edge.getSource().getId().get()).build());
- edgeBuilder
- .target(new Vertex.Builder(edge.getTarget().getType()).id(edge.getTarget().getId().get()).build());
-
- return edgeBuilder;
- }
-
- /**
- * Filter Edges by its source/target vertex type and the edge type
- *
- * @param sourceTargetType the new Edge source/target type
- * @param type
- * @param edges
- * @return List<Edge>
- */
- public static List<Edge> filterEdgesByRelatedVertexAndType(String sourceTargetType, String type, List<Edge> edges) {
- List<Edge> filteredEdges = new ArrayList<>();
- if (edges != null) {
- for (Edge edge : edges) {
- if (doesEdgeTypeMatch(edge, type) && doesEdgeSourceTargetTypeMatch(edge, sourceTargetType)) {
- filteredEdges.add(edge);
- }
- }
- }
- return filteredEdges;
- }
-
- private static boolean doesEdgeTypeMatch(Edge edge, String type) {
- return edge.getType() != null && edge.getType().equals(type);
- }
-
- private static boolean doesEdgeSourceTargetTypeMatch(Edge edge, String sourceTargetType) {
- return (edge.getSource().getType() != null && edge.getSource().getType().equals(sourceTargetType))
- || ((edge.getTarget().getType() != null && edge.getTarget().getType().equals(sourceTargetType)));
- }
-}
|