Fix PluginBridge (#254 #253 #232)

This commit is contained in:
Rsl1122 2017-08-17 11:23:14 +03:00
parent 53f27a66a3
commit 5cc5d61816
15 changed files with 117 additions and 96 deletions

View File

@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.djrapitops:PlanPluginBridge:3.6.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/PlanPluginBridge/3.6.0/PlanPluginBridge-3.6.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/PlanPluginBridge/3.6.0/PlanPluginBridge-3.6.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="file://$PROJECT_DIR$/../PlanPluginBridge/src/main/java" />
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/PlanPluginBridge/3.6.0/PlanPluginBridge-3.6.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.djrapitops</groupId> <groupId>com.djrapitops</groupId>
<artifactId>Plan</artifactId> <artifactId>Plan</artifactId>
<version>3.6.3</version> <version>3.7.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<repositories> <repositories>
<repository> <repository>
@ -35,7 +35,7 @@
<dependency> <dependency>
<groupId>com.djrapitops</groupId> <groupId>com.djrapitops</groupId>
<artifactId>PlanPluginBridge</artifactId> <artifactId>PlanPluginBridge</artifactId>
<version>3.6.0</version> <version>3.7.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<!-- --> <!-- -->

View File

@ -32,7 +32,7 @@ public abstract class Importer {
/** /**
* Constructor. * Constructor.
*/ */
Importer() { public Importer() {
info = "No info specified"; info = "No info specified";
} }

View File

@ -2,6 +2,8 @@ package main.java.com.djrapitops.plan.ui.html;
import com.djrapitops.plugin.utilities.Verify; import com.djrapitops.plugin.utilities.Verify;
import java.io.Serializable;
/** /**
* @author Rsl1122 * @author Rsl1122
*/ */
@ -72,11 +74,11 @@ public enum Html {
* @param p The replacement Strings * @param p The replacement Strings
* @return The parsed HTML String * @return The parsed HTML String
*/ */
public String parse(String... p) { public String parse(Serializable... p) {
Verify.nullCheck(p); Verify.nullCheck(p);
String returnValue = this.html; String returnValue = this.html;
for (int i = 0; i < p.length; i++) { for (int i = 0; i < p.length; i++) {
returnValue = returnValue.replace("REPLACE" + i, p[i]); returnValue = returnValue.replace("REPLACE" + i, p[i].toString());
} }
return returnValue; return returnValue;
} }

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.destroystokyo.paper:paper:1.12-R0.1-SNAPSHOT">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/destroystokyo/paper/paper/1.12-R0.1-SNAPSHOT/paper-1.12-R0.1-20170725.202533-1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/destroystokyo/paper/paper/1.12-R0.1-SNAPSHOT/paper-1.12-R0.1-20170725.202533-1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/destroystokyo/paper/paper/1.12-R0.1-SNAPSHOT/paper-1.12-R0.1-20170725.202533-1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -1,14 +0,0 @@
<component name="libraryTable">
<library name="Maven: com.djrapitops:Plan:3.6.0">
<CLASSES>
<root url="file://$PROJECT_DIR$/../Plan" />
<root url="jar://$PROJECT_DIR$/../Plan/target/Plan.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="file://$PROJECT_DIR$/../Plan/classes/artifacts/Maven__com_djrapitops_AbstractPluginFramework_2_0_0/src/main/java" />
<root url="file://$PROJECT_DIR$/../Plan/classes/artifacts/Maven__com_djrapitops_AbstractPluginFramework_2_0_0/src/test/java" />
<root url="file://$PROJECT_DIR$/../Plan/src" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.djrapitops:Plan:3.7.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/../Plan/target/Plan.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/Plan/3.7.0/Plan-3.7.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/djrapitops/Plan/3.7.0/Plan-3.7.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.gamingmesh:jobs:4.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/gamingmesh/jobs/4.0.1/jobs-4.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/gamingmesh/jobs/4.0.1/jobs-4.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/gamingmesh/jobs/4.0.1/jobs-4.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

Binary file not shown.

View File

@ -1,11 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.djrapitops</groupId> <groupId>com.djrapitops</groupId>
<artifactId>PlanPluginBridge</artifactId> <artifactId>PlanPluginBridge</artifactId>
<version>3.6.3</version> <version>3.7.0</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<repositories> <repositories>
<repository>
<id>plan-repo</id>
<url>http://repo.fuzzlemann.de/artifactory/libs-release/</url>
</repository>
<repository>
<id>plan-snapshot-repo</id>
<url>http://repo.fuzzlemann.de/artifactory/libs-snapshot/</url>
</repository>
<repository> <repository>
<id>vault-repo</id> <id>vault-repo</id>
<url>http://nexus.hc.to/content/repositories/pub_releases</url> <url>http://nexus.hc.to/content/repositories/pub_releases</url>
@ -23,13 +32,13 @@
<dependency> <dependency>
<groupId>com.djrapitops</groupId> <groupId>com.djrapitops</groupId>
<artifactId>Plan</artifactId> <artifactId>Plan</artifactId>
<version>3.6.2</version> <version>3.7.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.bukkit</groupId> <groupId>com.destroystokyo.paper</groupId>
<artifactId>craftbukkit</artifactId> <artifactId>paper</artifactId>
<version>1.11.2-R0.1-SNAPSHOT</version> <version>1.12-R0.1-20170725.202533-1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -59,7 +68,7 @@
<dependency> <dependency>
<groupId>com.gamingmesh</groupId> <groupId>com.gamingmesh</groupId>
<artifactId>jobs</artifactId> <artifactId>jobs</artifactId>
<version>3.9.1</version> <version>4.0.1</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -117,9 +126,22 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
</plugin>
</plugins>
</build>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.target>1.8</maven.compiler.target>
<sonar.language>java</sonar.language>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPaths>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPaths>
</properties> </properties>
</project> </project>

View File

@ -5,14 +5,15 @@
*/ */
package com.djrapitops.pluginbridge.plan; package com.djrapitops.pluginbridge.plan;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import main.java.com.djrapitops.plan.data.UserData; import main.java.com.djrapitops.plan.data.UserData;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/** /**
* *
* @author Rsl1122 * @author Rsl1122
@ -49,11 +50,6 @@ public class FakeOfflinePlayer implements OfflinePlayer {
return data.isBanned(); return data.isBanned();
} }
@Override
@Deprecated
public void setBanned(boolean bln) {
}
@Override @Override
public boolean isWhitelisted() { public boolean isWhitelisted() {
return true; return true;

View File

@ -1,13 +1,14 @@
package com.djrapitops.pluginbridge.plan.importing; package com.djrapitops.pluginbridge.plan.importing;
import java.util.UUID;
import main.java.com.djrapitops.plan.data.UserData; import main.java.com.djrapitops.plan.data.UserData;
import main.java.com.djrapitops.plan.data.handling.importing.Importer; import main.java.com.djrapitops.plan.data.handling.importing.Importer;
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo; import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
import main.java.com.djrapitops.plan.data.handling.info.InfoType; import main.java.com.djrapitops.plan.data.handling.info.InfoType;
import me.edge209.OnTime.OnTimeAPI; import me.edge209.OnTime.OnTimeAPI;
import org.bukkit.GameMode;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import java.util.UUID;
import static org.bukkit.Bukkit.getOfflinePlayer; import static org.bukkit.Bukkit.getOfflinePlayer;
/** /**

View File

@ -1,28 +1,25 @@
package com.djrapitops.pluginbridge.plan.jobs; package com.djrapitops.pluginbridge.plan.jobs;
import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.PlayerManager; import com.gamingmesh.jobs.dao.JobsDAOData;
import com.gamingmesh.jobs.container.JobProgression;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
import com.gamingmesh.jobs.container.JobsPlayer;
import main.java.com.djrapitops.plan.Plan;
import main.java.com.djrapitops.plan.data.additional.AnalysisType; import main.java.com.djrapitops.plan.data.additional.AnalysisType;
import main.java.com.djrapitops.plan.data.additional.PluginData; import main.java.com.djrapitops.plan.data.additional.PluginData;
import main.java.com.djrapitops.plan.ui.html.Html; import main.java.com.djrapitops.plan.ui.html.Html;
import main.java.com.djrapitops.plan.utilities.FormatUtils; import main.java.com.djrapitops.plan.utilities.FormatUtils;
import main.java.com.djrapitops.plan.utilities.analysis.MathUtils; import main.java.com.djrapitops.plan.utilities.analysis.MathUtils;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* PluginData class for Jobs-plugin. * PluginData class for Jobs-plugin.
* * <p>
* Registered to the plugin by JobsHook * Registered to the plugin by JobsHook
* *
* @author Rsl1122 * @author Rsl1122
* @since 3.2.1
* @see JobsHook * @see JobsHook
* @since 3.2.1
*/ */
public class JobsAnalysisJobTable extends PluginData { public class JobsAnalysisJobTable extends PluginData {
@ -41,33 +38,30 @@ public class JobsAnalysisJobTable extends PluginData {
@Override @Override
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) { public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
PlayerManager pm = Jobs.getPlayerManager(); List<JobsDAOData> allJobs = Jobs.getDBManager().getDB().getAllJobs()
List<List<JobProgression>> players = Plan.getPlanAPI().getInspectCachedUserData().stream() .values().stream()
.map(p -> pm.getPlayerInfo(p.getUuid())) .flatMap(Collection::stream)
.filter(Objects::nonNull)
.map(pm::getJobsPlayerOffline)
.map(JobsPlayer::getJobProgression)
.filter(list -> !list.isEmpty())
.collect(Collectors.toList()); .collect(Collectors.toList());
if (players.isEmpty()) {
if (allJobs.isEmpty()) {
return parseContainer("", Html.TABLELINE_4.parse("No Players with Jobs", "", "", "")); return parseContainer("", Html.TABLELINE_4.parse("No Players with Jobs", "", "", ""));
} }
Map<String, Integer> workers = new HashMap<>(); Map<String, Integer> workers = new HashMap<>();
Map<String, Long> totals = new HashMap<>(); Map<String, Long> totals = new HashMap<>();
for (List<JobProgression> jobs : players) { for (JobsDAOData data : allJobs) {
for (JobProgression job : jobs) { String job = data.getJobName();
String name = job.getJob().getName(); int level = data.getLevel();
int level = job.getLevel(); if (!workers.containsKey(job)) {
if (!workers.containsKey(name)) { workers.put(job, 0);
workers.put(name, 0);
} }
workers.put(name, workers.get(name) + 1); workers.put(job, workers.get(job) + 1);
if (!totals.containsKey(name)) { if (!totals.containsKey(job)) {
totals.put(name, 0L); totals.put(job, 0L);
}
totals.put(name, totals.get(name) + level);
} }
totals.put(job, totals.get(job) + level);
} }
StringBuilder html = new StringBuilder(); StringBuilder html = new StringBuilder();
for (String job : workers.keySet()) { for (String job : workers.keySet()) {
Integer amountOfWorkers = workers.get(job); Integer amountOfWorkers = workers.get(job);

View File

@ -1,24 +1,22 @@
package com.djrapitops.pluginbridge.plan.jobs; package com.djrapitops.pluginbridge.plan.jobs;
import com.gamingmesh.jobs.Jobs; import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.PlayerManager; import com.gamingmesh.jobs.dao.JobsDAOData;
import com.gamingmesh.jobs.container.JobProgression;
import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.container.PlayerInfo;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
import main.java.com.djrapitops.plan.data.additional.PluginData; import main.java.com.djrapitops.plan.data.additional.PluginData;
import main.java.com.djrapitops.plan.ui.html.Html; import main.java.com.djrapitops.plan.ui.html.Html;
import java.io.Serializable;
import java.util.List;
import java.util.UUID;
/** /**
* PluginData class for Jobs-plugin. * PluginData class for Jobs-plugin.
* * <p>
* Registered to the plugin by JobsHook * Registered to the plugin by JobsHook
* *
* @author Rsl1122 * @author Rsl1122
* @since 3.2.1
* @see JobsHook * @see JobsHook
* @since 3.2.1
*/ */
public class JobsInspectJobTable extends PluginData { public class JobsInspectJobTable extends PluginData {
@ -37,14 +35,11 @@ public class JobsInspectJobTable extends PluginData {
@Override @Override
public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) { public String getHtmlReplaceValue(String modifierPrefix, UUID uuid) {
try { try {
PlayerManager pm = Jobs.getPlayerManager(); List<JobsDAOData> playersJobs = Jobs.getDBManager().getDB().getAllJobs(null, uuid);
PlayerInfo info = pm.getPlayerInfo(uuid); if (!playersJobs.isEmpty()) {
JobsPlayer player = pm.getJobsPlayerOffline(info);
List<JobProgression> progression = player.getJobProgression();
if (!progression.isEmpty()) {
StringBuilder html = new StringBuilder(); StringBuilder html = new StringBuilder();
for (JobProgression job : progression) { for (JobsDAOData job : playersJobs) {
html.append(Html.TABLELINE_2.parse(job.getJob().getName(), "" + job.getLevel())); html.append(Html.TABLELINE_2.parse(job.getJobName(), job.getLevel()));
} }
return parseContainer("", html.toString()); return parseContainer("", html.toString());
} }