Skip to content

Commit

Permalink
Merge pull request #49 from CommonWealthRobotics/kh/cadoodle-compat
Browse files Browse the repository at this point in the history
Kh/cadoodle compat
  • Loading branch information
madhephaestus committed Jul 20, 2024
2 parents 08252b7 + f1e7f5e commit f28bdc2
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 45 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,10 @@ api group: 'org.fxmisc.richtext', name: 'richtextfx', version: '0.6'

api group: 'org.reactfx', name: 'reactfx', version: '2.0-SNAPSHOT'

api group: 'org.codehaus.groovy', name: 'groovy', version:'2.3.7';
//make grapes work
api group: 'org.apache.ivy', name:'ivy', version:'2.2.0'
// https://mvnrepository.com/artifact/org.apache.groovy/groovy
api group: 'org.apache.groovy', name: 'groovy', version: '4.0.22'
//make grapes work
api group: 'org.apache.ivy', name: 'ivy', version: '2.5.1'

//compile group: 'org.controlsfx', name: 'controlsfx', version: '8.0.6'
api group: 'commons-lang', name: 'commons-lang', version: '2.6'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import org.eclipse.jgit.api.errors.WrongRepositoryStateException;
import org.kohsuke.github.GHMyself;
Expand All @@ -30,50 +32,109 @@ public class ConfigurationDatabase {
//private static String gitSource = null; // madhephaestus
private static String dbFile = "database.json";
private static boolean checked;
private static HashMap<String, HashMap<String, Object>> database = null;
private static Map<String, HashMap<String, Object>> database = null;
private static final Type TT_mapStringString = new TypeToken<HashMap<String, HashMap<String, Object>>>() {
}.getType();
// chreat the gson object, this is the parsing factory
private static Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting().create();
private static IssueReportingExceptionHandler reporter = new IssueReportingExceptionHandler();
//private static String loggedInAs = null;
static {

public static void clear(String key) {
getDatabase();
synchronized(database){
getParamMap(key).clear();
}

}
public static Set<String> keySet(String name) {
Set<String> keySet ;
getDatabase();
synchronized(database){
keySet= ConfigurationDatabase.getParamMap(name).keySet();
}
return keySet;
}
public static boolean containsKey(String paramsKey, String string) {
boolean containsKey = false;
synchronized(database){
containsKey = ConfigurationDatabase.getParamMap(paramsKey).containsKey(string);
}
return containsKey;

public static synchronized Object getObject(String paramsKey, String objectKey, Object defaultValue) {
if (getParamMap(paramsKey).get(objectKey) == null) {
//System.err.println("Cant find: " + paramsKey + ":" + objectKey);
setObject(paramsKey, objectKey, defaultValue);
}
public static String getKeyFromValue(String controllerName, String mappedValue) {
String ret=null;
getDatabase();
synchronized(database){
HashMap<String, Object> paramMap = ConfigurationDatabase.getParamMap(controllerName);
for (String key : paramMap.keySet()) {
String string = (String) paramMap.get(key);
if (string.contentEquals(mappedValue)) {
ret= key;
break;
}
}
}
return ret;
}
public static Object get(String paramsKey, String objectKey) {
return getObject(paramsKey, objectKey, null);
}
public static Object get(String paramsKey, String objectKey, Object defaultValue) {
return getObject(paramsKey, objectKey, defaultValue);
}
public static Object getObject(String paramsKey, String objectKey, Object defaultValue) {
Object ret=null;
getDatabase();
synchronized(database){
if (getParamMap(paramsKey).get(objectKey) == null) {
//System.err.println("Cant find: " + paramsKey + ":" + objectKey);
setObject(paramsKey, objectKey, defaultValue);
}
ret= getParamMap(paramsKey).get(objectKey);
}
return getParamMap(paramsKey).get(objectKey);
return ret;
}

public static HashMap<String, Object> getParamMap(String paramsKey) {
if (getDatabase().get(paramsKey) == null) {
getDatabase().put(paramsKey, new HashMap<String, Object>());
if (database.get(paramsKey) == null) {
database.put(paramsKey, new HashMap<String, Object>());
}
return getDatabase().get(paramsKey);
return database.get(paramsKey);
}

public static synchronized Object setObject(String paramsKey, String objectKey, Object value) {
Object put = getParamMap(paramsKey).put(objectKey, value);
public static Object put(String paramsKey, String objectKey, Object value) {
return setObject(paramsKey, objectKey, value);
}

public static Object setObject(String paramsKey, String objectKey, Object value) {
Object put =null;
getDatabase();
synchronized(database){
put=getParamMap(paramsKey).put(objectKey, value);
}
save();
return put;
}

public static synchronized Object removeObject(String paramsKey, String objectKey) {
Object remove = getParamMap(paramsKey).remove(objectKey);
public static Object remove(String paramsKey, String objectKey) {
return removeObject(paramsKey, objectKey);
}
public static Object removeObject(String paramsKey, String objectKey) {
Object remove=null;
getDatabase();
synchronized(database){
remove= getParamMap(paramsKey).remove(objectKey);
}
save();
return remove;
}

public static synchronized void save() {
public static void save() {
String writeOut = null;
getDatabase();
//synchronized(database){
synchronized(database){
writeOut = gson.toJson(database, TT_mapStringString);
//}
}
File f=loadFile();


Expand All @@ -88,14 +149,15 @@ public static synchronized void save() {
}

@SuppressWarnings("unchecked")
public static HashMap<String, HashMap<String, Object>> getDatabase() {
public static void getDatabase() {
if (database != null) {
return database;
return ;
}
File loadFile = loadFile();
if(loadFile.exists())
try {
database = (HashMap<String, HashMap<String, Object>>) ScriptingEngine.inlineFileScriptRun(loadFile, null);
database = Collections.synchronizedMap((HashMap<String, HashMap<String, Object>>) ScriptingEngine.inlineFileScriptRun(loadFile, null));

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Expand All @@ -106,7 +168,7 @@ public static HashMap<String, HashMap<String, Object>> getDatabase() {
// new Exception().printStackTrace();
}

return database;
return ;
}

public static File loadFile() {
Expand Down Expand Up @@ -140,4 +202,5 @@ public static File loadFile() {




}
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,12 @@ public static void setBaseBuildInfoClass(Class c) {
}

public static String getName() {
return "Bowler Studio "
return getAppName()
+ getProtocolVersion() + "." + getSDKVersion() + "("
+ getBuildVersion() + ")";
}

public static String getAppName() {
return getTag("app.name");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@ private Object inline(Object code, ArrayList<Object> args) throws Exception {
CompilerConfiguration cc = new CompilerConfiguration();
cc.addCompilationCustomizers(new ImportCustomizer()
.addStarImports(ScriptingEngine.getImports())
.addStaticStars(
"com.neuronrobotics.sdk.util.ThreadUtil",
"eu.mihosoft.vrl.v3d.Transform",
"com.neuronrobotics.bowlerstudio.vitamins.Vitamins")

);

Binding binding = new Binding();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@ public class ScriptingEngine {// this subclasses boarder pane for the widgets
"com.neuronrobotics.bowlerstudio.scripting", "com.neuronrobotics.bowlerstudio.tabs",
"com.neuronrobotics.bowlerstudio.physics", "com.neuronrobotics.bowlerstudio.physics",
"com.neuronrobotics.bowlerstudio.vitamins", "com.neuronrobotics.bowlerstudio.creature",
"com.neuronrobotics.bowlerstudio.threed" };
"com.neuronrobotics.bowlerstudio.threed","com.neuronrobotics.sdk.util.ThreadUtil",
"eu.mihosoft.vrl.v3d.Transform",
"com.neuronrobotics.bowlerstudio.vitamins.Vitamins" };

private static HashMap<String, File> filesRun = new HashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ public static boolean areAllAxisMapped(String controllerName) {
return true;
}
public static void clearMapping(String controllerName) {
ConfigurationDatabase.getParamMap(controllerName).clear();
ConfigurationDatabase.clear(controllerName);

}
public static String getMappedAxisName(String controllerName, String incomingName) {
Object object = ConfigurationDatabase.getParamMap(controllerName).get(incomingName);
Object object = ConfigurationDatabase.getObject(controllerName,incomingName,incomingName);
if (object == null)
return incomingName;
return (String) object;
Expand All @@ -41,14 +41,7 @@ public static boolean isMapedAxis(String controllerName, String mappedValue) {


public static String getHardwareAxisFromMappedValue(String controllerName, String mappedValue) {
HashMap<String, Object> paramMap = ConfigurationDatabase.getParamMap(controllerName);
for (String key : paramMap.keySet()) {
String string = (String) paramMap.get(key);
if (string.contentEquals(mappedValue)) {
return key;
}
}
return null;
return ConfigurationDatabase.getKeyFromValue(controllerName, mappedValue);
}

public static void map(String name,String controllerVal, String persistantVal) {
Expand All @@ -57,8 +50,7 @@ public static void map(String name,String controllerVal, String persistantVal) {
}

public static Set<String> getMappedAxis(String name) {
// TODO Auto-generated method stub
return ConfigurationDatabase.getParamMap(name).keySet();
return ConfigurationDatabase.keySet(name);
}


Expand Down

0 comments on commit f28bdc2

Please sign in to comment.