version bumps and update to log4j2
This commit is contained in:
@ -10,8 +10,8 @@ import org.apache.http.HttpResponse;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.client.fluent.Form;
|
||||
import org.apache.http.client.fluent.Request;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
@ -20,14 +20,14 @@ import de.svenkubiak.jpushover.enums.Priority;
|
||||
import de.svenkubiak.jpushover.enums.Sound;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author svenkubiak
|
||||
*
|
||||
*/
|
||||
public class JPushover {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(JPushover.class);
|
||||
private static final Logger LOG = LogManager.getLogger(JPushover.class);
|
||||
private static final int HTTP_OK = 200;
|
||||
|
||||
|
||||
private String pushoverToken;
|
||||
private String pushoverUser;
|
||||
private String pushoverMessage;
|
||||
@ -49,8 +49,8 @@ public class JPushover {
|
||||
|
||||
/**
|
||||
* Your application's API token
|
||||
* (required)
|
||||
*
|
||||
* (required)
|
||||
*
|
||||
* @param token The pushover API token
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -62,8 +62,8 @@ public class JPushover {
|
||||
/**
|
||||
* The user/group key (not e-mail address) of your user (or you),
|
||||
* viewable when logged into the @see <a href="https://pushover.net/login">pushover dashboard</a>
|
||||
* (required)
|
||||
*
|
||||
* (required)
|
||||
*
|
||||
* @param user The username
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -71,11 +71,11 @@ public class JPushover {
|
||||
this.pushoverUser = user;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Specifies how often (in seconds) the Pushover servers will send the same notification to the user.
|
||||
* Only required if priority is set to emergency.
|
||||
*
|
||||
*
|
||||
* @param retry Number of seconds
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -83,11 +83,11 @@ public class JPushover {
|
||||
this.pushoverRetry = retry;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Specifies how many seconds your notification will continue to be retried for (every retry seconds).
|
||||
* Only required if priority is set to emergency.
|
||||
*
|
||||
*
|
||||
* @param expire Number of seconds
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -97,9 +97,9 @@ public class JPushover {
|
||||
}
|
||||
|
||||
/**
|
||||
* Your message
|
||||
* (required)
|
||||
*
|
||||
* Your message
|
||||
* (required)
|
||||
*
|
||||
* @param message The message to sent
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -112,7 +112,7 @@ public class JPushover {
|
||||
* Your user's device name to send the message directly to that device,
|
||||
* rather than all of the user's devices
|
||||
* (optional)
|
||||
*
|
||||
*
|
||||
* @param device The device name
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -124,7 +124,7 @@ public class JPushover {
|
||||
/**
|
||||
* Your message's title, otherwise your app's name is used
|
||||
* (optional)
|
||||
*
|
||||
*
|
||||
* @param title The title
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -136,7 +136,7 @@ public class JPushover {
|
||||
/**
|
||||
* A supplementary URL to show with your message
|
||||
* (optional)
|
||||
*
|
||||
*
|
||||
* @param url The url
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -147,7 +147,7 @@ public class JPushover {
|
||||
|
||||
/**
|
||||
* A title for your supplementary URL, otherwise just the URL is shown
|
||||
*
|
||||
*
|
||||
* @param urlTitle The url title
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -159,7 +159,7 @@ public class JPushover {
|
||||
/**
|
||||
* A Unix timestamp of your message's date and time to display to the user,
|
||||
* rather than the time your message is received by our API
|
||||
*
|
||||
*
|
||||
* @param timestamp The Unix timestamp
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -171,7 +171,7 @@ public class JPushover {
|
||||
/**
|
||||
* Priority of the message based on the @see <a href="https://pushover.net/api#priority">documentation</a>
|
||||
* (optional)
|
||||
*
|
||||
*
|
||||
* @param priority The priority enum
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -184,7 +184,7 @@ public class JPushover {
|
||||
* The name of one of the sounds supported by device clients to override
|
||||
* the user's default sound choice
|
||||
* (optional)
|
||||
*
|
||||
*
|
||||
* @param sound THe sound enum
|
||||
* @return JPushover instance
|
||||
*/
|
||||
@ -192,13 +192,13 @@ public class JPushover {
|
||||
this.pushoverSound = sound;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Callback parameter may be supplied with a publicly-accessible URL that the
|
||||
* Pushover servers will send a request to when the user has acknowledged your
|
||||
* notification.
|
||||
* Only required if priority is set to emergency.
|
||||
*
|
||||
*
|
||||
* @param callback
|
||||
* @return
|
||||
*/
|
||||
@ -206,61 +206,61 @@ public class JPushover {
|
||||
this.pushoverCallback = callback;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sends a validation request to pushover ensuring that the token and user
|
||||
* is correct, that there is at least one active device on the account.
|
||||
*
|
||||
*
|
||||
* Requires token parameter
|
||||
* Requires user parameter
|
||||
* Optional device parameter to check specific device
|
||||
*
|
||||
*
|
||||
* @return true if token and user are valid and at least on device is on the account, false otherwise
|
||||
*/
|
||||
public boolean validate() {
|
||||
Preconditions.checkNotNull(this.pushoverToken, "Token is required for validation");
|
||||
Preconditions.checkNotNull(this.pushoverUser, "User is required for validation");
|
||||
|
||||
List<NameValuePair> params = Form.form()
|
||||
|
||||
final List<NameValuePair> params = Form.form()
|
||||
.add(Constants.TOKEN.get(), this.pushoverToken)
|
||||
.add(Constants.USER.get(), this.pushoverUser)
|
||||
.add(Constants.DEVICE.get(), this.pushoverDevice)
|
||||
.build();
|
||||
|
||||
|
||||
HttpResponse httpResponse = null;
|
||||
boolean valid = false;
|
||||
try {
|
||||
httpResponse = Request.Post(Constants.VALIDATION_URL.get()).bodyForm(params, Consts.UTF_8).execute().returnResponse();
|
||||
|
||||
|
||||
if (httpResponse != null && httpResponse.getStatusLine().getStatusCode() == HTTP_OK) {
|
||||
String response = IOUtils.toString(httpResponse.getEntity().getContent());
|
||||
final String response = IOUtils.toString(httpResponse.getEntity().getContent());
|
||||
if (StringUtils.isNotBlank(response) && response.contains("\"status\":1")) {
|
||||
valid = true;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
} catch (final IOException e) {
|
||||
LOG.error("Failed to send validation requeste to pushover", e);
|
||||
}
|
||||
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to pushover
|
||||
*
|
||||
*
|
||||
* @return JPushoverResponse instance
|
||||
*/
|
||||
public JPushoverResponse push() {
|
||||
Preconditions.checkNotNull(this.pushoverToken, "Token is required for a message");
|
||||
Preconditions.checkNotNull(this.pushoverUser, "User is required for a message");
|
||||
Preconditions.checkNotNull(this.pushoverMessage, "Message is required for a message");
|
||||
|
||||
|
||||
if (Priority.EMERGENCY.equals(this.pushoverPriority)) {
|
||||
Preconditions.checkNotNull(this.pushoverRetry, "Retry is required on priority emergency");
|
||||
Preconditions.checkNotNull(this.pushoverExpire, "Expire is required on priority emergency");
|
||||
}
|
||||
|
||||
List<NameValuePair> params = Form.form()
|
||||
|
||||
final List<NameValuePair> params = Form.form()
|
||||
.add(Constants.TOKEN.get(), this.pushoverToken)
|
||||
.add(Constants.USER.get(), this.pushoverUser)
|
||||
.add(Constants.MESSAGE.get(), this.pushoverMessage)
|
||||
@ -275,24 +275,24 @@ public class JPushover {
|
||||
.add(Constants.TIMESTAMP.get(), this.pushoverTimestamp)
|
||||
.add(Constants.SOUND.get(), this.pushoverSound.get())
|
||||
.build();
|
||||
|
||||
|
||||
HttpResponse httpResponse = null;
|
||||
JPushoverResponse jPushoverResponse = null;
|
||||
try {
|
||||
httpResponse = Request.Post(Constants.MESSAGES_URL.get()).bodyForm(params, Consts.UTF_8).execute().returnResponse();
|
||||
|
||||
|
||||
if (httpResponse != null) {
|
||||
int status = httpResponse.getStatusLine().getStatusCode();
|
||||
|
||||
final int status = httpResponse.getStatusLine().getStatusCode();
|
||||
|
||||
jPushoverResponse = new JPushoverResponse()
|
||||
.httpStatus(status)
|
||||
.response(IOUtils.toString(httpResponse.getEntity().getContent(), Consts.UTF_8))
|
||||
.isSuccessful((status == HTTP_OK) ? true : false);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
} catch (final IOException e) {
|
||||
LOG.error("Failed to send message to pushover", e);
|
||||
}
|
||||
|
||||
|
||||
return (jPushoverResponse == null) ? new JPushoverResponse().isSuccessful(false) : jPushoverResponse;
|
||||
}
|
||||
|
||||
|
13
src/main/resources/log4j2.xml
Normal file
13
src/main/resources/log4j2.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="WARN">
|
||||
<Appenders>
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss,SSS} [%t] %-5level %logger{36} - %msg%n" />
|
||||
</Console>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Root level="info">
|
||||
<AppenderRef ref="Console" />
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
Reference in New Issue
Block a user