summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx
diff options
context:
space:
mode:
authorSimon Rettberg2015-09-15 14:08:37 +0200
committerSimon Rettberg2015-09-15 14:08:37 +0200
commit7d7b72348a5b1e38249e1342b23e31ed4cf851db (patch)
tree79e02756f58aa620c852b0beb3baaad3ef46af72 /dozentenmodul/src/main/java/org/openslx
parent[client] Login: check if the user enters its org as part of the username (diff)
downloadtutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.tar.gz
tutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.tar.xz
tutor-module-7d7b72348a5b1e38249e1342b23e31ed4cf851db.zip
[client] Changelog creation mode
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/App.java13
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java33
2 files changed, 46 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java
index a2e4e859..cee3a587 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/App.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/App.java
@@ -27,6 +27,7 @@ import org.openslx.dozmod.Config.ProxyMode;
import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.MainWindow;
import org.openslx.dozmod.gui.helper.MessageType;
+import org.openslx.dozmod.util.ClientVersion;
import org.openslx.dozmod.util.ProxyConfigurator;
import org.openslx.thrifthelper.ThriftManager;
import org.openslx.util.Util;
@@ -112,6 +113,10 @@ public class App {
}
public static void main(final String[] args) {
+ if (args.length >= 2 && args[0].equals("--json")) {
+ writeJsonUpdateFile(args[1]);
+ return;
+ }
try {
Config.init();
} catch (Exception e) {
@@ -200,6 +205,14 @@ public class App {
Util.sleep(1000);
}
+ private static void writeJsonUpdateFile(String destination) {
+ try {
+ ClientVersion.createJson(destination);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
private static void adjustFontSize(int percent) {
if (percent == 100 || percent <= 0 || percent > 1000)
return;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
index 8818d558..6c7c2f5b 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ClientVersion.java
@@ -1,13 +1,19 @@
package org.openslx.dozmod.util;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.log4j.Logger;
+import org.openslx.sat.thrift.version.Version;
import org.openslx.util.Json;
// ClientVersion is a bad name, TODO find better suited one :)
@@ -190,4 +196,31 @@ public class ClientVersion {
String revision;
String changelog;
}
+
+ public static void createJson(String name) throws IOException {
+ loadLocalVersion();
+ if (localRevisionTime == 0)
+ throw new RuntimeException("Missing manifest/data in jar: No revision time found");
+ if (localRevision == null || localRevision.isEmpty())
+ throw new RuntimeException("Missing manifest/data in jar: No commit hash found");
+ System.out.println("Please enter change log. To finish, put a '.' on a single line");
+ StringBuilder sb = new StringBuilder();
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+ for (String line; (line = br.readLine()) != null;) {
+ if (line.equals("."))
+ break;
+ sb.append(line);
+ sb.append('\n');
+ }
+ VersionQuery vq = new VersionQuery();
+ vq.timestamp = localRevisionTime;
+ vq.revision = localRevision;
+ vq.changelog = sb.toString();
+ String data = Json.serialize(vq);
+ FileUtils.writeStringToFile(new File(name), data, StandardCharsets.UTF_8);
+ System.out.println();
+ System.out.println("Created json file at " + name);
+ System.out.println("This build is using Thrift RPC interface version >> " + Version.VERSION + " <<");
+ System.out.println();
+ }
}