Added parameter on 1000 response, added MC info cmd and more changes
This commit is contained in:
parent
2e238027bb
commit
94a8831495
@ -11,9 +11,9 @@ Dont worry about privacy or security: all data is stored in your browser offline
|
|||||||
* Command history: Use up/down arrow keys to browse the command history, like in the real console.
|
* Command history: Use up/down arrow keys to browse the command history, like in the real console.
|
||||||
* Colors supported, for both Windows and Linux hosts. (Colors are represented different in each platform).
|
* Colors supported, for both Windows and Linux hosts. (Colors are represented different in each platform).
|
||||||
* Real-time connected players, machine CPU and server RAM usage information.
|
* Real-time connected players, machine CPU and server RAM usage information.
|
||||||
|
* Capable of keep connected to more than one server to keep retrieving console log in the background for them.
|
||||||
* English, Spanish and Russian (thanks to Stashenko) supported.
|
* English, Spanish and Russian (thanks to Stashenko) supported.
|
||||||
* Free and updated regularly.
|
* Free ,updated regularly, and many more!
|
||||||
* And many more!
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
3
client/README_AFTER_UPGRADE.txt
Normal file
3
client/README_AFTER_UPGRADE.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
If you are having issues with client not connecting and throwing random errors after a upgrade,
|
||||||
|
please force client reload on your browser by pressing Ctrl+F5 to reload the whole page.
|
||||||
|
This issue happens sometimes due to browsers caching JavaScript code.
|
@ -210,7 +210,7 @@
|
|||||||
<!-- Webpage footer -->
|
<!-- Webpage footer -->
|
||||||
<footer class="footer mt-auto py-3">
|
<footer class="footer mt-auto py-3">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<span class="text-muted">WebConsole v1.2 - <a href="https://github.com/mesacarlos/WebConsole">GitHub</a></span>
|
<span class="text-muted">WebConsole v1.3 - <a href="https://github.com/mesacarlos/WebConsole">GitHub</a></span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
@ -220,11 +220,11 @@
|
|||||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<!-- WebConsole JS Scripts -->
|
<!-- WebConsole JS Scripts -->
|
||||||
<script src="scripts/WebConsoleLanguage.js"></script>
|
<script src="scripts/WebConsoleLanguage.js?v=1.3"></script>
|
||||||
<script src="scripts/WebConsoleConnector.js"></script>
|
<script src="scripts/WebConsoleConnector.js?v=1.3"></script>
|
||||||
<script src="scripts/WebConsoleManager.js"></script>
|
<script src="scripts/WebConsoleManager.js?v=1.3"></script>
|
||||||
<script src="scripts/WebConsolePersistenceManager.js"></script>
|
<script src="scripts/WebConsolePersistenceManager.js?v=1.3"></script>
|
||||||
<script src="scripts/WebConsole.js"></script>
|
<script src="scripts/WebConsole.js?v=1.3"></script>
|
||||||
<script src="scripts/WebConsoleJqueryHandler.js"></script>
|
<script src="scripts/WebConsoleJqueryHandler.js?v=1.3"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
name: WebConsole
|
name: WebConsole
|
||||||
main: com.mesacarlos.webconsole.WebConsole
|
main: com.mesacarlos.webconsole.WebConsole
|
||||||
version: 1.2
|
version: 1.3
|
||||||
description: WebSockets-based web console
|
description: WebSockets-based web console
|
||||||
author: Carlos Mesa
|
author: Carlos Mesa
|
||||||
commands:
|
commands:
|
||||||
|
WebConsole:
|
||||||
|
description: Shows version and active connections of WebConsole
|
||||||
|
permission: webconsole.webconsole
|
||||||
|
usage: /WebConsole
|
2
pom.xml
2
pom.xml
@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>WebConsole</groupId>
|
<groupId>WebConsole</groupId>
|
||||||
<artifactId>WebConsole</artifactId>
|
<artifactId>WebConsole</artifactId>
|
||||||
<version>1.2</version>
|
<version>1.3</version>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src</sourceDirectory>
|
<sourceDirectory>src</sourceDirectory>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -17,8 +17,9 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.java_websocket.server.DefaultSSLWebSocketServerFactory;
|
import org.java_websocket.server.DefaultSSLWebSocketServerFactory;
|
||||||
|
|
||||||
|
import com.mesacarlos.webconsole.minecraft.WebConsoleCommand;
|
||||||
import com.mesacarlos.webconsole.util.LogFilter;
|
import com.mesacarlos.webconsole.util.LogFilter;
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
|
||||||
public class WebConsole extends JavaPlugin {
|
public class WebConsole extends JavaPlugin {
|
||||||
FileConfiguration config = this.getConfig();
|
FileConfiguration config = this.getConfig();
|
||||||
@ -31,15 +32,20 @@ public class WebConsole extends JavaPlugin {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
createConfig();
|
createConfig();
|
||||||
|
|
||||||
|
//Start WebSocket Server
|
||||||
try {
|
try {
|
||||||
startWS();
|
startWS();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Bukkit.getLogger().warning("Error occured while starting WebSockets Server.");
|
Bukkit.getLogger().warning("Error occured while starting WebSocket Server.");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//This filter is used to read the whole console.
|
||||||
Filter f = new LogFilter(getWSServer());
|
Filter f = new LogFilter(getWSServer());
|
||||||
((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()).addFilter(f);
|
((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()).addFilter(f);
|
||||||
|
|
||||||
|
//Register /WebConsole command
|
||||||
|
getCommand("WebConsole").setExecutor(new WebConsoleCommand(this.getDescription().getVersion()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.java_websocket.WebSocket;
|
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.json.Players;
|
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
|
||||||
|
|
||||||
public class PlayersCommand implements WSCommand{
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void execute(WSServer wsServer, WebSocket conn, String params) {
|
|
||||||
int connectedPlayers = Bukkit.getOnlinePlayers().size();
|
|
||||||
int maxPlayers = Bukkit.getMaxPlayers();
|
|
||||||
|
|
||||||
wsServer.sendToClient(conn, new Players("Currently " + connectedPlayers + " connected players for a maximum of " + maxPlayers, connectedPlayers, maxPlayers));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.mesacarlos.webconsole.minecraft;
|
||||||
|
|
||||||
|
import java.net.InetSocketAddress;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import com.mesacarlos.webconsole.util.LoginManager;
|
||||||
|
|
||||||
|
public class WebConsoleCommand implements CommandExecutor {
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
public WebConsoleCommand(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
StringBuilder msg = new StringBuilder();
|
||||||
|
|
||||||
|
msg.append("WebConsole version " + version + ".\n");
|
||||||
|
ArrayList<InetSocketAddress> connections = LoginManager.getInstance().getLoggedInUsers();
|
||||||
|
|
||||||
|
if (connections.isEmpty()) {
|
||||||
|
msg.append("There are no logged in WebConsole connections now.");
|
||||||
|
} else {
|
||||||
|
msg.append("Connected to WebConsole from:\n");
|
||||||
|
for (int i = 0; i < connections.size(); i++) {
|
||||||
|
InetSocketAddress connection = connections.get(i);
|
||||||
|
msg.append(connection.toString());
|
||||||
|
if(i+1 < connections.size())
|
||||||
|
msg.append("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sender.sendMessage(msg.toString());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -7,7 +7,7 @@ import org.apache.logging.log4j.core.LogEvent;
|
|||||||
import org.apache.logging.log4j.core.Logger;
|
import org.apache.logging.log4j.core.Logger;
|
||||||
import org.apache.logging.log4j.message.Message;
|
import org.apache.logging.log4j.message.Message;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
|
||||||
public class LogFilter implements Filter{
|
public class LogFilter implements Filter{
|
||||||
private WSServer wsServer;
|
private WSServer wsServer;
|
||||||
|
@ -2,10 +2,9 @@ package com.mesacarlos.webconsole.util;
|
|||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class LoginManager {
|
public class LoginManager {
|
||||||
private List<InetSocketAddress> loggedInUsers = new ArrayList<InetSocketAddress>();
|
private ArrayList<InetSocketAddress> loggedInUsers = new ArrayList<InetSocketAddress>();
|
||||||
private static LoginManager instance;
|
private static LoginManager instance;
|
||||||
|
|
||||||
private LoginManager() {}
|
private LoginManager() {}
|
||||||
@ -27,4 +26,8 @@ public class LoginManager {
|
|||||||
public boolean isLoggedIn(InetSocketAddress address) {
|
public boolean isLoggedIn(InetSocketAddress address) {
|
||||||
return loggedInUsers.contains(address);
|
return loggedInUsers.contains(address);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<InetSocketAddress> getLoggedInUsers() {
|
||||||
|
return loggedInUsers;
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.websockets;
|
package com.mesacarlos.webconsole.websocket;
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -10,14 +10,14 @@ import org.java_websocket.handshake.ClientHandshake;
|
|||||||
import org.java_websocket.server.WebSocketServer;
|
import org.java_websocket.server.WebSocketServer;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.WebConsole;
|
import com.mesacarlos.webconsole.WebConsole;
|
||||||
import com.mesacarlos.webconsole.command.CommandFactory;
|
|
||||||
import com.mesacarlos.webconsole.command.WSCommand;
|
|
||||||
import com.mesacarlos.webconsole.json.ConsoleOutput;
|
|
||||||
import com.mesacarlos.webconsole.json.JSONOutput;
|
|
||||||
import com.mesacarlos.webconsole.json.LoginRequired;
|
|
||||||
import com.mesacarlos.webconsole.json.Processed;
|
|
||||||
import com.mesacarlos.webconsole.json.UnknownCommand;
|
|
||||||
import com.mesacarlos.webconsole.util.LoginManager;
|
import com.mesacarlos.webconsole.util.LoginManager;
|
||||||
|
import com.mesacarlos.webconsole.websocket.command.CommandFactory;
|
||||||
|
import com.mesacarlos.webconsole.websocket.command.WSCommand;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.ConsoleOutput;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.JSONOutput;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.LoginRequired;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.Processed;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.UnknownCommand;
|
||||||
|
|
||||||
public class WSServer extends WebSocketServer {
|
public class WSServer extends WebSocketServer {
|
||||||
private HashMap<String, WSCommand> commands = CommandFactory.getCommandsHashMap();
|
private HashMap<String, WSCommand> commands = CommandFactory.getCommandsHashMap();
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
|
|
||||||
@ -9,8 +9,8 @@ import javax.management.ObjectName;
|
|||||||
|
|
||||||
import org.java_websocket.WebSocket;
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.json.CpuUsage;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.response.CpuUsage;
|
||||||
|
|
||||||
public class CpuUsageCommand implements WSCommand {
|
public class CpuUsageCommand implements WSCommand {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
@ -6,7 +6,7 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.command.ConsoleCommandSender;
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
import org.java_websocket.WebSocket;
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
|
||||||
public class ExecCommand implements WSCommand {
|
public class ExecCommand implements WSCommand {
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.java_websocket.WebSocket;
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.json.LoginRequired;
|
|
||||||
import com.mesacarlos.webconsole.json.Processed;
|
|
||||||
import com.mesacarlos.webconsole.util.LoginManager;
|
import com.mesacarlos.webconsole.util.LoginManager;
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.LoginRequired;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.Processed;
|
||||||
|
|
||||||
public class LogInCommand implements WSCommand {
|
public class LogInCommand implements WSCommand {
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
import com.mesacarlos.webconsole.websocket.response.Players;
|
||||||
|
|
||||||
|
public class PlayersCommand implements WSCommand{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(WSServer wsServer, WebSocket conn, String params) {
|
||||||
|
List<String> connectedPlayersList = new ArrayList<String>();
|
||||||
|
for(Player player : Bukkit.getOnlinePlayers()) {
|
||||||
|
connectedPlayersList.add(player.getName());
|
||||||
|
}
|
||||||
|
int connectedPlayers = Bukkit.getOnlinePlayers().size();
|
||||||
|
int maxPlayers = Bukkit.getMaxPlayers();
|
||||||
|
|
||||||
|
wsServer.sendToClient(conn, new Players("Currently " + connectedPlayers + " connected players for a maximum of " + maxPlayers, connectedPlayers, maxPlayers, connectedPlayersList));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,9 +1,9 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import org.java_websocket.WebSocket;
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.json.RamUsage;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.response.RamUsage;
|
||||||
|
|
||||||
public class RamUsageCommand implements WSCommand {
|
public class RamUsageCommand implements WSCommand {
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
package com.mesacarlos.webconsole.command;
|
package com.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
import org.java_websocket.WebSocket;
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
import com.mesacarlos.webconsole.websockets.WSServer;
|
import com.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
|
||||||
public interface WSCommand {
|
public interface WSCommand {
|
||||||
void execute(WSServer wsServer, WebSocket conn, String params);
|
void execute(WSServer wsServer, WebSocket conn, String params);
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
public interface JSONOutput {
|
public interface JSONOutput {
|
||||||
/**
|
/**
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
@ -1,16 +1,21 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class Players implements JSONOutput{
|
public class Players implements JSONOutput{
|
||||||
private String message;
|
private String message;
|
||||||
private int connectedPlayers;
|
private int connectedPlayers;
|
||||||
private int maxPlayers;
|
private int maxPlayers;
|
||||||
|
private List<String> connectedPlayersList;
|
||||||
|
|
||||||
public Players(String message, int connectedPlayers, int maxPlayers) {
|
public Players(String message, int connectedPlayers, int maxPlayers, List<String> connectedPlayersList) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.connectedPlayers = connectedPlayers;
|
this.connectedPlayers = connectedPlayers;
|
||||||
this.maxPlayers = maxPlayers;
|
this.maxPlayers = maxPlayers;
|
||||||
|
this.connectedPlayersList = connectedPlayersList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -38,6 +43,7 @@ public class Players implements JSONOutput{
|
|||||||
object.addProperty("statusDescription", "Players");
|
object.addProperty("statusDescription", "Players");
|
||||||
object.addProperty("connectedPlayers", getConnectedPlayers());
|
object.addProperty("connectedPlayers", getConnectedPlayers());
|
||||||
object.addProperty("maxPlayers", getMaxPlayers());
|
object.addProperty("maxPlayers", getMaxPlayers());
|
||||||
|
object.addProperty("players", new Gson().toJson(connectedPlayersList));
|
||||||
object.addProperty("message", getMessage());
|
object.addProperty("message", getMessage());
|
||||||
return object.toString();
|
return object.toString();
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.mesacarlos.webconsole.json;
|
package com.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user