Made validate function public
This commit is contained in:
parent
8c3687591d
commit
5128916fa1
13 changed files with 70 additions and 48 deletions
|
@ -124,6 +124,7 @@ The library used [`java.util.logging`](https://docs.oracle.com/javase/8/docs/api
|
||||||
with(poster.logger) {
|
with(poster.logger) {
|
||||||
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
||||||
level = Level.FINE
|
level = Level.FINE
|
||||||
|
useParentHandlers = false
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -135,6 +136,7 @@ consoleHandler.setLevel(Level.FINE);
|
||||||
final Logger logger = poster.getLogger();
|
final Logger logger = poster.getLogger();
|
||||||
logger.addHandler(consoleHandler);
|
logger.addHandler(consoleHandler);
|
||||||
logger.setLevel(Level.FINE);
|
logger.setLevel(Level.FINE);
|
||||||
|
logger.setUseParentHandlers(false);
|
||||||
```
|
```
|
||||||
|
|
||||||
or using a logging properties file.
|
or using a logging properties file.
|
||||||
|
|
1
examples/bld/.idea/app.iml
generated
1
examples/bld/.idea/app.iml
generated
|
@ -10,6 +10,7 @@
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/kotlin" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/test/kotlin" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class JavaExample {
|
||||||
logger.setLevel(Level.FINE);
|
logger.setLevel(Level.FINE);
|
||||||
logger.setUseParentHandlers(false);
|
logger.setUseParentHandlers(false);
|
||||||
|
|
||||||
|
if (poster.validate()) {
|
||||||
// Add Pin
|
// Add Pin
|
||||||
if (poster.addPin(new PinConfig.Builder()
|
if (poster.addPin(new PinConfig.Builder()
|
||||||
.url(url)
|
.url(url)
|
||||||
|
@ -45,3 +46,4 @@ public class JavaExample {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -20,8 +20,10 @@ fun main(args: Array<String>) {
|
||||||
with(poster.logger) {
|
with(poster.logger) {
|
||||||
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
||||||
level = Level.FINE
|
level = Level.FINE
|
||||||
|
useParentHandlers = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (poster.validate()) {
|
||||||
// Add Pin
|
// Add Pin
|
||||||
if (poster.addPin(url, "Testing", "Extended test", tags = arrayOf("test", "kotlin"))) {
|
if (poster.addPin(url, "Testing", "Extended test", tags = arrayOf("test", "kotlin"))) {
|
||||||
println("Added: $url")
|
println("Added: $url")
|
||||||
|
@ -32,3 +34,4 @@ fun main(args: Array<String>) {
|
||||||
println("Deleted: $url")
|
println("Deleted: $url")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class JavaExample {
|
||||||
logger.setLevel(Level.FINE);
|
logger.setLevel(Level.FINE);
|
||||||
logger.setUseParentHandlers(false);
|
logger.setUseParentHandlers(false);
|
||||||
|
|
||||||
|
if (poster.validate()) {
|
||||||
// Add Pin
|
// Add Pin
|
||||||
if (poster.addPin(new PinConfig.Builder()
|
if (poster.addPin(new PinConfig.Builder()
|
||||||
.url(url)
|
.url(url)
|
||||||
|
@ -45,3 +46,4 @@ public class JavaExample {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -20,8 +20,10 @@ fun main(args: Array<String>) {
|
||||||
with(poster.logger) {
|
with(poster.logger) {
|
||||||
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
addHandler(ConsoleHandler().apply { level = Level.FINE })
|
||||||
level = Level.FINE
|
level = Level.FINE
|
||||||
|
useParentHandlers = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (poster.validate()) {
|
||||||
// Add Pin
|
// Add Pin
|
||||||
if (poster.addPin(url, "Testing", "Extended test", tags = arrayOf("test", "kotlin"))) {
|
if (poster.addPin(url, "Testing", "Extended test", tags = arrayOf("test", "kotlin"))) {
|
||||||
println("Added: $url")
|
println("Added: $url")
|
||||||
|
@ -32,3 +34,4 @@ fun main(args: Array<String>) {
|
||||||
println("Deleted: $url")
|
println("Deleted: $url")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ import static rife.bld.dependencies.Scope.test;
|
||||||
|
|
||||||
public class PinboardPosterBuild extends Project {
|
public class PinboardPosterBuild extends Project {
|
||||||
public PinboardPosterBuild() {
|
public PinboardPosterBuild() {
|
||||||
pkg = "net.thauvin.erik.pinboard";
|
pkg = "net.thauvin.erik";
|
||||||
name = "pinboard-poster";
|
name = "pinboard-poster";
|
||||||
version = version(1, 1, 1, "SNAPSHOT");
|
version = version(1, 1, 1, "SNAPSHOT");
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ public class PinboardPosterBuild extends Project {
|
||||||
: repository(SONATYPE_RELEASES_LEGACY.location())
|
: repository(SONATYPE_RELEASES_LEGACY.location())
|
||||||
.withCredentials(property("sonatype.user"), property("sonatype.password")))
|
.withCredentials(property("sonatype.user"), property("sonatype.password")))
|
||||||
.info()
|
.info()
|
||||||
.groupId("net.thauvin.erik")
|
.groupId(pkg)
|
||||||
.artifactId(name)
|
.artifactId(name)
|
||||||
.description("A small library for posting to Pinboard")
|
.description("A small library for posting to Pinboard")
|
||||||
.url("https://github.com/ethauvin/" + name)
|
.url("https://github.com/ethauvin/" + name)
|
||||||
|
|
|
@ -35,6 +35,8 @@ import java.time.ZonedDateTime
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides a builder to add a pin.
|
* Provides a builder to add a pin.
|
||||||
|
*
|
||||||
|
* Supports of all the [Pinboard API Parameters](https://pinboard.in/api/#posts_add).
|
||||||
*/
|
*/
|
||||||
class PinConfig private constructor(
|
class PinConfig private constructor(
|
||||||
val url: String,
|
val url: String,
|
||||||
|
|
|
@ -65,7 +65,7 @@ object Constants {
|
||||||
*
|
*
|
||||||
* @constructor Creates a new instance.
|
* @constructor Creates a new instance.
|
||||||
*
|
*
|
||||||
* @author [Erik C. Thauvin](https://erik.thauvin.net/)
|
* @author <a href="https://erik.thauvin.net/">Erik C. Thauvin</a>
|
||||||
*/
|
*/
|
||||||
open class PinboardPoster() {
|
open class PinboardPoster() {
|
||||||
/**
|
/**
|
||||||
|
@ -135,9 +135,7 @@ open class PinboardPoster() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a bookmark to Pinboard
|
* Adds a bookmark to Pinboard using a [PinConfig] builder.
|
||||||
*
|
|
||||||
* This method supports of all the [Pinboard API Parameters](https://pinboard.in/api/#posts_add).
|
|
||||||
*/
|
*/
|
||||||
fun addPin(config: PinConfig): Boolean {
|
fun addPin(config: PinConfig): Boolean {
|
||||||
return addPin(
|
return addPin(
|
||||||
|
@ -293,7 +291,10 @@ open class PinboardPoster() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun validate(): Boolean {
|
/**
|
||||||
|
* Ensures that the API token and end point are valid.
|
||||||
|
*/
|
||||||
|
fun validate(): Boolean {
|
||||||
var isValid = true
|
var isValid = true
|
||||||
if (!apiToken.contains(':')) {
|
if (!apiToken.contains(':')) {
|
||||||
logger.severe("Please specify a valid API token. (eg. user:TOKEN)")
|
logger.severe("Please specify a valid API token. (eg. user:TOKEN)")
|
||||||
|
|
|
@ -66,6 +66,8 @@ class PinboardPosterTest {
|
||||||
if (!isCi) {
|
if (!isCi) {
|
||||||
poster.logger.level = Level.FINE
|
poster.logger.level = Level.FINE
|
||||||
}
|
}
|
||||||
|
assertTrue(poster.validate(), "validate()")
|
||||||
|
|
||||||
assertTrue(poster.addPin(url, desc), "addPin($url, $desc)")
|
assertTrue(poster.addPin(url, desc), "addPin($url, $desc)")
|
||||||
|
|
||||||
assertTrue(poster.deletePin(url), "deletePin($url)")
|
assertTrue(poster.deletePin(url), "deletePin($url)")
|
||||||
|
@ -78,6 +80,8 @@ class PinboardPosterTest {
|
||||||
poster.logger.level = Level.FINE
|
poster.logger.level = Level.FINE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assertTrue(poster.validate(), "validate()")
|
||||||
|
|
||||||
var config = PinConfig.Builder().url(url).description(desc).extended("extra")
|
var config = PinConfig.Builder().url(url).description(desc).extended("extra")
|
||||||
|
|
||||||
assertTrue(poster.addPin(config.build()), "apiToken: ${Constants.ENV_API_TOKEN}")
|
assertTrue(poster.addPin(config.build()), "apiToken: ${Constants.ENV_API_TOKEN}")
|
||||||
|
@ -120,6 +124,8 @@ class PinboardPosterTest {
|
||||||
poster.logger.level = Level.FINE
|
poster.logger.level = Level.FINE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assertTrue(poster.validate(), "validate()")
|
||||||
|
|
||||||
poster.apiEndPoint = ""
|
poster.apiEndPoint = ""
|
||||||
assertFalse(poster.deletePin(url), "apiEndPoint: <blank>")
|
assertFalse(poster.deletePin(url), "apiEndPoint: <blank>")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue