Skip to content

Commit

Permalink
Reformattage
Browse files Browse the repository at this point in the history
  • Loading branch information
pierre-yves-monnet committed Jul 6, 2018
1 parent 4714a0c commit e5e1d74
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 78 deletions.
96 changes: 57 additions & 39 deletions src/main/java/org/bonitasoft/log/event/BEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
import java.util.Map;
import java.util.logging.Logger;



public class BEvent {

/**
Expand Down Expand Up @@ -61,8 +59,8 @@ public enum Level {
* @deprecated use the constructor with the consequence explanation
*/
@Deprecated
public BEvent(final String packageName, final long number, final Level level, final String title, final String cause, final String action)
{
public BEvent(final String packageName, final long number, final Level level, final String title,
final String cause, final String action) {
mNumber = number;
mLevel = level;
mPackageName = packageName.trim();
Expand All @@ -75,9 +73,9 @@ public BEvent(final String packageName, final long number, final Level level, fi

}

public BEvent(final String packageName, final long number, final Level level, final String title, final String cause, final String consequence,
final String action)
{
public BEvent(final String packageName, final long number, final Level level, final String title,
final String cause, final String consequence,
final String action) {
mNumber = number;
mLevel = level;
mPackageName = packageName.trim();
Expand All @@ -89,15 +87,17 @@ public BEvent(final String packageName, final long number, final Level level, fi
mReferenceEvent = null;
mParameters = "";
}

/**
* constructor for normal event (info, success, debug)
*
* @param packageName
* @param number
* @param level
* @param title
*/
public BEvent(final String packageName, final long number, final Level level, final String title, final String cause)
{
public BEvent(final String packageName, final long number, final Level level, final String title,
final String cause) {
mNumber = number;
mLevel = level;
mPackageName = packageName.trim();
Expand All @@ -115,14 +115,12 @@ public BEvent(final String packageName, final long number, final Level level, fi
* @param referenceEvent
* @param parameters
*/
public BEvent(final BEvent referenceEvent, final String parameters)
{
public BEvent(final BEvent referenceEvent, final String parameters) {
mReferenceEvent = referenceEvent;
mParameters = parameters;
}

public BEvent(final BEvent referenceEvent, final Exception e, final String parameters)
{
public BEvent(final BEvent referenceEvent, final Exception e, final String parameters) {
mReferenceEvent = referenceEvent;
mParameters = parameters;
// this is an error : keep the strack trace !
Expand All @@ -143,38 +141,50 @@ public BEvent(final BEvent referenceEvent, final Exception e, final String param
*
* @return
*/
public boolean isError()
{
public boolean isError() {
final Level level = getLevel();
if (level == Level.APPLICATIONERROR || level == Level.CRITICAL || level == Level.ERROR) {
return true;
}
return false;
}


/**
* isSame
* Compare the new event with this one. They are identical when the number / package / parameters are identical.
*/
public boolean isIdentical(final BEvent compareEvent)
{
if ( compareEvent.getNumber() == getNumber()
&& compareEvent.getPackageName().equals( getPackageName())
&& compareEvent.getParameters().equals( getParameters())) {
public boolean isIdentical(final BEvent compareEvent) {
if (compareEvent.getNumber() == getNumber()
&& compareEvent.getPackageName().equals(getPackageName())
&& compareEvent.getParameters().equals(getParameters())) {
return true;
}
return false;

}

/**
* log this event, in a reference way
* log this event, in a reference way.
* All information about the event are logged (package+number, level, title, cause, consequence, actions parameters)
* No logger is given, then the logger used the package org.bonitasoft.log.event
*/
public void log() {
final Logger logger = Logger.getLogger(BEvent.class.getName());
log(logger);
}

/**
* log using the logger, so this is possible to configure the logger.properties to see or not this log.
* All information about the event are logged (package+number, level, title, cause, consequence, actions parameters)
*
* @param logger to log on this logger
*/
public void log(Logger logger) {

final Level level = getLevel();

String message = "Event[" + getPackageName() + "~" + getNumber() + "] *" + level.toString() + "* " + getTitle() + " [" + getParameters() + "] -Cause:"
String message = "Event[" + getPackageName() + "~" + getNumber() + "] *" + level.toString() + "* " + getTitle()
+ " [" + getParameters() + "] -Cause:"
+ getCause();
if (getConsequence() != null) {
message += " -Consequence:" + getConsequence();
Expand All @@ -183,7 +193,7 @@ public void log() {
message += " -Action:" + getAction();
}
if (mExceptionDetails != null) {
message+=" "+mExceptionDetails;
message += " " + mExceptionDetails;
}

if (level == Level.DEBUG) {
Expand All @@ -206,8 +216,7 @@ public void log() {
*
* @return
*/
public Map<String, Object> getJson(final boolean withHtml)
{
public Map<String, Object> getJson(final boolean withHtml) {
final Map<String, Object> json = new HashMap<String, Object>();
json.put("number", getNumber());
json.put("level", getLevel().toString());
Expand All @@ -224,8 +233,13 @@ public Map<String, Object> getJson(final boolean withHtml)
return json;

}
public String getHtml()
{

/**
* return a piece of HTML to display the event, using bootstrap classes
*
* @return
*/
public String getHtml() {
final StringBuffer htmlEvent = new StringBuffer();
htmlEvent.append("<div style=\"border:1px solid black;padding-right: 20px;\"><a href='#' ");
if (getLevel() == Level.CRITICAL || getLevel() == Level.ERROR) {
Expand All @@ -243,16 +257,21 @@ public String getHtml()

if (getParameters() != null) {
htmlEvent.append("<br><span style=\"margin-left:30px;\">" + getParameters() + "</span>");
if (getCause() != null) {
htmlEvent.append("<br><span style=\"margin-left:30px;font-style: italic;font-size: 75%;\">Cause: " + getCause() + "</span>");
}
if (getCause() != null) {
htmlEvent.append("<br><span style=\"margin-left:30px;font-style: italic;font-size: 75%;\">Cause: "
+ getCause() + "</span>");
}
}
if (getConsequence() != null) {
htmlEvent.append("<br><span style=\"margin-left:30px;font-style: italic;font-weight: bold; font-size: 75%;\">Consequence: " + getConsequence()
+ "</span>");
htmlEvent.append(
"<br><span style=\"margin-left:30px;font-style: italic;font-weight: bold; font-size: 75%;\">Consequence: "
+ getConsequence()
+ "</span>");
}
if (getAction() != null) {
htmlEvent.append("<br><span style=\"margin-left:30px;font-style: italic;font-weight: bold; font-size: 75%;\">Action: " + getAction() + "</span>");
htmlEvent.append(
"<br><span style=\"margin-left:30px;font-style: italic;font-weight: bold; font-size: 75%;\">Action: "
+ getAction() + "</span>");
}
htmlEvent.append("</div>");

Expand All @@ -264,10 +283,10 @@ public String getHtml()
* this method is mainly for debugging
*/
@Override
public String toString()
{
public String toString() {
// don't display the cause and the action, it's mainly for debugging
return getPackageName() + ":" + getNumber() + " (" + getLevel().toString() + ") " + getTitle() + " " + getParameters();
return getPackageName() + ":" + getNumber() + " (" + getLevel().toString() + ") " + getTitle() + " "
+ getParameters();
}
/* ******************************************************************************** */
/* */
Expand Down Expand Up @@ -316,8 +335,7 @@ public String getParameters() {
return mParameters != null ? mParameters : mReferenceEvent != null ? mReferenceEvent.getParameters() : null;
}

private String stringToJson(final String source)
{
private String stringToJson(final String source) {
if (source == null) {
return "";
}
Expand Down
34 changes: 12 additions & 22 deletions src/main/java/org/bonitasoft/log/event/BEventFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ public class BEventFactory {
/**
* is this list contains one error ? If yes, then we return true
*/
public static boolean isError(final List<BEvent> listEvents)
{
for (final BEvent event : listEvents)
{
public static boolean isError(final List<BEvent> listEvents) {
for (final BEvent event : listEvents) {
if (event.isError()) {
return true;
}
Expand All @@ -23,11 +21,9 @@ public static boolean isError(final List<BEvent> listEvents)
* @param listEvents
* @return
*/
public static String getHtml(final List<BEvent> listEvents)
{
public static String getHtml(final List<BEvent> listEvents) {
String table = "<table>";
for (final BEvent event : listEvents)
{
for (final BEvent event : listEvents) {
table += "<tr><td>" + event.getHtml() + "</td></tr>";
}
table += "</table>";
Expand All @@ -41,14 +37,12 @@ public static String getHtml(final List<BEvent> listEvents)
* @param listEvents the list modified if needed
* @param event the new event to add
*/
public static void addEventUniqueInList(final List<BEvent> listEvents, final BEvent eventToAdd)
{
public static void addEventUniqueInList(final List<BEvent> listEvents, final BEvent eventToAdd) {
if (listEvents == null) {
return;
}

for (int i = 0; i < listEvents.size(); i++)
{
for (int i = 0; i < listEvents.size(); i++) {
if (listEvents.get(i).isIdentical(eventToAdd)) {
return;
}
Expand All @@ -63,30 +57,26 @@ public static void addEventUniqueInList(final List<BEvent> listEvents, final BEv
* @param listEvents
* @param eventsToAdd
*/
public static void addListEventsUniqueInList(final List<BEvent> listEvents, final List<BEvent> eventsToAdd)
{
for (final BEvent event : eventsToAdd)
{
public static void addListEventsUniqueInList(final List<BEvent> listEvents, final List<BEvent> eventsToAdd) {
for (final BEvent event : eventsToAdd) {
addEventUniqueInList(listEvents, event);
}

}

/**
* calculate from a list of event a UNIQUE list of event, keeping the same order.
* An event already exist if this is the same package/number/parameters (see BEvent.same() ).
*
* @param listEvents
* @return
*/
public static List<BEvent> filterUnique(final List<BEvent> listEvents)
{
public static List<BEvent> filterUnique(final List<BEvent> listEvents) {
final List<BEvent> listUnique = new ArrayList<BEvent>();

for (final BEvent event : listEvents)
{
for (final BEvent event : listEvents) {
boolean alreadyExist = false;
for (final BEvent existingEvent : listUnique)
{
for (final BEvent existingEvent : listUnique) {
if (event.isIdentical(existingEvent)) {
alreadyExist = true;
break;
Expand Down
33 changes: 16 additions & 17 deletions src/main/java/org/bonitasoft/log/example/BEventUsage.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@
public class BEventUsage {

// declare events
private final BEvent inputDivisionEvent = new BEvent(BEventUsage.class.getName(), 1, Level.INFO, "Calculate Division", "Run a division");
private final BEvent resultDivisionEvent = new BEvent(BEventUsage.class.getName(), 2, Level.SUCCESS, "Division Done", "Result of the division");
private final BEvent errorDivisionEvent = new BEvent(BEventUsage.class.getName(), 3, Level.ERROR, "Division Error", "An error arrive in the division",
"The result is not available", "Check the number you give at input : divide by 0 is not possible for example");
private final BEvent inputDivisionEvent = new BEvent(BEventUsage.class.getName(), 1, Level.INFO,
"Calculate Division", "Run a division");
private final BEvent resultDivisionEvent = new BEvent(BEventUsage.class.getName(), 2, Level.SUCCESS,
"Division Done", "Result of the division");
private final BEvent errorDivisionEvent = new BEvent(BEventUsage.class.getName(), 3, Level.ERROR, "Division Error",
"An error arrive in the division",
"The result is not available",
"Check the number you give at input : divide by 0 is not possible for example");

public class DivisionResult {

Expand All @@ -29,16 +33,14 @@ public class DivisionResult {
* @param b
* @return
*/
public DivisionResult calculDivision(final double a, final double b)
{
public DivisionResult calculDivision(final double a, final double b) {
final DivisionResult divisionResult = new DivisionResult();
divisionResult.listEvents.add(new BEvent(inputDivisionEvent, "Divide " + a + " by " + b));
try
{
try {
divisionResult.resultOfDivision = a / b;
divisionResult.listEvents.add(new BEvent(resultDivisionEvent, " Result is " + divisionResult.resultOfDivision));
} catch (final Exception e)
{
divisionResult.listEvents
.add(new BEvent(resultDivisionEvent, " Result is " + divisionResult.resultOfDivision));
} catch (final Exception e) {
final BEvent bevent = new BEvent(errorDivisionEvent, e, "Error with operand " + a + " / " + b);
bevent.log();

Expand All @@ -50,17 +52,14 @@ public DivisionResult calculDivision(final double a, final double b)
/**
* use the method
*/
public void letsDivide()
{
public void letsDivide() {
final Logger logger = Logger.getLogger(BEventUsage.class.getName());
DivisionResult divisionResult = calculDivision(23.4, 551);
if (BEventFactory.isError(divisionResult.listEvents))
{
if (BEventFactory.isError(divisionResult.listEvents)) {
logger.severe("Error ! ");
}
divisionResult = calculDivision(23.4, 0);
if (BEventFactory.isError(divisionResult.listEvents))
{
if (BEventFactory.isError(divisionResult.listEvents)) {
logger.severe("Error ! ");
}
}
Expand Down

0 comments on commit e5e1d74

Please sign in to comment.