diff options
9 files changed, 94 insertions, 66 deletions
@@ -5,6 +5,8 @@ =================================================================== Copyright (c) 2017 AT&T Intellectual Property =================================================================== + Modifications Copyright (c) 2019 IBM. + =================================================================== 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 @@ -172,12 +174,7 @@ <dependencies> <!-- Development --> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> - <scope>provided</scope> - </dependency> + <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> diff --git a/src/main/java/org/onap/music/datastore/jsonobjects/JSONCallbackResponse.java b/src/main/java/org/onap/music/datastore/jsonobjects/JSONCallbackResponse.java index f869c342..c5a56a71 100755 --- a/src/main/java/org/onap/music/datastore/jsonobjects/JSONCallbackResponse.java +++ b/src/main/java/org/onap/music/datastore/jsonobjects/JSONCallbackResponse.java @@ -27,20 +27,20 @@ import java.util.Map; public class JSONCallbackResponse { - private String full_table; + private String fullTable; private String keyspace; private Map<String, String> changeValue; private String operation; - private String table_name; - private String primary_key; + private String tableName; + private String primaryKey; private Object miscObjects; private List<String> updateList; public String getFull_table() { - return full_table; + return fullTable; } - public void setFull_table(String full_table) { - this.full_table = full_table; + public void setFull_table(String fullTable) { + this.fullTable = fullTable; } public String getKeyspace() { return keyspace; @@ -55,16 +55,16 @@ public class JSONCallbackResponse { this.operation = operation; } public String getTable_name() { - return table_name; + return tableName; } - public void setTable_name(String table_name) { - this.table_name = table_name; + public void setTable_name(String tableName) { + this.tableName = tableName; } public String getPrimary_key() { - return primary_key; + return primaryKey; } - public void setPrimary_key(String primary_key) { - this.primary_key = primary_key; + public void setPrimary_key(String primaryKey) { + this.primaryKey = primaryKey; } public Object getMiscObjects() { return miscObjects; diff --git a/src/main/java/org/onap/music/datastore/jsonobjects/JsonInsert.java b/src/main/java/org/onap/music/datastore/jsonobjects/JsonInsert.java index c79ba9b7..456fb951 100644 --- a/src/main/java/org/onap/music/datastore/jsonobjects/JsonInsert.java +++ b/src/main/java/org/onap/music/datastore/jsonobjects/JsonInsert.java @@ -3,6 +3,7 @@ * org.onap.music * =================================================================== * Copyright (c) 2017 AT&T Intellectual Property + * Modifications Copyright (C) 2018 IBM. * =================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +34,11 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.onap.music.eelf.logging.EELFLoggerDelegate; +import org.onap.music.eelf.logging.format.AppMessages; +import org.onap.music.eelf.logging.format.ErrorSeverity; +import org.onap.music.eelf.logging.format.ErrorTypes; + @ApiModel(value = "JsonTable", description = "Json model for table vlaues insert") @JsonIgnoreProperties(ignoreUnknown = true) public class JsonInsert implements Serializable { @@ -41,10 +47,11 @@ public class JsonInsert implements Serializable { private transient Map<String, Object> values; private String ttl; private String timestamp; - private transient Map<String, Object> row_specification; + private transient Map<String, Object> rowSpecification; private Map<String, String> consistencyInfo; private Map<String, byte[]> objectMap; - + private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(JsonInsert.class); + @ApiModelProperty(value = "objectMap") public Map<String, byte[]> getObjectMap() { return objectMap; @@ -110,11 +117,11 @@ public class JsonInsert implements Serializable { @ApiModelProperty(value = "Information for selecting specific rows for insert") public Map<String, Object> getRow_specification() { - return row_specification; + return rowSpecification; } - public void setRow_specification(Map<String, Object> row_specification) { - this.row_specification = row_specification; + public void setRow_specification(Map<String, Object> rowSpecification) { + this.rowSpecification = rowSpecification; } public byte[] serialize() { @@ -124,7 +131,7 @@ public class JsonInsert implements Serializable { out = new ObjectOutputStream(bos); out.writeObject(this); } catch (IOException e) { - e.printStackTrace(); + logger.error(EELFLoggerDelegate.errorLogger, e, AppMessages.IOERROR, ErrorSeverity.ERROR, ErrorTypes.DATAERROR); } return bos.toByteArray(); } diff --git a/src/main/java/org/onap/music/datastore/jsonobjects/JsonNotification.java b/src/main/java/org/onap/music/datastore/jsonobjects/JsonNotification.java index ce244e2c..5190de58 100755 --- a/src/main/java/org/onap/music/datastore/jsonobjects/JsonNotification.java +++ b/src/main/java/org/onap/music/datastore/jsonobjects/JsonNotification.java @@ -3,6 +3,7 @@ * org.onap.music * =================================================================== * Copyright (c) 2017 AT&T Intellectual Property + * Modifications Copyright (C) 2018 IBM. * =================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,6 +29,11 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import org.onap.music.eelf.logging.EELFLoggerDelegate; +import org.onap.music.eelf.logging.format.AppMessages; +import org.onap.music.eelf.logging.format.ErrorSeverity; +import org.onap.music.eelf.logging.format.ErrorTypes; + import io.swagger.annotations.ApiModel; @ApiModel(value = "JsonNotification", description = "Json model for callback") @@ -45,6 +51,7 @@ public class JsonNotification implements Serializable { private String operation_type; private String triggerName; private Map<String, String> response_body; + private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(JsonNotification.class); public String getNotify_field() { return notify_field; @@ -111,6 +118,7 @@ public class JsonNotification implements Serializable { try { return new com.fasterxml.jackson.databind.ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(this); } catch (com.fasterxml.jackson.core.JsonProcessingException e) { + logger.error(EELFLoggerDelegate.errorLogger, e, AppMessages.EXECUTIONINTERRUPTED, ErrorSeverity.ERROR, ErrorTypes.GENERALSERVICEERROR); return notify_field+ " : "+endpoint+ " : "+username+ " : "+password+ " : "+response_body; } diff --git a/src/main/java/org/onap/music/datastore/jsonobjects/JsonUpdate.java b/src/main/java/org/onap/music/datastore/jsonobjects/JsonUpdate.java index c1a56819..514f34ab 100644 --- a/src/main/java/org/onap/music/datastore/jsonobjects/JsonUpdate.java +++ b/src/main/java/org/onap/music/datastore/jsonobjects/JsonUpdate.java @@ -3,6 +3,7 @@ * org.onap.music * =================================================================== * Copyright (c) 2017 AT&T Intellectual Property + * Modifications Copyright (C) 2018 IBM. * =================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,6 +34,11 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.onap.music.eelf.logging.EELFLoggerDelegate; +import org.onap.music.eelf.logging.format.AppMessages; +import org.onap.music.eelf.logging.format.ErrorSeverity; +import org.onap.music.eelf.logging.format.ErrorTypes; + @ApiModel(value = "JsonTable", description = "Json model for table update") @JsonIgnoreProperties(ignoreUnknown = true) public class JsonUpdate implements Serializable { @@ -43,7 +49,8 @@ public class JsonUpdate implements Serializable { private String timestamp; private Map<String, String> consistencyInfo; private transient Map<String, Object> conditions; - private transient Map<String, Object> row_specification; + private transient Map<String, Object> rowSpecification; + private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(JsonUpdate.class); @ApiModelProperty(value = "Conditions") public Map<String, Object> getConditions() { @@ -56,11 +63,11 @@ public class JsonUpdate implements Serializable { @ApiModelProperty(value = "Information for selecting sepcific rows") public Map<String, Object> getRow_specification() { - return row_specification; + return rowSpecification; } - public void setRow_specification(Map<String, Object> row_specification) { - this.row_specification = row_specification; + public void setRow_specification(Map<String, Object> rowSpecification) { + this.rowSpecification = rowSpecification; } @@ -125,7 +132,7 @@ public class JsonUpdate implements Serializable { out = new ObjectOutputStream(bos); out.writeObject(this); } catch (IOException e) { - e.printStackTrace(); + logger.error(EELFLoggerDelegate.errorLogger, e,AppMessages.IOERROR, ErrorSeverity.ERROR, ErrorTypes.DATAERROR); } return bos.toByteArray(); } diff --git a/src/main/java/org/onap/music/exceptions/MusicPolicyVoilationException.java b/src/main/java/org/onap/music/exceptions/MusicPolicyVoilationException.java index bade21a4..7de53c59 100644 --- a/src/main/java/org/onap/music/exceptions/MusicPolicyVoilationException.java +++ b/src/main/java/org/onap/music/exceptions/MusicPolicyVoilationException.java @@ -2,7 +2,9 @@ * ============LICENSE_START========================================== * org.onap.music * =================================================================== - * Copyright (c) 2017 AT&T Intellectual Property + * Copyright (c) 2017 AT&T Intellectual Property + * =================================================================== + * Modifications Copyright (c) 2018 IBM * =================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +38,7 @@ public class MusicPolicyVoilationException extends Exception { * */ public MusicPolicyVoilationException() { - // TODO Auto-generated constructor stub + } /** @@ -44,7 +46,7 @@ public class MusicPolicyVoilationException extends Exception { */ public MusicPolicyVoilationException(String message) { super(message); - // TODO Auto-generated constructor stub + } /** @@ -52,7 +54,7 @@ public class MusicPolicyVoilationException extends Exception { */ public MusicPolicyVoilationException(Throwable cause) { super(cause); - // TODO Auto-generated constructor stub + } /** @@ -61,7 +63,7 @@ public class MusicPolicyVoilationException extends Exception { */ public MusicPolicyVoilationException(String message, Throwable cause) { super(message, cause); - // TODO Auto-generated constructor stub + } /** @@ -73,7 +75,7 @@ public class MusicPolicyVoilationException extends Exception { public MusicPolicyVoilationException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); - // TODO Auto-generated constructor stub + } } diff --git a/src/main/java/org/onap/music/exceptions/MusicServiceException.java b/src/main/java/org/onap/music/exceptions/MusicServiceException.java index 1f0264b3..76e1f948 100644 --- a/src/main/java/org/onap/music/exceptions/MusicServiceException.java +++ b/src/main/java/org/onap/music/exceptions/MusicServiceException.java @@ -4,6 +4,8 @@ * =================================================================== * Copyright (c) 2017 AT&T Intellectual Property * =================================================================== + * Modifications Copyright (C) 2018 IBM. + * =================================================================== * 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 @@ -41,8 +43,18 @@ public class MusicServiceException extends Exception { super(message); } - - + + public MusicServiceException(String message, int errorCode) { + super(message); + this.errorCode=errorCode; + } + + public MusicServiceException(String message, int errorCode, String errorMessage) { + super(message); + this.errorCode=errorCode; + this.errorMessage=errorMessage; + } + public MusicServiceException(Throwable cause) { super(cause); @@ -60,24 +72,17 @@ public class MusicServiceException extends Exception { super(message, cause, enableSuppression, writableStackTrace); } + public void setErrorCode(int errorCode) { + this.errorCode=errorCode; + } public int getErrorCode() { return errorCode; } - - - public void setErrorCode(int errorCode) { - this.errorCode = errorCode; + public void setErrorMessage(String errorMessage) { + this.errorMessage=errorMessage; } - - public String getErrorMessage() { return errorMessage; } - - - public void setErrorMessage(String errorMessage) { - this.errorMessage = errorMessage; - } - } diff --git a/src/main/java/org/onap/music/main/PropertiesListener.java b/src/main/java/org/onap/music/main/PropertiesListener.java index 0ed18be2..026790ee 100755 --- a/src/main/java/org/onap/music/main/PropertiesListener.java +++ b/src/main/java/org/onap/music/main/PropertiesListener.java @@ -3,6 +3,7 @@ * org.onap.music * =================================================================== * Copyright (c) 2017 AT&T Intellectual Property + * Modifications Copyright (C) 2018 IBM. * =================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -37,7 +38,7 @@ import org.onap.music.eelf.logging.format.ErrorTypes; public class PropertiesListener implements ServletContextListener { private Properties prop; - + private static final String MUSIC_PROPERTIES="music.properties"; private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PropertiesListener.class); @Override @@ -51,8 +52,8 @@ public class PropertiesListener implements ServletContextListener { try { InputStream musicProps = null; projectProp.load(new FileInputStream(musicPropertiesFilePath)); - if (projectProp.containsKey("music.properties")) { - musicProps = new FileInputStream(projectProp.getProperty("music.properties")); + if (projectProp.containsKey(MUSIC_PROPERTIES)) { + musicProps = new FileInputStream(projectProp.getProperty(MUSIC_PROPERTIES)); } else { musicProps = new FileInputStream(MusicUtil.getMusicPropertiesFilePath()); } @@ -84,7 +85,7 @@ public class PropertiesListener implements ServletContextListener { case "music.rest.ip": MusicUtil.setMusicRestIp(prop.getProperty(key)); break; - case "music.properties": + case MUSIC_PROPERTIES: MusicUtil.setMusicPropertiesFilePath(prop.getProperty(key)); break; case "lock.lease.period": diff --git a/src/main/java/org/onap/music/rest/RestMusicBmAPI.java b/src/main/java/org/onap/music/rest/RestMusicBmAPI.java index 55eb47f2..60305bfb 100644 --- a/src/main/java/org/onap/music/rest/RestMusicBmAPI.java +++ b/src/main/java/org/onap/music/rest/RestMusicBmAPI.java @@ -1,7 +1,9 @@ /* * ============LICENSE_START========================================== org.onap.music * =================================================================== Copyright (c) 2017 AT&T - * Intellectual Property =================================================================== + * Intellectual Property + * Modifications Copyright (C) 2018 IBM. + * =================================================================== * 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 * @@ -41,8 +43,6 @@ import org.onap.music.datastore.PreparedQueryObject; import com.datastax.driver.core.DataType; import com.datastax.driver.core.TableMetadata; import io.swagger.annotations.Api; -//import io.swagger.annotations.ApiOperation; -//import io.swagger.annotations.ApiParam; /* * These are functions created purely for benchmarking purposes. Commented out Swagger - This should @@ -54,7 +54,7 @@ import io.swagger.annotations.Api; public class RestMusicBmAPI { private static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(RestMusicBmAPI.class); - + public static final String UPDATE_CONST=" update-"; // pure zk calls... /** @@ -117,7 +117,7 @@ public class RestMusicBmAPI { String operationId = UUID.randomUUID().toString();// just for debugging purposes. String consistency = updateObj.getConsistencyInfo().get("type"); - logger.info(EELFLoggerDelegate.applicationLogger,"--------------Zookeeper " + consistency + " update-" + operationId + logger.info(EELFLoggerDelegate.applicationLogger,"--------------Zookeeper " + consistency + UPDATE_CONST + operationId + "-------------------------"); byte[] data = updateObj.serialize(); @@ -130,16 +130,17 @@ public class RestMusicBmAPI { long leasePeriod = MusicUtil.getDefaultLockLeasePeriod(); ReturnType lockAcqResult = MusicCore.acquireLockWithLease(lockname, lockId, leasePeriod); long lockAcqTime = System.currentTimeMillis(); - long zkPutTime = 0, lockReleaseTime = 0; + long zkPutTime = 0; + long lockReleaseTime = 0; if (lockAcqResult.getResult().equals(ResultType.SUCCESS)) { logger.info(EELFLoggerDelegate.applicationLogger,"acquired lock with id " + lockId); MusicCore.pureZkWrite(lockname, data); zkPutTime = System.currentTimeMillis(); boolean voluntaryRelease = true; - if (consistency.equals("atomic")) + if (("atomic").equals(consistency)) MusicCore.releaseLock(lockId, voluntaryRelease); - else if (consistency.equals("atomic_delete_lock")) + else if (("atomic_delete_lock").equals(consistency)) MusicCore.deleteLock(lockname); lockReleaseTime = System.currentTimeMillis(); } else { @@ -155,12 +156,12 @@ public class RestMusicBmAPI { + "|lock accquire time:" + (lockAcqTime - lockCreationTime) + "|zk put time:" + (zkPutTime - lockAcqTime); - if (consistency.equals("atomic")) + if ("atomic".equals(consistency)) lockingInfo = lockingInfo + "|lock release time:" + (lockReleaseTime - zkPutTime) + "|"; - else if (consistency.equals("atomic_delete_lock")) + else if ("atomic_delete_lock".equals(consistency)) lockingInfo = lockingInfo + "|lock delete time:" + (lockReleaseTime - zkPutTime) + "|"; - String timingString = "Time taken in ms for Zookeeper " + consistency + " update-" + String timingString = "Time taken in ms for Zookeeper " + consistency + UPDATE_CONST + operationId + ":" + "|total operation time:" + (endTime - startTime) + "|json parsing time:" + (jsonParseCompletionTime - startTime) + "|update time:" + (actualUpdateCompletionTime - jsonParseCompletionTime) @@ -220,7 +221,7 @@ public class RestMusicBmAPI { long startTime = System.currentTimeMillis(); String operationId = UUID.randomUUID().toString();// just for debugging purposes. String consistency = insObj.getConsistencyInfo().get("type"); - logger.info(EELFLoggerDelegate.applicationLogger,"--------------Cassandra " + consistency + " update-" + operationId + logger.info(EELFLoggerDelegate.applicationLogger,"--------------Cassandra " + consistency + UPDATE_CONST + operationId + "-------------------------"); PreparedQueryObject queryObject = new PreparedQueryObject(); Map<String, Object> valuesMap = insObj.getValues(); @@ -295,7 +296,7 @@ public class RestMusicBmAPI { long endTime = System.currentTimeMillis(); - String timingString = "Time taken in ms for Cassandra " + consistency + " update-" + String timingString = "Time taken in ms for Cassandra " + consistency + UPDATE_CONST + operationId + ":" + "|total operation time:" + (endTime - startTime) + "|json parsing time:" + (jsonParseCompletionTime - startTime) + "|update time:" + (actualUpdateCompletionTime - jsonParseCompletionTime) |