summaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
diff options
context:
space:
mode:
Diffstat (limited to 'policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java')
-rw-r--r--policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java118
1 files changed, 58 insertions, 60 deletions
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java b/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
index 2d24d7a6..fb3f95d3 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
+++ b/policy-management/src/main/java/org/openecomp/policy/drools/protocol/coders/ProtocolCoderToolset.java
@@ -21,7 +21,6 @@
package org.openecomp.policy.drools.protocol.coders;
import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.time.Instant;
@@ -31,14 +30,13 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.openecomp.policy.common.logging.eelf.MessageCodes;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
import org.openecomp.policy.drools.controller.DroolsController;
import org.openecomp.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomCoder;
import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomGsonCoder;
import org.openecomp.policy.drools.protocol.coders.TopicCoderFilterConfiguration.CustomJacksonCoder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -62,6 +60,11 @@ import com.google.gson.JsonSerializer;
public abstract class ProtocolCoderToolset {
/**
+ * Logger
+ */
+ private static Logger logger = LoggerFactory.getLogger(ProtocolCoderToolset.class);
+
+ /**
* topic
*/
protected final String topic;
@@ -274,8 +277,6 @@ public abstract class ProtocolCoderToolset {
try {
event = this.filteringParser.parse(json);
} catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
throw new UnsupportedOperationException(e);
}
@@ -286,8 +287,9 @@ public abstract class ProtocolCoderToolset {
return decoder;
}
} catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
+ logger.info("{}: unexpected failure accepting {} because of {}",
+ this, event, e.getMessage(), e);
+ // continue
}
}
@@ -331,7 +333,7 @@ public abstract class ProtocolCoderToolset {
* Tools used for encoding/decoding using Jackson
*/
class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
- private static Logger logger = FlexLogger.getLogger(JacksonProtocolCoderToolset.class);
+ private static Logger logger = LoggerFactory.getLogger(JacksonProtocolCoderToolset.class);
/**
* decoder
*/
@@ -396,16 +398,14 @@ class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
DroolsController droolsController =
DroolsController.factory.get(groupId, artifactId, "");
if (droolsController == null) {
- String error = "NO-DROOLS-CONTROLLER for: " + json + " IN " + this;
- logger.warn(error);
- throw new IllegalStateException(error);
+ logger.warn("{}: no drools-controller to process {}", this, json);
+ throw new IllegalStateException("no drools-controller to process event");
}
CoderFilters decoderFilter = filter(json);
if (decoderFilter == null) {
- String error = "NO-DECODER for: " + json + " IN " + this;
- logger.warn(error);
- throw new UnsupportedOperationException(error);
+ logger.debug("{}: no decoder to process {}", this, json);
+ throw new UnsupportedOperationException("no decoder to process event");
}
Class<?> decoderClass;
@@ -413,14 +413,13 @@ class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
decoderClass =
droolsController.fetchModelClass(decoderFilter.getCodedClass());
if (decoderClass == null) {
- String error = "DECODE-ERROR FETCHING MODEL CLASS: " + ":" + json + ":" + this;
- logger.error(error);
- throw new IllegalStateException(error);
+ logger.warn("{}: cannot fetch application class {}", this, decoderFilter.getCodedClass());
+ throw new IllegalStateException("cannot fetch application class " + decoderFilter.getCodedClass());
}
} catch (Exception e) {
- String error = "DECODE-ERROR FETCHING MODEL CLASS: "+ e.getMessage() + ":" + json + ":" + this;
- logger.warn(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.warn("{}: cannot fetch application class {} because of {}", this,
+ decoderFilter.getCodedClass(), e.getMessage());
+ throw new UnsupportedOperationException("cannot fetch application class " + decoderFilter.getCodedClass(), e);
}
@@ -428,9 +427,9 @@ class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
Object fact = this.decoder.readValue(json, decoderClass);
return fact;
} catch (Exception e) {
- String error = "DECODE-ERROR FROM PDP-D FRAMEWORK: "+ json + ":" + e.getMessage() + ":" + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.warn("{} cannot decode {} into {} because of {}",
+ this, json, decoderClass.getName(), e.getMessage(), e);
+ throw new UnsupportedOperationException("cannont decode into " + decoderFilter.getCodedClass(), e);
}
}
@@ -452,9 +451,8 @@ class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
String encodedEvent = this.encoder.writeValueAsString(event);
return encodedEvent;
} catch (JsonProcessingException e) {
- String error = "ENCODE-ERROR: "+ event + " IN " + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.error("{} cannot encode {} because of {}", this, event, e.getMessage(), e);
+ throw new UnsupportedOperationException("event cannot be encoded");
}
}
@@ -472,7 +470,11 @@ class JacksonProtocolCoderToolset extends ProtocolCoderToolset {
*/
class GsonProtocolCoderToolset extends ProtocolCoderToolset {
- private static Logger logger = FlexLogger.getLogger(GsonProtocolCoderToolset.class);
+ /**
+ * Logger
+ */
+ private static Logger logger = LoggerFactory.getLogger(GsonProtocolCoderToolset.class);
+
/**
* Formatter for JSON encoding/decoding
*/
@@ -493,7 +495,8 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
try {
return ZonedDateTime.parse(element.getAsString(), format);
} catch (Exception e) {
- System.err.println(e);
+ logger.info("GsonUTCAdapter: cannot parse {} because of {}",
+ element, e.getMessage(), e);
}
return null;
}
@@ -577,16 +580,14 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
DroolsController droolsController =
DroolsController.factory.get(groupId, artifactId, "");
if (droolsController == null) {
- String error = "NO-DROOLS-CONTROLLER for: " + json + " IN " + this;
- logger.warn(error);
- throw new IllegalStateException(error);
+ logger.warn("{}: no drools-controller to process {}", this, json);
+ throw new IllegalStateException("no drools-controller to process event");
}
CoderFilters decoderFilter = filter(json);
if (decoderFilter == null) {
- String error = "NO-DECODER for: " + json + " IN " + this;
- logger.warn(error);
- throw new UnsupportedOperationException(error);
+ logger.debug("{}: no decoder to process {}", this, json);
+ throw new UnsupportedOperationException("no decoder to process event");
}
Class<?> decoderClass;
@@ -594,14 +595,13 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
decoderClass =
droolsController.fetchModelClass(decoderFilter.getCodedClass());
if (decoderClass == null) {
- String error = "DECODE-ERROR FETCHING MODEL CLASS: " + ":" + json + ":" + this;
- logger.error(error);
- throw new IllegalStateException(error);
+ logger.warn("{}: cannot fetch application class {}", this, decoderFilter.getCodedClass());
+ throw new IllegalStateException("cannot fetch application class " + decoderFilter.getCodedClass());
}
} catch (Exception e) {
- String error = "DECODE-ERROR FETCHING MODEL CLASS: "+ e.getMessage() + ":" + json + ":" + this;
- logger.warn(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.warn("{}: cannot fetch application class {} because of {}", this,
+ decoderFilter.getCodedClass(), e.getMessage());
+ throw new UnsupportedOperationException("cannot fetch application class " + decoderFilter.getCodedClass(), e);
}
if (this.customCoder != null) {
@@ -615,20 +615,19 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
("fromJson", new Class[]{String.class, Class.class});
Object fact = fromJsonMethod.invoke(gsonObject, json, decoderClass);
return fact;
- } catch (NoSuchFieldException | SecurityException | IllegalAccessException |
- NoSuchMethodException | InvocationTargetException e) {
- String error = "DECODE-ERROR-FROM-CUSTOM-CODER: " + e.getMessage() + ":" + json + ":" + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ } catch (Exception e) {
+ logger.warn("{}: cannot fetch application class {} because of {}", this,
+ decoderFilter.getCodedClass(), e.getMessage());
+ throw new UnsupportedOperationException("cannot fetch application class " + decoderFilter.getCodedClass(), e);
}
} else {
try {
Object fact = this.decoder.fromJson(json, decoderClass);
return fact;
} catch (Exception e) {
- String error = "DECODE-ERROR FROM PDP-D FRAMEWORK: "+ json + ":" + e.getMessage() + ":" + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.warn("{} cannot decode {} into {} because of {}",
+ this, json, decoderClass.getName(), e.getMessage(), e);
+ throw new UnsupportedOperationException("cannont decode into " + decoderFilter.getCodedClass(), e);
}
}
}
@@ -645,9 +644,11 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
DroolsController droolsController =
DroolsController.factory.get(groupId, artifactId, "");
if (droolsController == null) {
- String error = "NO-DROOLS-CONTROLLER for: " + event + " IN " + this;
- logger.warn(error);
- throw new IllegalStateException(error);
+ logger.info("{}: no drools-controller to process {} (continue)", this, event);
+ if (this.customCoder != null) {
+ logger.warn("{}: no drools-controller to process {}", this, event);
+ throw new IllegalStateException("custom-coder but no drools-controller");
+ }
}
if (this.customCoder != null) {
@@ -661,20 +662,17 @@ class GsonProtocolCoderToolset extends ProtocolCoderToolset {
("toJson", new Class[]{Object.class});
String encodedJson = (String) toJsonMethod.invoke(gsonObject, event);
return encodedJson;
- } catch (NoSuchFieldException | SecurityException | IllegalAccessException |
- NoSuchMethodException | InvocationTargetException e) {
- String error = "DECODE-ERROR-FROM-CUSTOM-CODER: " + e.getMessage() + ":" + event + ":" + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ } catch (Exception e) {
+ logger.warn("{} cannot custom-encode {} because of {}", this, event, e.getMessage(), e);
+ throw new UnsupportedOperationException("event cannot be encoded", e);
}
} else {
try {
String encodedEvent = this.encoder.toJson(event);
return encodedEvent;
} catch (Exception e) {
- String error = "ENCODE-ERROR: "+ event + " IN " + this;
- logger.error(MessageCodes.EXCEPTION_ERROR, e, error);
- throw new UnsupportedOperationException(error, e);
+ logger.warn("{} cannot encode {} because of {}", this, event, e.getMessage(), e);
+ throw new UnsupportedOperationException("event cannot be encoded", e);
}
}
}