diff options
Diffstat (limited to 'src/main/java/org/onap/pnfsimulator/template')
10 files changed, 0 insertions, 688 deletions
diff --git a/src/main/java/org/onap/pnfsimulator/template/FsToDbTemplateSynchronizer.java b/src/main/java/org/onap/pnfsimulator/template/FsToDbTemplateSynchronizer.java deleted file mode 100644 index 0080813..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/FsToDbTemplateSynchronizer.java +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template; - -import org.bson.json.JsonParseException; -import org.onap.pnfsimulator.db.Storage; -import org.onap.pnfsimulator.filesystem.WatcherEventProcessor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.stream.Stream; - -@Service -public class FsToDbTemplateSynchronizer { - - private static final String CANNOT_SYNC = "Cannot synchronize templates. Check whether the proper folder exists."; - private static final Logger LOGGER = LoggerFactory.getLogger(FsToDbTemplateSynchronizer.class); - - private final String templatesDir; - private final Storage<Template> storage; - - @Autowired - public FsToDbTemplateSynchronizer(@Value("${templates.dir}") String templatesDir, - Storage<Template> storage) { - this.templatesDir = templatesDir; - this.storage = storage; - } - - public void synchronize() { - try { - processTemplatesFolder(); - } catch (IOException e) { - LOGGER.error(CANNOT_SYNC, e); - } - } - - private void processTemplatesFolder() throws IOException { - try (Stream<Path> walk = Files.walk(Paths.get(templatesDir))) { - walk.filter(Files::isRegularFile).forEach(path -> { - try { - WatcherEventProcessor.MODIFIED.processEvent(path, storage); - } catch (IOException | JsonParseException e) { - LOGGER - .error("Cannot synchronize template: {}", path.getFileName(), e); - } - }); - } - } -} diff --git a/src/main/java/org/onap/pnfsimulator/template/Template.java b/src/main/java/org/onap/pnfsimulator/template/Template.java deleted file mode 100644 index 121d7d4..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/Template.java +++ /dev/null @@ -1,92 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template; - -import java.util.Objects; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.NoArgsConstructor; -import lombok.ToString; -import org.onap.pnfsimulator.db.Row; -import org.bson.Document; -import org.onap.pnfsimulator.template.search.JsonUtils; -import org.springframework.data.mongodb.core.mapping.Field; - -@NoArgsConstructor -@ToString -public class Template extends Row { - - @Field("content") - private Document content; - - @Field("flatContent") - private Document flatContent; - - @Field("lmod") - private long lmod; - - public Template(String name, Document content, long lmod) { - this.setId(name); - this.content = content; - this.lmod = lmod; - this.flatContent = new JsonUtils().flatten(content); - } - - public Template(String name, String template, long lmod) { - this.setId(name); - this.content = Document.parse(template); - this.lmod = lmod; - this.flatContent = new JsonUtils().flatten(this.content); - } - - public void setContent(Document content) { - this.content = content; - this.flatContent = new JsonUtils().flatten(content); - } - - public Document getContent() { - return new Document(this.content); - } - - @JsonIgnore - public Document getFlatContent() { - return new Document(this.flatContent); - } - - @Override - public boolean equals(Object object) { - if (this == object) { - return true; - } - if (object == null || getClass() != object.getClass()) { - return false; - } - Template template = (Template) object; - return Objects.equals(content, template.content) - && Objects.equals(getId(), template.getId()) - && Objects.equals(lmod, template.lmod); - } - - @Override - public int hashCode() { - return Objects.hash(content, getId()); - } -} diff --git a/src/main/java/org/onap/pnfsimulator/template/TemplateRepository.java b/src/main/java/org/onap/pnfsimulator/template/TemplateRepository.java deleted file mode 100644 index 78c9c77..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/TemplateRepository.java +++ /dev/null @@ -1,26 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template; - -import org.springframework.data.mongodb.repository.MongoRepository; - -public interface TemplateRepository extends MongoRepository<Template, String> { -} diff --git a/src/main/java/org/onap/pnfsimulator/template/TemplateService.java b/src/main/java/org/onap/pnfsimulator/template/TemplateService.java deleted file mode 100644 index 3e245e1..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/TemplateService.java +++ /dev/null @@ -1,81 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template; - -import java.util.List; -import java.util.Optional; - -import com.google.gson.JsonObject; -import org.onap.pnfsimulator.db.Storage; -import org.onap.pnfsimulator.template.search.TemplateSearchHelper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Service; - -@Primary -@Service -public class TemplateService implements Storage<Template> { - - private final TemplateRepository templateRepository; - private TemplateSearchHelper searchHelper; - - - @Autowired - public TemplateService(TemplateRepository templateRepository, TemplateSearchHelper searchHelper) { - this.templateRepository = templateRepository; - this.searchHelper = searchHelper; - } - - @Override - public List<Template> getAll() { - return templateRepository.findAll(); - } - - @Override - public Optional<Template> get(String name) { - return templateRepository.findById(name); - } - - @Override - public void persist(Template template) { - templateRepository.save(template); - } - - @Override - public boolean tryPersistOrOverwrite(Template template, boolean overwrite) { - if (templateRepository.existsById(template.getId()) && !overwrite) { - return false; - } - templateRepository.save(template); - return true; - } - - @Override - public void delete(String templateName) { - templateRepository.deleteById(templateName); - } - - @Override - public List<String> getIdsByContentCriteria(JsonObject stringQueryJson) { - return searchHelper.getIdsOfDocumentMatchingCriteria(stringQueryJson); - } - -} diff --git a/src/main/java/org/onap/pnfsimulator/template/search/IllegalJsonValueException.java b/src/main/java/org/onap/pnfsimulator/template/search/IllegalJsonValueException.java deleted file mode 100644 index 1685536..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/IllegalJsonValueException.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search; - -public class IllegalJsonValueException extends IllegalArgumentException { - - IllegalJsonValueException(String message) { - super(message); - } -} diff --git a/src/main/java/org/onap/pnfsimulator/template/search/JsonUtils.java b/src/main/java/org/onap/pnfsimulator/template/search/JsonUtils.java deleted file mode 100644 index b595b4f..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/JsonUtils.java +++ /dev/null @@ -1,104 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search; - -import com.google.common.base.Strings; -import com.google.gson.Gson; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; -import org.bson.Document; - -/** - * This util flattens nested json and produces json with keys transformed to form of json path - * where default separator between parent object key and object key is ':' - * For easing searching of boolean values, they are converted to its string representation - */ -public class JsonUtils { - - private static final String DEFAULT_PARENT_KEY_TO_OBJECT_KEY_SEPARATOR = ":"; - private static final String SEED_PREFIX = ""; - private static final Gson GSON = new Gson(); - - public JsonObject flatten(JsonObject original) { - return flattenWithPrefixedKeys(DEFAULT_PARENT_KEY_TO_OBJECT_KEY_SEPARATOR, original.deepCopy(), SEED_PREFIX, new JsonObject()); - } - - public JsonObject flatten(String parentKeyToKeySeparator, JsonObject original) { - return flattenWithPrefixedKeys(parentKeyToKeySeparator, original.deepCopy(), SEED_PREFIX, new JsonObject()); - } - - public Document flatten(Document original) { - return flatten(DEFAULT_PARENT_KEY_TO_OBJECT_KEY_SEPARATOR, original); - } - - public Document flatten(String parentKeyToKeySeparator, Document original) { - JsonObject originalJsonObject = GSON.fromJson(original.toJson(), JsonObject.class); - JsonObject flattenedJson = flatten(parentKeyToKeySeparator, originalJsonObject); - return Document.parse(flattenedJson.toString()); - } - - private JsonObject flattenWithPrefixedKeys(String parentKeyToKeySeparator, JsonElement topLevelElem, String prefix, JsonObject acc) { - if (topLevelElem.isJsonPrimitive()) { - handleJsonPrimitive(topLevelElem, prefix, acc); - } else if (topLevelElem.isJsonArray()) { - handleJsonArray(parentKeyToKeySeparator, topLevelElem, prefix, acc); - } else if (topLevelElem.isJsonObject()) { - handleJsonObject(parentKeyToKeySeparator, topLevelElem, prefix, acc); - } else { - acc.add(prefix, topLevelElem.getAsJsonNull()); - } - return acc.deepCopy(); - } - - private void handleJsonObject(String parentKeyToKeySeparator, JsonElement topLevelElem, String prefix, JsonObject acc) { - boolean isEmpty = true; - JsonObject thisToplevelObj = topLevelElem.getAsJsonObject(); - for (String key : thisToplevelObj.keySet()) { - isEmpty = false; - String keyPrefix = String.format("%s%s%s", prefix, parentKeyToKeySeparator, key); - flattenWithPrefixedKeys(parentKeyToKeySeparator, thisToplevelObj.get(key), keyPrefix, acc); - } - if (isEmpty && !Strings.isNullOrEmpty(prefix)) { - acc.add(prefix, new JsonObject()); - } - } - - private void handleJsonArray(String parentKeyToKeySeparator, JsonElement topLevelElem, String prefix, JsonObject acc) { - JsonArray asJsonArray = topLevelElem.getAsJsonArray(); - if (asJsonArray.size() == 0) { - acc.add(prefix, new JsonArray()); - } - for (int i = 0; i < asJsonArray.size(); i++) { - flattenWithPrefixedKeys(parentKeyToKeySeparator, asJsonArray.get(i), String.format("%s[%s]", prefix, i), acc); - } - } - - private void handleJsonPrimitive(JsonElement topLevelElem, String prefix, JsonObject acc) { - JsonPrimitive jsonPrimitive = topLevelElem.getAsJsonPrimitive(); - if (jsonPrimitive.isBoolean()) { - acc.add(prefix, new JsonPrimitive(jsonPrimitive.getAsString())); - } else { - acc.add(prefix, topLevelElem.getAsJsonPrimitive()); - } - } -} diff --git a/src/main/java/org/onap/pnfsimulator/template/search/TemplateSearchHelper.java b/src/main/java/org/onap/pnfsimulator/template/search/TemplateSearchHelper.java deleted file mode 100644 index 3f22b1a..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/TemplateSearchHelper.java +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import org.onap.pnfsimulator.template.search.handler.PrimitiveValueCriteriaBuilder; -import org.onap.pnfsimulator.template.search.viewmodel.FlatTemplateContent; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -@Component -public class TemplateSearchHelper { - private static final String PARENT_TO_CHILD_KEY_SEPARATOR = ":"; //compliant with flat json stored in db - private static final String FLATTENED_JSON_KEY_REGEX = PARENT_TO_CHILD_KEY_SEPARATOR + "%s(?:(\\[[\\d]+\\]))?$"; - private static final String FLATTENED_TEMPLATES_VIEW = "flatTemplatesView"; - - private MongoTemplate mongoTemplate; - private PrimitiveValueCriteriaBuilder criteriaBuilder; - - @Autowired - public TemplateSearchHelper(MongoTemplate mongoTemplate) { - this.mongoTemplate = mongoTemplate; - this.criteriaBuilder = new PrimitiveValueCriteriaBuilder(); - } - - public List<String> getIdsOfDocumentMatchingCriteria(JsonObject jsonCriteria) { - if (isNullValuePresentInCriteria(jsonCriteria)) { - throw new IllegalJsonValueException("Null values in search criteria are not supported."); - } - Criteria mongoDialectCriteria = composeCriteria(jsonCriteria); - Query query = new Query(mongoDialectCriteria); - List<FlatTemplateContent> flatTemplateContents = mongoTemplate.find(query, FlatTemplateContent.class, FLATTENED_TEMPLATES_VIEW); - return flatTemplateContents - .stream() - .map(FlatTemplateContent::getId) - .collect(Collectors.toList()); - } - - - private Criteria composeCriteria(JsonObject criteria) { - Criteria[] criteriaArr = criteria.entrySet() - .stream() - .map(this::mapEntryCriteriaWithRegex) - .toArray(Criteria[]::new); - return criteriaArr.length > 0 ? new Criteria().andOperator(criteriaArr) : new Criteria(); - } - - private Criteria mapEntryCriteriaWithRegex(Map.Entry<String, JsonElement> entry) { - Pattern primitiveOrArrayElemKeyRegex = getCaseInsensitive(String.format(FLATTENED_JSON_KEY_REGEX, entry.getKey())); - Criteria criteriaForJsonKey = Criteria.where("k").regex(primitiveOrArrayElemKeyRegex); - Criteria criteriaWithValue = criteriaBuilder.applyValueCriteriaBasedOnPrimitiveType(criteriaForJsonKey.and("v"), entry.getValue().getAsJsonPrimitive()); - return Criteria.where("keyValues").elemMatch(criteriaWithValue); - - } - - private boolean isNullValuePresentInCriteria(JsonObject jsonObject) { - return jsonObject.entrySet() - .stream() - .map(Map.Entry::getValue) - .anyMatch(JsonElement::isJsonNull); - } - - static Pattern getCaseInsensitive(String base) { - return Pattern.compile(base, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); - } -} - - diff --git a/src/main/java/org/onap/pnfsimulator/template/search/handler/PrimitiveValueCriteriaBuilder.java b/src/main/java/org/onap/pnfsimulator/template/search/handler/PrimitiveValueCriteriaBuilder.java deleted file mode 100644 index 79d64b7..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/handler/PrimitiveValueCriteriaBuilder.java +++ /dev/null @@ -1,103 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search.handler; - -import com.google.common.collect.Lists; -import com.google.gson.JsonPrimitive; -import org.springframework.data.mongodb.core.query.Criteria; - -import java.util.List; -import java.util.regex.Pattern; - -/** - * This class is a helper class for constructing apropriate criteria for query send to mongodb based on type of value. - * Query is build to search mongodb for templates that contains key-value pairs that satisfy given criteria. - * Value is oftype JsonPrimitive, based on its primitive java type following criteria are build to get proper document: - * -for string - there is a regex expression that ignores every meta character inside passed argument and searches for exact literal match ignoring case; - * -for number - all numbers are treated as double (mongodb number type equivalent) - * -for boolean - exact match, used string representation of boolean in search - **/ - -public class PrimitiveValueCriteriaBuilder { - - private final List<ValueTypeHandler> typeHandlers; - - public PrimitiveValueCriteriaBuilder() { - typeHandlers = Lists.newArrayList(new StringValueHandler(), new NumberValueHandler(), new BoolValueHandler()); - } - - public Criteria applyValueCriteriaBasedOnPrimitiveType(Criteria baseCriteria, JsonPrimitive jsonPrimitive) { - ValueTypeHandler typeHandler = typeHandlers.stream() - .filter(el -> el.isProperTypeHandler(jsonPrimitive)) - .findFirst() - .orElseThrow(() -> - new IllegalArgumentException(String.format( - "Expected json primitive, but given value: %s is of type: %s and could not be decoded", - jsonPrimitive, jsonPrimitive.getClass().toString()))); - return typeHandler.chainCriteriaForValue(baseCriteria, jsonPrimitive); - } - - private interface ValueTypeHandler { - boolean isProperTypeHandler(JsonPrimitive value); - - Criteria chainCriteriaForValue(Criteria criteria, JsonPrimitive value); - } - - private class BoolValueHandler implements ValueTypeHandler { - public boolean isProperTypeHandler(JsonPrimitive value) { - return value.isBoolean(); - } - - public Criteria chainCriteriaForValue(Criteria criteria, JsonPrimitive value) { - return criteria.is(value.getAsString()); - } - - } - - private class NumberValueHandler implements ValueTypeHandler { - public boolean isProperTypeHandler(JsonPrimitive value) { - return value.isNumber(); - } - - public Criteria chainCriteriaForValue(Criteria baseCriteria, JsonPrimitive value) { - return baseCriteria.is(value.getAsDouble()); - } - } - - private class StringValueHandler implements ValueTypeHandler { - public boolean isProperTypeHandler(JsonPrimitive value) { - return value.isString(); - } - - public Criteria chainCriteriaForValue(Criteria baseCriteria, JsonPrimitive value) { - return baseCriteria.regex(makeRegexCaseInsensitive(value.getAsString())); - } - - private Pattern makeRegexCaseInsensitive(String base) { - String metaCharEscaped = convertToIgnoreMetaChars(base); - return Pattern.compile("^" + metaCharEscaped + "$", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); - } - - private String convertToIgnoreMetaChars(String valueWithMetaChars) { - return Pattern.quote(valueWithMetaChars); - } - } -} diff --git a/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/FlatTemplateContent.java b/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/FlatTemplateContent.java deleted file mode 100644 index 8634052..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/FlatTemplateContent.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search.viewmodel; - - -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.ToString; -import org.onap.pnfsimulator.db.Row; - -import java.util.List; - -@Getter -@NoArgsConstructor -@ToString -public class FlatTemplateContent extends Row { - - private List<KeyValuePair> keyValues; - - - public FlatTemplateContent(String name, List<KeyValuePair> keyValues) { - this.setId(name); - this.keyValues = keyValues; - } -} - - diff --git a/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/KeyValuePair.java b/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/KeyValuePair.java deleted file mode 100644 index 8f24334..0000000 --- a/src/main/java/org/onap/pnfsimulator/template/search/viewmodel/KeyValuePair.java +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * 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.pnfsimulator.template.search.viewmodel; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.ToString; - -@Getter -@ToString -@NoArgsConstructor -@AllArgsConstructor -/** - * POJO for mongo structure after $objectToArray mapping where object consists of fields: k and v - */ -public class KeyValuePair { - - private String key; - private String value; - -} |