FIX : SecurityToken.java
ADD : ApiCall.java ADD : ScheduledTask.java
This commit is contained in:
81
src/main/java/ApiCall.java
Normal file
81
src/main/java/ApiCall.java
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
|
||||
|
||||
import org.eclipse.jetty.http.HttpHeader;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.net.PasswordAuthentication;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpHeaders;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
|
||||
public class ApiCall {
|
||||
private static String token ="0";
|
||||
private static String oldId="1";
|
||||
|
||||
public static String FetchDataFromApi(String extension) throws InterruptedException, ExecutionException, TimeoutException {
|
||||
|
||||
final String username = "kevin.shehu@hochschule-rhein-waal.de";
|
||||
final String password = "DK7SxFkGJgnLhnU3";
|
||||
String baseURL = "https://api.dev.whysor.com/";
|
||||
String outputToken = null;
|
||||
|
||||
if (token.equals(oldId)){
|
||||
//do nothing
|
||||
}
|
||||
else {
|
||||
SecurityToken securityToken = new SecurityToken();
|
||||
try {
|
||||
outputToken = securityToken.OnCallMethod(username,password);
|
||||
JSONObject obj = new JSONObject(outputToken);
|
||||
token = obj.getString("id");
|
||||
oldId = token;
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} catch (ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
} catch (TimeoutException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
System.out.println(token);
|
||||
var client = HttpClient.newBuilder()
|
||||
.version(HttpClient.Version.HTTP_1_1)
|
||||
.followRedirects(HttpClient.Redirect.ALWAYS)
|
||||
.build();
|
||||
HttpRequest request = null;
|
||||
|
||||
try {
|
||||
|
||||
request = HttpRequest.newBuilder(new URI(baseURL+extension))
|
||||
.POST(HttpRequest.BodyPublishers.ofString(extension))
|
||||
.setHeader("Authorization" , token)
|
||||
.setHeader("Content-Type", "application/json")
|
||||
.setHeader("Accept", "application/json")
|
||||
.build();
|
||||
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
CompletableFuture<HttpResponse<String>> response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
|
||||
String result = response.thenApply(HttpResponse::body).get(5, TimeUnit.SECONDS);
|
||||
return result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"desc" : "Distances between several cities, in kilometers.",
|
||||
"updated" : "2014-02-04T18:50:45",
|
||||
"uptodate": true,
|
||||
"author" : null,
|
||||
"cities" : {
|
||||
"Brussels": [
|
||||
{"to": "London", "distance": 322},
|
||||
{"to": "Paris", "distance": 265},
|
||||
{"to": "Amsterdam", "distance": 173}
|
||||
],
|
||||
"London": [
|
||||
{"to": "Brussels", "distance": 322},
|
||||
{"to": "Paris", "distance": 344},
|
||||
{"to": "Amsterdam", "distance": 358}
|
||||
],
|
||||
"Paris": [
|
||||
{"to": "Brussels", "distance": 265},
|
||||
{"to": "London", "distance": 344},
|
||||
{"to": "Amsterdam", "distance": 431}
|
||||
],
|
||||
"Amsterdam": [
|
||||
{"to": "Brussels", "distance": 173},
|
||||
{"to": "London", "distance": 358},
|
||||
{"to": "Paris", "distance": 431}
|
||||
]
|
||||
}
|
||||
}
|
0
src/main/java/Data/securityToken.json
Normal file
0
src/main/java/Data/securityToken.json
Normal file
@@ -1,17 +1,16 @@
|
||||
package JSON2RDF;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.Reader;
|
||||
import java.io.*;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import org.apache.jena.riot.system.StreamRDF;
|
||||
import org.apache.jena.riot.system.StreamRDFLib;
|
||||
import picocli.CommandLine;
|
||||
@@ -21,14 +20,24 @@ public class JSON2RDF {
|
||||
private final InputStream jsonIn;
|
||||
private final OutputStream rdfOut;
|
||||
|
||||
@CommandLine.Parameters(paramLabel = "base", index = "0", description = "Base URI of the RDF output data\nExample: https://localhost/")
|
||||
|
||||
@CommandLine.Parameters(paramLabel = "https://localhost/" , index = "0", description = "Base URI of the RDF output data")
|
||||
private URI baseURI;
|
||||
|
||||
{
|
||||
try {
|
||||
baseURI = new URI("https://localhost/");
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
// @CommandLine.Parameters(paramLabel = "D:\\WORK\\GGD\\src\\main\\java\\Data", description = "json file")
|
||||
@CommandLine.Option(names = { "--input-charset" }, description = "Input charset (default: ${DEFAULT-VALUE})")
|
||||
private Charset inputCharset = StandardCharsets.UTF_8;
|
||||
private final Charset inputCharset = StandardCharsets.UTF_8;
|
||||
|
||||
@CommandLine.Option(names = { "--output-charset" }, description = "Output charset (default: ${DEFAULT-VALUE})")
|
||||
private Charset outputCharset = StandardCharsets.UTF_8;
|
||||
private final Charset outputCharset = StandardCharsets.UTF_8;
|
||||
|
||||
public static void main(String[] args) throws IOException
|
||||
{
|
||||
@@ -46,14 +55,15 @@ public class JSON2RDF {
|
||||
}
|
||||
}
|
||||
|
||||
public JSON2RDF(InputStream csvIn, OutputStream rdfOut)
|
||||
{
|
||||
public JSON2RDF(InputStream csvIn, OutputStream rdfOut) {
|
||||
|
||||
|
||||
this.jsonIn = csvIn;
|
||||
this.rdfOut = rdfOut;
|
||||
}
|
||||
|
||||
public void convert() throws IOException
|
||||
{
|
||||
|
||||
public void convert() throws IOException {
|
||||
if (jsonIn.available() == 0) throw new IllegalStateException("JSON input not provided");
|
||||
|
||||
try (Reader reader = new BufferedReader(new InputStreamReader(jsonIn, inputCharset)))
|
||||
|
29
src/main/java/ScheduledTask.java
Normal file
29
src/main/java/ScheduledTask.java
Normal file
@@ -0,0 +1,29 @@
|
||||
import java.util.TimerTask;
|
||||
import java.util.Date;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
// Create a class extends with TimerTask
|
||||
public class ScheduledTask extends TimerTask {
|
||||
|
||||
Date now; // to display current time
|
||||
|
||||
// Add your task here
|
||||
public void run() {
|
||||
// Display current time
|
||||
now = new Date(); // initialize date
|
||||
System.out.println("Time is :" + now);
|
||||
ApiCall apiCall = new ApiCall();
|
||||
String output = null;
|
||||
try {
|
||||
output = apiCall.FetchDataFromApi("devices");
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} catch (ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
} catch (TimeoutException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
System.out.println("Output :" + output); // Display current output
|
||||
}
|
||||
}
|
@@ -1,23 +1,18 @@
|
||||
package JSON2RDF;
|
||||
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.http.HttpClient;
|
||||
import java.net.http.HttpRequest;
|
||||
import java.net.http.HttpResponse;
|
||||
import java.util.Base64;
|
||||
|
||||
public class ApiCallYookr {
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
public class SecurityToken {
|
||||
public static String OnCallMethod(String username, String password) throws InterruptedException, ExecutionException, TimeoutException {
|
||||
//CONFIG PARAMETERS:
|
||||
//BEGIN------------CONFIG PARAMETERS BELOW TO YOUR ENVIRONMENT---------------------------------------
|
||||
String baseURL = "https://api.dev.whysor.com/users/login";
|
||||
final String username = "kevin.shehu@hochschule-rhein-waal.de";
|
||||
final String password = "DK7SxFkGJgnLhnU3";
|
||||
final String body= String.format("{\"email\": \"%s\", \"password\": \"%s\", \"domain\": \"my.dev.yookr.org\"}", username, password);
|
||||
|
||||
var client = HttpClient.newBuilder()
|
||||
@@ -37,12 +32,19 @@ public class ApiCallYookr {
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
|
||||
.thenApply(HttpResponse::body)
|
||||
.thenAccept(System.out::println)
|
||||
.join();
|
||||
// client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
|
||||
// .thenApply(HttpResponse::body)
|
||||
// .thenAccept(System.out::println)
|
||||
// .join();
|
||||
|
||||
CompletableFuture<HttpResponse<String>> response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
|
||||
String result = response.thenApply(HttpResponse::body).get(5, TimeUnit.SECONDS);
|
||||
return result;
|
||||
// return HttpResponse.BodyHandlers.ofFile(Paths.get("D:\\WORK\\GGD\\src\\main\\java\\Data\\securityToken.json"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@@ -1,49 +1,18 @@
|
||||
|
||||
import JSON2RDF.JSON2RDF;
|
||||
import org.apache.jena.rdf.model.*;
|
||||
import org.apache.jena.vocabulary.*;
|
||||
import java.util.Timer;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
|
||||
public class main {
|
||||
public static void main (String args[]) {
|
||||
public static void main(String[] args){
|
||||
|
||||
Timer time = new Timer(); // Instantiate Timer Object
|
||||
ScheduledTask scheduledTask = new ScheduledTask(); // Instantiate SheduledTask class
|
||||
time.schedule(scheduledTask, 0, 1000 ); // Create Repetitively task for every 1 secs
|
||||
|
||||
// some definitions
|
||||
String personURI = "http://localhost:3030/GGD/JohnSmith";
|
||||
String givenName = "John";
|
||||
String familyName = "Smith";
|
||||
String fullName = givenName + " " + familyName;
|
||||
// create an empty model
|
||||
Model model = ModelFactory.createDefaultModel();
|
||||
|
||||
// create the resource
|
||||
// and add the properties cascading style
|
||||
Resource johnSmith
|
||||
= model.createResource(personURI)
|
||||
.addProperty(VCARD.FN, fullName)
|
||||
.addProperty(VCARD.N,
|
||||
model.createResource()
|
||||
.addProperty(VCARD.Given, givenName)
|
||||
.addProperty(VCARD.Family, familyName));
|
||||
|
||||
// list the statements in the graph
|
||||
StmtIterator iter = model.listStatements();
|
||||
|
||||
// print out the predicate, subject and object of each statement
|
||||
while (iter.hasNext()) {
|
||||
Statement stmt = iter.nextStatement(); // get next statement
|
||||
Resource subject = stmt.getSubject(); // get the subject
|
||||
Property predicate = stmt.getPredicate(); // get the predicate
|
||||
RDFNode object = stmt.getObject(); // get the object
|
||||
|
||||
System.out.print(subject.toString());
|
||||
System.out.print(" " + predicate.toString() + " ");
|
||||
if (object instanceof Resource) {
|
||||
System.out.print(object.toString());
|
||||
} else {
|
||||
// object is a literal
|
||||
System.out.print(" \"" + object.toString() + "\"");
|
||||
}
|
||||
System.out.println(" .");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user