Compare commits

...

8 commits

Author SHA1 Message Date
31a51fd76f .github/workflows/maven.yml aktualisiert 2025-01-05 20:15:44 -05:00
e4e071b551 .github/workflows/maven.yml aktualisiert 2025-01-05 20:14:57 -05:00
potzplitz
a21f5e04a4
Update DecryptXOR.java 2024-10-21 10:53:20 +02:00
potzplitz
49f80a53be
Update DecryptXOR.java 2024-10-17 11:45:55 +02:00
potzplitz
bd754f04e6
Update PreChecks.java 2024-10-17 11:44:11 +02:00
potzplitz
eaf293fc09 updating works again 2024-09-17 18:10:10 +02:00
potzplitz
bf1195bb49 added errorhandler 2024-09-08 14:57:19 +02:00
potzplitz
8ff5e2947e performance 2024-08-09 18:22:28 +02:00
11 changed files with 106 additions and 29 deletions

View file

@ -9,7 +9,7 @@ on:
jobs:
publish:
runs-on: ubuntu-latest
runs-on: docker
steps:
- name: Checkout Repository
uses: actions/checkout@v3

10
pom.xml
View file

@ -52,6 +52,16 @@
<artifactId>github-api</artifactId>
<version>1.127</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>io.qtjambi</groupId>
<artifactId>qtjambi</artifactId>

View file

@ -83,6 +83,7 @@ public class DownloadLevels {
fileOutputStream.write(dataBuffer, 0, bytesRead);
}
} catch (IOException e) {
e.printStackTrace();
}

View file

@ -6,6 +6,7 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import org.apache.commons.io.FileUtils;
import org.json.JSONException;
import org.json.JSONObject;
public class GuiData {
@ -80,8 +81,15 @@ public class GuiData {
localLevels.add(obj.getString("name"));
id.add(obj.getInt("id") + "");
try {
verifier.add(obj.getString("verifier"));
creator.add(obj.getString("author"));
} catch (JSONException e) {
verifier.add(Long.toString(obj.getLong("verifier")));
creator.add(Long.toString(obj.getLong("author")));
}
qualification.add(obj.getInt("percentToQualify") + "");
ytlink.add(obj.getString("verification") + "");
creators.add(obj.getJSONArray("creators") + "");

View file

@ -176,17 +176,19 @@ public class Sqlite {
}
public void queryData(String tablename) {
FetchData fetch = new FetchData();
for(int i = 0; i < fetch.allLevels().size(); i++) {
String sql = "SELECT * FROM " + tablename + " WHERE levelNameRaw = '" + fetch.allLevels().get(i) + "'";
String sql = "SELECT levelname, levelID, author, creators, verifier, verificationLink, " +
"percentToQualify, completed, records, levelNameRaw, attempts, locked, " +
"personalBest, levelLength FROM " + tablename + " WHERE levelNameRaw = ?";
try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
PreparedStatement pstmt = conn.prepareStatement(sql)) {
for (int i = 0; i < fetch.allLevels().size(); i++) {
pstmt.setString(1, fetch.allLevels().get(i));
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) { // Sicherstellen, dass alle Zeilen verarbeitet werden
levelname.add(rs.getString("levelname"));
levelID.add(rs.getInt("levelID") + "");
author.add(rs.getString("author"));
@ -198,18 +200,18 @@ public class Sqlite {
records.add(rs.getString("records"));
rawLevelNames.add(rs.getString("levelNameRaw"));
attempts.add(rs.getInt("attempts"));
locked.add(rs.getBoolean("locked")); // Get the value of the new column
locked.add(rs.getBoolean("locked"));
pbarr.add(rs.getString("personalBest"));
levelLength.add(rs.getString("levelLength"));
}
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void sortData(String tablename) throws SQLException {
FetchData data = new FetchData();

View file

@ -0,0 +1,21 @@
package errorhandler;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.swing.JOptionPane;
public class ErrorHandler {
public void newError(Throwable e) {
e.printStackTrace();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
JOptionPane.showMessageDialog(null, sw.toString() + "", e.getMessage(), JOptionPane.ERROR_MESSAGE);
System.exit(-1);
}
}

View file

@ -0,0 +1,18 @@
package errorhandler;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class ErrorSubmission {
}

View file

@ -3,11 +3,14 @@ package main;
import java.io.IOException;
import java.util.zip.DataFormatException;
import javax.swing.JOptionPane;
import api.GetApiData;
import data.FetchData;
import data.ManageFiles;
import database.DatabaseManager;
import database.Sqlite;
import errorhandler.ErrorHandler;
import filestructure.CreateFileStructure;
import gui.LoadMenu;
import preload.PreChecks;
@ -17,6 +20,16 @@ public class Main {
public static void main(String[] args) throws IOException, DataFormatException {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
ErrorHandler error = new ErrorHandler();
error.newError(e);
}
});
try {
LoadMenu load = new LoadMenu();
load.onLoad();
@ -54,6 +67,10 @@ public class Main {
load.updateBar("Ladevorgang abgeschlossen");
load.close();
} catch (Exception e) {
System.out.println("fehler");
}
}
}

View file

@ -10,4 +10,5 @@
requires java.xml;
requires org.apache.commons.codec;
requires github.api;
requires java.mail;
}

View file

@ -24,5 +24,4 @@ public class PreChecks {
migration.migrateData();
}
}
}