Skip to content

Commit

Permalink
Some minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
ME1312 committed Mar 16, 2022
1 parent d42418c commit d96c8bd
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 37 deletions.
Expand Up @@ -24,6 +24,15 @@ public synchronized void reserve() {
++tasks;
}

/**
* Call this before running multiple tasks
*
* @param amount Amount of reservations
*/
public synchronized void reserve(int amount) {
tasks += amount;
}

/**
* Call this after running each task
*/
Expand Down
Expand Up @@ -10,7 +10,7 @@ public abstract class CommandProcessor {
// Console UI served by RT
protected abstract Object openWindow(boolean exit);
protected abstract Object getWindow();
protected abstract void closeWindow(boolean exit);
protected abstract void closeWindow(boolean destroy);

/**
* Galaxi Command Status Class
Expand Down
36 changes: 28 additions & 8 deletions GalaxiAPI/src/net/ME1312/Galaxi/Log/TextElement.java
Expand Up @@ -190,10 +190,7 @@ public Color color() {
* @return Text Element
*/
public TextElement before(TextElement... elements) {
LinkedList<TextElement> before = new LinkedList<TextElement>();
before.addAll(Arrays.asList(elements));
Collections.reverse(before);
for (TextElement element : before) this.before.addFirst(element);
for (int i = elements.length; i > 0;) before.addFirst(elements[--i]);
return this;
}

Expand All @@ -204,10 +201,33 @@ public TextElement before(TextElement... elements) {
* @return Text Element
*/
public TextElement prepend(TextElement... elements) {
LinkedList<TextElement> before = new LinkedList<TextElement>();
before.addAll(Arrays.asList(elements));
Collections.reverse(before);
for (TextElement element : before) this.prepend.addFirst(element);
for (int i = elements.length; i > 0;) prepend.addFirst(elements[--i]);
return this;
}

/**
* Add additional text before the existing text
*
* @param text Text to add
* @return Text Element
*/
public TextElement prepend(String... text) {
StringBuilder msg = new StringBuilder(element.getString("msg"));
for (int i = text.length; i > 0;) msg.insert(0, text[--i]);
element.set("msg", msg.toString());
return this;
}

/**
* Add additional text behind the existing text
*
* @param text Text to add
* @return Text Element
*/
public TextElement append(String... text) {
StringBuilder msg = new StringBuilder(element.getString("msg"));
for (String s : text) msg.append(s);
element.set("msg", msg.toString());
return this;
}

Expand Down
25 changes: 10 additions & 15 deletions GalaxiAPI/src/net/ME1312/Galaxi/Plugin/PluginInfo.java
Expand Up @@ -388,25 +388,20 @@ public List<Dependency> getDependencies() {
* @return Full Dependencies List
*/
public List<PluginInfo> scanDependencies() {
List<PluginInfo> used = new ArrayList<PluginInfo>();
used.add(this);
return scanDependencies(this, used);
LinkedList<PluginInfo> output = new LinkedList<>();
scanDependencies(output);
output.removeLast();
return output;
}
private List<PluginInfo> scanDependencies(PluginInfo info, List<PluginInfo> used) {
LinkedList<PluginInfo> output = new LinkedList<PluginInfo>();
private void scanDependencies(LinkedList<PluginInfo> output) {
output.addFirst(this);

for (PluginInfo.Dependency depend : info.getDependencies()) {
if (Galaxi.getInstance().getPluginManager().getPlugins().get(depend.getName().toLowerCase()) != null) {
output.addAll(scanDependencies(Galaxi.getInstance().getPluginManager().getPlugin(depend.getName().toLowerCase()), used));
for (PluginInfo.Dependency depend : getDependencies()) {
PluginInfo plugin = Galaxi.getInstance().getPluginManager().getPlugin(depend.getName());
if (plugin != null && !output.contains(plugin)) {
plugin.scanDependencies(output);
}
}

if (!used.contains(info)) {
output.add(info);
used.add(info);
}

return output;
}

/**
Expand Down
5 changes: 1 addition & 4 deletions GalaxiAPI/src/net/ME1312/Galaxi/Plugin/PluginManager.java
Expand Up @@ -29,10 +29,7 @@ public abstract class PluginManager {
* @param name Plugin Name
* @return PluginInfo
*/
public PluginInfo getPlugin(String name) {
Util.nullpo(name);
return getPlugins().get(name.toLowerCase());
}
public abstract PluginInfo getPlugin(String name);

/**
* Gets a Plugin
Expand Down
Expand Up @@ -38,7 +38,7 @@ public abstract class CommandParser extends CommandProcessor {
public abstract Parsed parseCommand(String command);

/**
* Parsed Input Class
* Parsed Command Class
*/
public interface Parsed {
/**
Expand Down
Expand Up @@ -318,4 +318,10 @@ public int loadPlugins(File... directories) {
public Map<String, PluginInfo> getPlugins() {
return new LinkedHashMap<String, PluginInfo>(plugins);
}

@Override
public PluginInfo getPlugin(String name) {
Util.nullpo(name);
return plugins.getOrDefault(name.toLowerCase(), null);
}
}
Expand Up @@ -381,10 +381,8 @@ public ParsedInput parse(final String LINE, final int CURSOR, boolean command) t
if ((PARSE_CONSOLE_VARIABLES.value())
&& i + 1 <= LINE.codePoints().count() && (varEnd = LINE.indexOf('$', i+1)) > i) {
String var = LINE.substring(i + 1, varEnd);
String replacement;
if (System.getProperty(var) != null) {
replacement = System.getProperty(var);
} else {
String replacement = System.getProperty(var);
if (replacement == null) {
replacement = "null";
}
part.append(replacement);
Expand All @@ -404,10 +402,8 @@ public ParsedInput parse(final String LINE, final int CURSOR, boolean command) t
if ((PARSE_CONSOLE_VARIABLES.value())
&& i + 1 <= LINE.codePoints().count() && (varEnd = LINE.indexOf('%', i+1)) > i) {
String var = LINE.substring(i + 1, varEnd);
String replacement;
if (System.getenv(var) != null) {
replacement = System.getenv(var);
} else {
String replacement = System.getenv(var);
if (replacement == null) {
replacement = "null";
}
part.append(replacement);
Expand Down
1 change: 1 addition & 0 deletions pom.xml
Expand Up @@ -14,5 +14,6 @@
<module>GalaxiRT</module>
<module>GalaxiRT/UI</module>
<module>GalaxiRT/X</module>
<module>GalaxiTest</module>
</modules>
</project>

0 comments on commit d96c8bd

Please sign in to comment.