From f88794b887842911b30a75afc53f87f660d1c1e7 Mon Sep 17 00:00:00 2001 From: Michael DÜrre Date: Thu, 19 Nov 2020 15:40:16 +0100 Subject: adapt ES version to 7.9.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add new ES mapping for honolulu Issue-ID: SDNC-1411 Signed-off-by: Michael DÜrre Change-Id: I477f87cd5b6da564663b6677e3cd94afef4dd1a6 --- .../sdnr/wt/common/database/data/DbFilter.java | 20 +++++++--- .../sdnr/wt/common/database/data/EsVersion.java | 8 +++- ...ServletInputStreamFromByteArrayInputStream.java | 45 ++++++++++++++++++++++ ...ServletOutputStreamToByteArrayOutputStream.java | 43 +++++++++++++++++++++ .../test/ServletOutputStreamToStringWriter.java | 43 +++++++++++++++++++++ .../wt/common/test/helper/HelpServletBase.java | 37 +++++------------- 6 files changed, 162 insertions(+), 34 deletions(-) create mode 100644 sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletInputStreamFromByteArrayInputStream.java create mode 100644 sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToByteArrayOutputStream.java create mode 100644 sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToStringWriter.java (limited to 'sdnr/wt/common/src') diff --git a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/DbFilter.java b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/DbFilter.java index 2a8f04df3..82c036406 100644 --- a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/DbFilter.java +++ b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/DbFilter.java @@ -21,10 +21,14 @@ */ package org.onap.ccsdk.features.sdnr.wt.common.database.data; +import java.util.Arrays; +import java.util.List; import org.onap.ccsdk.features.sdnr.wt.common.database.queries.RangeQueryBuilder; public class DbFilter { + private static final List timestampValueNames = Arrays.asList("timestamp", "start", "end", "date"); + public static String createDatabaseRegex(String restFilterValue) { return restFilterValue == null ? null : restFilterValue.replace("?", ".{1,1}").replace("*", ".*"); } @@ -36,18 +40,21 @@ public class DbFilter { public static boolean isComparisonValid(String restFilterValue) { return restFilterValue == null ? false : restFilterValue.contains(">") || restFilterValue.contains("<"); } + public static boolean isDatetimeKeyValue(String key, String value) { + return timestampValueNames.contains(key.toLowerCase()); + } public static RangeQueryBuilder getRangeQuery(String key, String restFilterValue) { RangeQueryBuilder query = new RangeQueryBuilder(key); restFilterValue = restFilterValue.trim(); if (restFilterValue.startsWith(">=")) { - query.gte(getObjectFromString(restFilterValue.substring(2).trim())); + query.gte(getObjectFromString(key,restFilterValue.substring(2).trim())); } else if (restFilterValue.startsWith(">")) { - query.gt(getObjectFromString(restFilterValue.substring(1).trim())); + query.gt(getObjectFromString(key,restFilterValue.substring(1).trim())); } else if (restFilterValue.startsWith("<=")) { - query.lte(getObjectFromString(restFilterValue.substring(2).trim())); + query.lte(getObjectFromString(key,restFilterValue.substring(2).trim())); } else if (restFilterValue.startsWith("<")) { - query.lt(getObjectFromString(restFilterValue.substring(1).trim())); + query.lt(getObjectFromString(key,restFilterValue.substring(1).trim())); } else { return null; } @@ -55,7 +62,10 @@ public class DbFilter { return query; } - private static Object getObjectFromString(String str) { + private static Object getObjectFromString(String key, String str) { + if(isDatetimeKeyValue(key, str)) { + return str; + } try { return Double.parseDouble(str); } catch (NumberFormatException | NullPointerException nfe) { diff --git a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/EsVersion.java b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/EsVersion.java index 1dd1c3d53..e1fd02de0 100644 --- a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/EsVersion.java +++ b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/database/data/EsVersion.java @@ -22,7 +22,6 @@ package org.onap.ccsdk.features.sdnr.wt.common.database.data; import java.text.ParseException; - import org.eclipse.jdt.annotation.NonNull; @@ -104,6 +103,9 @@ public class EsVersion { if (this.equals(v)) { return true; } + return this.isNewerThan(v); + } + public boolean isNewerThan(EsVersion v) { if (this.major > v.major) { return true; } else if (this.major < v.major) { @@ -124,6 +126,10 @@ public class EsVersion { if (this.equals(v)) { return true; } + return this.isOlderThan(v); + } + + public boolean isOlderThan(EsVersion v) { if (this.major < v.major) { return true; } else if (this.major > v.major) { diff --git a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletInputStreamFromByteArrayInputStream.java b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletInputStreamFromByteArrayInputStream.java new file mode 100644 index 000000000..b926ff65c --- /dev/null +++ b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletInputStreamFromByteArrayInputStream.java @@ -0,0 +1,45 @@ +/* + * ============LICENSE_START======================================================= + * ONAP : ccsdk features + * ================================================================================ + * Copyright (C) 2020 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.common.test; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import javax.servlet.ServletInputStream; + +public class ServletInputStreamFromByteArrayInputStream extends ServletInputStream { + + // variables + private ByteArrayInputStream bis; + // end of variables + + // constructors + public ServletInputStreamFromByteArrayInputStream(byte[] data) { + bis = new ByteArrayInputStream(data); + } + // end of constructors + + @Override + public int read() throws IOException { + return bis.read(); + } + +} diff --git a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToByteArrayOutputStream.java b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToByteArrayOutputStream.java new file mode 100644 index 000000000..1914d9b67 --- /dev/null +++ b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToByteArrayOutputStream.java @@ -0,0 +1,43 @@ +/* + * ============LICENSE_START======================================================= + * ONAP : ccsdk features + * ================================================================================ + * Copyright (C) 2020 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.common.test; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import javax.servlet.ServletOutputStream; + +public class ServletOutputStreamToByteArrayOutputStream extends ServletOutputStream { + + // variables + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + // end of variables + + @Override + public void write(int arg0) throws IOException { + out.write(arg0); + } + + public ByteArrayOutputStream getByteArrayOutputStream() { + return out; + } +} diff --git a/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToStringWriter.java b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToStringWriter.java new file mode 100644 index 000000000..57ed596ae --- /dev/null +++ b/sdnr/wt/common/src/main/java/org/onap/ccsdk/features/sdnr/wt/common/test/ServletOutputStreamToStringWriter.java @@ -0,0 +1,43 @@ +/* + * ============LICENSE_START======================================================= + * ONAP : ccsdk features + * ================================================================================ + * Copyright (C) 2020 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.common.test; + +import java.io.IOException; +import java.io.StringWriter; +import javax.servlet.ServletOutputStream; + +public class ServletOutputStreamToStringWriter extends ServletOutputStream { + + // variables + private StringWriter out = new StringWriter(); + // end of variables + + @Override + public void write(int arg0) throws IOException { + out.write(arg0); + } + + public StringWriter getStringWriter() { + return out; + } + +} diff --git a/sdnr/wt/common/src/test/java/org/onap/ccsdk/features/sdnr/wt/common/test/helper/HelpServletBase.java b/sdnr/wt/common/src/test/java/org/onap/ccsdk/features/sdnr/wt/common/test/helper/HelpServletBase.java index dbdaace34..a3d2c9be9 100644 --- a/sdnr/wt/common/src/test/java/org/onap/ccsdk/features/sdnr/wt/common/test/helper/HelpServletBase.java +++ b/sdnr/wt/common/src/test/java/org/onap/ccsdk/features/sdnr/wt/common/test/helper/HelpServletBase.java @@ -27,29 +27,23 @@ import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; - -import java.io.ByteArrayInputStream; +import com.sun.net.httpserver.HttpExchange; +import com.sun.net.httpserver.HttpHandler; +import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; -import java.io.StringWriter; import java.net.InetSocketAddress; import java.util.Enumeration; import java.util.Map; import java.util.Vector; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; - -import javax.servlet.ServletInputStream; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - import org.junit.After; import org.junit.Before; - -import com.sun.net.httpserver.HttpExchange; -import com.sun.net.httpserver.HttpHandler; -import com.sun.net.httpserver.HttpServer; +import org.onap.ccsdk.features.sdnr.wt.common.test.ServletInputStreamFromByteArrayInputStream; +import org.onap.ccsdk.features.sdnr.wt.common.test.ServletOutputStreamToStringWriter; @SuppressWarnings("restriction") public class HelpServletBase { @@ -97,21 +91,8 @@ public class HelpServletBase { HttpServletRequest mockRequest = mock(HttpServletRequest.class); HttpServletResponse mockResponse = mock(HttpServletResponse.class); - StringWriter out = new StringWriter(); - ServletOutputStream printOut = new ServletOutputStream() { - - @Override - public void write(int arg0) throws IOException { - out.write(arg0); - } - }; - ByteArrayInputStream bis = new ByteArrayInputStream(data.getBytes()); - ServletInputStream inputStream = new ServletInputStream() { - @Override - public int read() throws IOException { - return bis.read(); - } - }; + ServletOutputStreamToStringWriter printOut = new ServletOutputStreamToStringWriter(); + ServletInputStreamFromByteArrayInputStream inputStream = new ServletInputStreamFromByteArrayInputStream(data.getBytes()); Vector headers = new Vector(); headers.addElement("Accept"); headers.add("User-Agent"); @@ -142,9 +123,9 @@ public class HelpServletBase { verify(mockResponse).setStatus(200); if (exact) - assertEquals(expectedResponse, out.toString()); + assertEquals(expectedResponse, printOut.getStringWriter().toString()); else - assertTrue("response not for method " + method + "correct", out.toString().contains(expectedResponse)); + assertTrue("response not for method " + method + "correct", printOut.getStringWriter().toString().contains(expectedResponse)); // currently unable to check extra headers if (headersToCheck != null) { -- cgit 1.2.3-korg