From 1efa34bd6269c5bd9399dc2ad871f6a284d06358 Mon Sep 17 00:00:00 2001 From: Peter Hormanns Date: Mon, 8 Dec 2014 19:47:10 +0100 Subject: [PATCH] remove deprecated cli client connector from source tree --- .../cliClientConnector/ArgumentParser.java | 357 ------------- .../cliClientConnector/BusinessException.java | 15 - .../CLIClientConnectorServlet.java | 497 ------------------ .../cliClientConnector/ModuleModel.java | 19 - .../OidsNotFoundException.java | 25 - .../TechnicalException.java | 59 --- .../cliClientConnector/VersionModel.java | 14 - .../core/model/TechnicalException.java | 20 + .../de/hsadmin/core/model/Transaction.java | 1 - .../qserv/QueueStatusReceiverServlet.java | 2 +- .../de/hsadmin/core/util/ReflectionUtil.java | 2 +- .../src/de/hsadmin/remote/AbstractRemote.java | 68 +-- .../src/de/hsadmin/remote/CustomerRemote.java | 200 ------- .../src/de/hsadmin/remote/DomainRemote.java | 36 +- .../hsadmin/remote/GenericAbstractRemote.java | 2 +- 15 files changed, 75 insertions(+), 1242 deletions(-) delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/ArgumentParser.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/BusinessException.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/ModuleModel.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/OidsNotFoundException.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/TechnicalException.java delete mode 100644 hsarback/src/de/hsadmin/cliClientConnector/VersionModel.java create mode 100644 hsarback/src/de/hsadmin/core/model/TechnicalException.java delete mode 100644 hsarback/src/de/hsadmin/remote/CustomerRemote.java diff --git a/hsarback/src/de/hsadmin/cliClientConnector/ArgumentParser.java b/hsarback/src/de/hsadmin/cliClientConnector/ArgumentParser.java deleted file mode 100644 index 1f88492..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/ArgumentParser.java +++ /dev/null @@ -1,357 +0,0 @@ -package de.hsadmin.cliClientConnector; - -import java.lang.reflect.Method; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -import de.hsadmin.cliClientConnector.CLIClientConnectorServlet.FunctionNotKnownException; -import de.hsadmin.cliClientConnector.CLIClientConnectorServlet.UnknownModuleException; -import de.hsadmin.core.model.AbstractEntity; -import de.hsadmin.core.model.ModuleInterface; - -/** - * Parses Arguments for the CLI Client Connector Servlet - * - * @author Christof Donat - * - */ -public class ArgumentParser { - /// I am working for this Servlet instance - private CLIClientConnectorServlet master; - private DateFormat df = new SimpleDateFormat( "yyyy-MM-dd"); - - public ArgumentParser(CLIClientConnectorServlet master) { - this.master = master; - } - - private String getUsageString() { - return " [ (-W name=value|--globalWhere:name=value) ...]\n"+ - " [ (-S name=value|--globalSet:name=value) ...]\n"+ - " [ (-D displayspec|--globalDisplay=displayspec) ...]\n"+ - " [ (-c module.function|--call=module.function)\n" + - " [ (-w name=value|--where:name=value) ...]\n"+ - " [ (-s name=value|--set:name=value) ...]\n"+ - " [ (-d displayspec|--display:displayspec) ...]\n"+ - " [ oids ...] ] ]\n"+ - "\n"+ - "(" + CLIClientConnectorServlet.version + ")\n"; - } - - private ArrayList getMethodList(Object o) { - Method[] meths = o.getClass().getMethods(); - ArrayList methodlist = new ArrayList(); - - for( int i = 0; i < meths.length; i++ ) { - Method m = meths[i]; - String n = m.getName(); - if( n.startsWith("get") && !n.equals("getNew") ) { - String fn = m.getName().substring(3).toLowerCase(); - if( fn.equals("class") ) continue; - if (m.getParameterTypes().length == 0) { - methodlist.add(m); - } - } - } - - return methodlist; - } - - private Hashtable getValues(Object o, ArrayList methodlist, ArrayListfieldNames, boolean deep, ArrayList foundObjects) { - Hashtable row = new Hashtable(); - int i, j; - - if( foundObjects == null ) foundObjects = new ArrayList(); - - for( i = 0; i < methodlist.size(); i++ ) { - Method m = methodlist.get(i); - try { - String name = fieldNames.get(i); - String type = m.getReturnType().getCanonicalName(); - String val = ""; - - Object value = null; - try { - value = m.invoke(o); - } catch( Exception e ) { - e.printStackTrace(); - } - - if( value == null ) - val = ""; - else if( type.equals("java.lang.String") ) - val = (String)value; - else if( type.equals("java.lang.Integer") ) - val = String.valueOf((Integer)value); - else if( type.equals("java.lang.Long") ) - val = String.valueOf((Long)value); - else if( type.equals("java.lang.Boolean") ) - val = String.valueOf((Boolean)value); - else if( type.equals("java.util.Date") ) { - val = df.format((Date)value); - } else if( type.equals("java.util.Set") ) { - val = ""; - } else try { - AbstractEntity v = (AbstractEntity)value; - val = v.createStringKey(); - if( deep && !foundObjects.contains(v) ) { - foundObjects.add(v); - ArrayList fieldNamesDeep = new ArrayList(); - ArrayList methodlistDeep = getMethodList(v); - for( j = 0; j < methodlistDeep.size(); j++ ) { - fieldNamesDeep.add(methodlistDeep.get(j).getName().substring(3).toLowerCase()); - } - Hashtable tmp = getValues(v,methodlistDeep,fieldNamesDeep,deep,foundObjects); - Enumeration keys = tmp.keys(); - while(keys.hasMoreElements()) { - try { - String k = (String)keys.nextElement(); - row.put(name+"."+k, tmp.get(k)); - } catch( Exception e ) { - e.printStackTrace(); - } - } - } - } catch(ClassCastException e) { - val = value.toString(); - } - if (val != null) row.put(name, val); - } catch (Exception e) { - e.printStackTrace(); - } - } - return row; - } - - private String formatObjectsWithoutDisplay(int j, ArrayList fieldNames, ArrayListcolumnWidths, ArrayList > rows) { - int i; - StringBuffer rval = new StringBuffer(); - - for( i = 0; i < fieldNames.size(); i++ ) { - StringBuffer name = new StringBuffer(fieldNames.get(i)); - int fieldwidth = columnWidths.get(i); - while( name.length() < fieldwidth ) - name.append(" "); - rval.append(name.toString()+((i < fieldNames.size()-1)?" | ":"")); - } - rval.append("\n"); - for( i = 0; i < j; i++ ) - rval.append("-"); - rval.append("\n"); - - for( j = 0; j < rows.size(); j++ ) { - for( i = 0; i < fieldNames.size(); i++ ) { - StringBuffer value = new StringBuffer(rows.get(j).get(fieldNames.get(i))); - int fieldwidth = columnWidths.get(i); - while( value.length() < fieldwidth ) - value.append(" "); - rval.append(value.toString()+((i < fieldNames.size()-1)?" | ":"")); - } - rval.append("\n"); - } - return rval.toString(); - } - - private String formatObjectsWithDisplay(ArrayList > rows, String displayDef) { - StringBuffer rval = new StringBuffer(); - for( int j = 0; j < rows.size(); j++) { - String rv = displayDef; - Enumeration fNames = rows.get(j).keys(); - while( fNames.hasMoreElements() ) { - String f = (String)fNames.nextElement(); - rv = rv.replaceAll("\\$\\{"+f+"\\}", rows.get(j).get(f)); - } - rv = rv.replaceAll("\\\\n", "\n"); - rv = rv.replaceAll("\\\\t", "\t"); - rv = rv.replaceAll("\\\\(.)?", "$1"); - rval.append(rv); - } - return rval.toString(); - } - - /** - * format Objects for the output as a Human readable table - * - * @param objects - * format these objects - * - * @return humanReadableString - * a string with the human readable representation of the objects - */ - public String formatObjects(List objects, String displayDef) { - if( objects.size() == 0 ) return ""; - if( objects.get(0) == null ) return ""; - ArrayList methodlist = getMethodList(objects.get(0)); - ArrayListcolumnWidths = new ArrayList(); - ArrayListfieldNames = new ArrayList(); - ArrayList > rows = - new ArrayList >(); - int i, j; - - for( i = 0; i < methodlist.size(); i++ ) { - Method m = methodlist.get(i); - String n = m.getName(); - String fn = n.substring(3).toLowerCase(); - fieldNames.add(fn); - columnWidths.add(n.length()+3); - } - - for( j = 0; j < objects.size(); j++ ) { - Object o = objects.get(j); - Hashtable row = getValues(o,methodlist,fieldNames,(displayDef != null), null); - for( i = 0; i < fieldNames.size(); i++ ) { - String val = row.get(fieldNames.get(i)); - if( val != null && i < columnWidths.size() && val.length()+3 > columnWidths.get(i) ) - columnWidths.set(i, val.length()+3); - } - rows.add(row); - } - - if( displayDef == null ) { - j = 0; - for( i = 0; i < columnWidths.size(); i++ ) { - j += columnWidths.get(i)+2; - } - j -= 2; - - return formatObjectsWithoutDisplay(j, fieldNames, columnWidths, rows); - } else - return formatObjectsWithDisplay(rows, displayDef); - } - - /** - * The main parser function. Parses the Parameters, uses the master to call - * the functions and returns a formatet output. - * - * @param arguments - * @return humanReadableObjectsString - */ - public String parse(List arguments, ModuleInterface module) { - String rval = ""; - - String currentModule = null; - String currentFunction = null; - Map currentWhere = new Hashtable(); - Map currentSet = new Hashtable(); - ArrayList currentOIDs = new ArrayList(); - - Map globalWhere = new Hashtable(); - Map globalSet = new Hashtable(); - String display = null; - String globalDisplay = null; - - for( int i = 0; i < arguments.size(); i++ ) { - String arg = arguments.get(i); - - if( arg.equals("-c") || arg.startsWith("--call:") ) { - // call - if( currentModule != null ) { - try { - // execute the last call now - rval += formatObjects(master.callModule( - currentModule, - currentFunction, - currentWhere, - currentSet, - currentOIDs, - module),(display==null)?globalDisplay:display); - } catch (FunctionNotKnownException e) { - rval += "Function unknown: "+currentModule+'.'+currentFunction+"\n"; - } catch (UnknownModuleException e) { - rval += "Module unknown: "+currentModule+"\n"; - } - } - // reset parameters for next call - currentWhere = new HashMap(); - currentWhere.putAll(globalWhere); - currentSet = new HashMap(); - currentSet.putAll(globalSet); - currentOIDs = new ArrayList(); - display = null; - - // set the new call - boolean isShortParam = arg.equals("-c"); - String calldef = isShortParam?arguments.get(i+1):arg.substring(7); - - if( calldef != null ) { - String[] split = calldef.split("[.]", 2); - currentModule = split[0]; - currentFunction = split[1]; - } - if( isShortParam ) i++; - } else if( arg.equals("-w") || arg.startsWith("--where:") ) { - // where - boolean isShortParam = arg.equals("-w"); - String wheredef = isShortParam?arguments.get(i+1):arg.substring(8); - if( wheredef != null ) { - String[] split = wheredef.split("[=]", 2); - currentWhere.put(split[0],split[1]); - } - if( isShortParam ) i++; - } else if( arg.equals("-W") || arg.startsWith("--globalWhere:") ) { - // global where - boolean isShortParam = arg.equals("-W"); - String gwheredef = isShortParam?arguments.get(i+1):arg.substring(14); - if( gwheredef != null ) { - String[] split = gwheredef.split("[=]", 2); - globalWhere.put(split[0],split[1]); - } - if( isShortParam ) i++; - } else if( arg.equals("-s") || arg.startsWith("--set:") ) { - // set - boolean isShortParam = arg.equals("-s"); - String setdef = isShortParam?arguments.get(i+1):arg.substring(6); - if( setdef != null ) { - String[] split = setdef.split("[=]", 2); - currentSet.put(split[0],split[1]); - } - if( isShortParam ) i++; - } else if( arg.equals("-S") || arg.startsWith("--globalSet:") ) { - // global set - boolean isShortParam = arg.equals("-S"); - String gsetdef = isShortParam?arguments.get(i+1):arg.substring(12); - if( gsetdef != null ) { - String[] split = gsetdef.split("[=]", 2); - globalSet.put(split[0],split[1]); - } - if( isShortParam ) i++; - } else if( arg.equals("-d") || arg.startsWith("--display:") ) { - // display - boolean isShortParam = arg.equals("-d"); - display = isShortParam?arguments.get(i+1):arg.substring(10); - if( isShortParam ) i++; - } else if( arg.equals("-D") || arg.startsWith("--globalDisplay:") ) { - // global display - boolean isShortParam = arg.equals("-D"); - globalDisplay = isShortParam?arguments.get(i+1):arg.substring(16); - if( isShortParam ) i++; - } else if( arg.equals("-h") || arg.equals("--help") ) { - return getUsageString(); - } else if( arg.startsWith("-") ) { - return "unknown option '"+arg+"'\n"+getUsageString(); - } else currentOIDs.add(arg); - } - if( currentModule != null ) { - try { - rval += formatObjects(master.callModule( - currentModule, - currentFunction, - currentWhere, - currentSet, - currentOIDs, - module),(display==null)?globalDisplay:display); - } catch (FunctionNotKnownException e) { - rval += "Function unknown: "+currentModule+'.'+currentFunction+"\n"; - } catch (UnknownModuleException e) { - rval += "Module unknown: "+currentModule+"\n"; - } - } - return rval; - } -} diff --git a/hsarback/src/de/hsadmin/cliClientConnector/BusinessException.java b/hsarback/src/de/hsadmin/cliClientConnector/BusinessException.java deleted file mode 100644 index a89cbf2..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/BusinessException.java +++ /dev/null @@ -1,15 +0,0 @@ -package de.hsadmin.cliClientConnector; - -public class BusinessException extends RuntimeException { - - private static final long serialVersionUID = 1L; - - public BusinessException(String msg) { - super(msg); - } - - public BusinessException(Exception exc) { - super(exc.getMessage()); - } - -} \ No newline at end of file diff --git a/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java b/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java deleted file mode 100644 index 63e475a..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/CLIClientConnectorServlet.java +++ /dev/null @@ -1,497 +0,0 @@ -package de.hsadmin.cliClientConnector; - -import java.io.BufferedReader; -import java.io.IOException; -import java.lang.reflect.Method; -import java.text.DateFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.commons.codec.binary.Base64; - -import de.hsadmin.core.model.AbstractEntity; -import de.hsadmin.core.model.GenericModuleImpl; -import de.hsadmin.core.model.ModuleInterface; -import de.hsadmin.core.model.TicketValidator; -import de.hsadmin.core.model.Transaction; - -/** - * actually this is the core of the CLI-Client. The other CLI-Client is just a - * rather simple HTTP Client that calls this Servlet. - * - * @author Christof Donat - * - */ -public class CLIClientConnectorServlet extends HttpServlet { - - private static final long serialVersionUID = 7150004719303750077L; - public static final String version = "CLI Servlet 2.0.0 (2011/May/21 09:00 MEST)"; - - private Map> componentmap; - private Map componentDescriptions; - private ArgumentParser parser; - - /** - * Servlet initialization - */ - public void init(ServletConfig cfg) { - // init ticket validator - String validateURL = cfg.getInitParameter("proxyValidateUrl"); - String serviceURL = cfg.getInitParameter("proxyServiceUrl"); - TicketValidator.getInstance().initialize(validateURL, serviceURL); - // find components - String cstring = cfg.getInitParameter("Components"); - String[] components = cstring.split(","); - - componentmap = new HashMap>(); - componentDescriptions = new HashMap(); - for (int i = 0; i < components.length; i++) { - // get everything for this component and create an entry. - try { - // component class - String classname = cfg.getInitParameter("ComponentClass_" - + components[i]); - if (classname == null) - throw new NullPointerException( - "no class name found for Component " - + components[i]); - Class cls = Class.forName(classname); - componentmap.put(components[i], cls); - // description - String descr = cfg.getInitParameter("ComponentDescription_" - + components[i]); - if (descr != null) - componentDescriptions.put(components[i], descr); - else - componentDescriptions.put(components[i], ""); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - } - // TODO: get username, password from http session - parser = new ArgumentParser(this); - } - - /** - * set values to a given entity Object - * - * @param o - * the entity Object - * @param set - * Hashtable with names and values that sould be changed in o - */ - private void setValues(Object o, Map set, ModuleInterface module) { - Iterator keys = set.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - String[] ns = key.split("[.]", 2); - Object realO = o; - for (int i = 0; i < ns.length - 1; i++) { - Method[] m = realO.getClass().getMethods(); - boolean oFound = false; - for (int j = 0; j < m.length; j++) { - if (m[j].getName().toLowerCase().equals( - "get" + ns[i].toLowerCase())) { - try { - realO = m[j].invoke(realO, (Object[]) null); - oFound = (realO != null); - break; - } catch (Exception e) { - new TechnicalException(e); - } - } - } - if (!oFound) - break; - } - Method[] m = realO.getClass().getMethods(); - String value = set.get(key); - for (int j = 0; j < m.length; j++) { - if (!m[j].getName().toLowerCase().equals( - "set" + ns[ns.length - 1].toLowerCase())) - continue; - String type = m[j].getParameterTypes()[0].getCanonicalName(); - try { - if (type.equals("java.lang.String")) - m[j].invoke(realO, value); - else if (type.equals("java.lang.Integer") || type.equals("int")) - m[j].invoke(realO, Integer.parseInt(value)); - else if (type.equals("java.lang.Long") || type.equals("long")) - m[j].invoke(realO, Long.parseLong(value)); - else if (type.equals("java.lang.Boolean") || type.equals("boolean")) - m[j].invoke(realO, Boolean.valueOf(value)); - else if (type.equals("java.util.Date")) { - DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMANY); - m[j].invoke(realO, df.parse(value)); - } else { - Method m2 = module.getClass().getMethod( - "findByString", Class.class, String.class); - Object entity = - m2.invoke(module, m[j].getParameterTypes()[0], value); - if (entity != null) - m[j].invoke(realO, entity); - else - throw new BusinessException( - "not object found for '" + value + "'"); - } - } catch (Exception e) { - throw new TechnicalException(e); // TODO: this needs to be - // more specific for - // some cases - } - } - } - } - - private String hasGetter(Class eType, String name) { - String rval = null; - String[] ns = name.split("[.]", 2); - String n1 = ns[0]; - Method meth = null; - - for (Method m : eType.getMethods()) { - String n = m.getName(); - if (n.startsWith("get")) { - String fn = m.getName().substring(3).toLowerCase(); - if (fn != "class" && fn.equals(n1)) { - meth = m; - rval = fn; - break; - } - } - } - if (meth != null) { - Class returnType = meth.getReturnType(); - if (rval != null && ns.length > 1 && meth != null) - return hasGetter(returnType, ns[1]); - if (returnType.getCanonicalName().startsWith("de.hsadmin.mods")) { - try { - if (returnType.getMethod("getName") != null) { - return rval + ".name"; - } - } catch (Exception e) { - // no method found - } - } - } - return rval; - } - - /** - * builds a query from a where clause and some objectIDs. - * - * @param eType - * The class of the Entity Object for which the string should be - * built. We need this to call the static method - * "createQueryFromStringKey" - * @param where - * Hashtable with where parameters. Only objects which match all - * where parameters are found - * @param oids - * Only objects with one of these object IDs are found - * - * @return queryString a query string that can be used to select the - * required Objects - * @throws ServletException - */ - private String buildQuery(Class eType, Map where, - ArrayList oids) throws ServletException { - String rval = ""; - - boolean first = true; - Iterator wkeys = where.keySet().iterator(); - while (wkeys.hasNext()) { - String k = (String) wkeys.next(); - String kname = hasGetter(eType, k); - String kvalue = ( (k.equals("id")) - ? ( AbstractEntity.escapeString(where.get(k)) ) - : ( "'" + AbstractEntity.escapeString(where.get(k)) + "'" ) ); - if (kname != null) { - rval += (first ? "" : " and ") - + "(obj." + AbstractEntity.escapeString(kname) + " = " + kvalue + ")"; - first = false; - } else { - throw new ServletException("illegal input (unknown field: " + k + ")"); - } - } - - String rv = ""; - if (oids != null) - try { - Method m; - m = eType.getMethod("createQueryFromStringKey", String.class); - - first = true; - for (String s : oids) { - rv += (first ? "" : " or ") + "(" - + (String) m.invoke(eType, s) + ")"; - first = false; - } - if (rv != "" && rval != "") - rval = rval + " and (" + rv + ")"; - else if (rv != "") - rval = rv; - } catch (Exception e) { - throw new TechnicalException(e); - } - - return (rval == "") ? null : rval; - } - - public class FunctionNotKnownException extends Exception { - private static final long serialVersionUID = -6330015688609717838L; - } - - public class UnknownModuleException extends Exception { - private static final long serialVersionUID = 696641072107896601L; - } - - private Object callAdd(Class cls, Map set, ModuleInterface module) { - Transaction transaction = module.getTransaction(); - transaction.beginTransaction(); - try { - Method m = module.getClass().getMethod("add", AbstractEntity.class); - Object o = cls.newInstance(); - setValues(o, set, module); - m.invoke(module, o); - transaction.commitTransaction(); - return null; - } catch (Exception e) { - transaction.rollbackTransaction(); - // TODO: this needs to be more specific, but how? - throw new TechnicalException(e); - } - } - - @SuppressWarnings("unchecked") - private List callSearch(Class cls, Map where, - ArrayList oids, ModuleInterface module) { - try { - Method m = module.getClass().getMethod("search", Class.class, - String.class, String.class); - return (List) m.invoke(module, cls, - buildQuery(cls, where, oids), null); - } catch (Exception e) { - throw new TechnicalException(e); // TODO: this needs to be more - // specific, but how? - } - } - - // / checks wheather all 'oids' are in 'list' - private void checkOids(List list, List oids) { - List oidsNotFound = new ArrayList(); - for (String id : oids) { - boolean found = false; - for (AbstractEntity e : list) { - String foundKey = e.createStringKey(); - if (foundKey.equals(id)) { - found = true; - break; - } - } - if (!found) - oidsNotFound.add(id); - } - if (oidsNotFound.size() > 0) { - throw new OidsNotFoundException(oids); - } - } - - @SuppressWarnings("unchecked") - private List callUpdate(Class cls, Map where, - ArrayList oids, Map set, - ModuleInterface module) { - // better safe than sorry - alsd hso same behavior as UNIX rm - if (where.size() == 0 && oids.size() == 0) - throw new BusinessException( - "better safe than sorry - 'update' needs a -w/--where-query or object id"); - Transaction tx = module.getTransaction(); - tx.beginTransaction(); - try { - Method m = module.getClass().getMethod("search", Class.class, - String.class, String.class); - List list = (List) m.invoke(module, cls, - buildQuery(cls, where, oids), null); - checkOids(list, oids); - Method m2 = module.getClass().getMethod("update", AbstractEntity.class); - for (int i = 0; i < list.size(); i++) { - AbstractEntity entity = list.get(i); - tx.detach(entity); - setValues(entity, set, module); - m2.invoke(module, entity); - } - tx.commitTransaction(); - } catch (Exception e) { - tx.rollbackTransaction(); - // TODO: this needs to be more specific, but how? - throw new TechnicalException(e); - } - return null; - } - - @SuppressWarnings("unchecked") - private void callDelete(Class cls, Map where, - ArrayList oids, ModuleInterface module) { - // better safe than sorry - also same behavior as UNIX rm - if (where.size() == 0 && oids.size() == 0) - throw new BusinessException( - "better safe than sorry - 'update' needs a -w/--where-query or object id"); - Transaction tx = module.getTransaction(); - tx.beginTransaction(); - try { - Method m = - module.getClass().getMethod("search", Class.class, String.class, String.class); - List list = - (List) m.invoke(module, cls, buildQuery(cls, where, oids), null); - checkOids(list, oids); - Method m2 = module.getClass().getMethod("delete", AbstractEntity.class); - for (int i = 0; i < list.size(); i++) { - Object o = list.get(i); - m2.invoke(module, o); - } - tx.commitTransaction(); - } catch (Exception e) { - tx.rollbackTransaction(); - // TODO: this needs to be more specific, but how? - throw new TechnicalException(e); - } - } - - /** - * Call one of the EntitySessions methods - * - * @param moduleName - * Defines the Entity class that will be given to the - * EntitySession - * @param function - * Defines the method that will be called. The function can be - * "add", "search", "update" and "delete". - * @param where - * Reduces the set of Entity objects which the function operates - * on to those matched by the where parameters. Only for - * "search", "update" and "delete". Will be ignored otherwise. - * @param set - * Set these values on all Objects - only for "add" and "update". - * Will be ignored otherwise. - * @param oids - * Works on Objects with these IDs. Only for "search", "update" - * and "delete". Will be ignored for "add". - * @return foundObjects - * @throws FunctionNotKnownException - */ - public List callModule(String moduleName, String function, - Map where, Map set, - ArrayList oids, ModuleInterface module) - throws FunctionNotKnownException, UnknownModuleException { - List rval = new ArrayList(); - - // handle calls to the virtual module "modules" - if (moduleName.equals("modules")) { - // only search, no manipulation is possible - if (function.equals("search")) { - Iterator m = componentDescriptions.keySet().iterator(); - while (m.hasNext()) { - String mn = (String) m.next(); - rval.add(new ModuleModel(mn, componentDescriptions.get(mn))); - } - } else if (function.equals("version")) { - rval.add(new VersionModel(version)); - } else { - throw new FunctionNotKnownException(); - } - return rval; - } - - // find the component for the named module - Class cls = componentmap.get(moduleName); - if (cls == null) - throw (new UnknownModuleException()); - - // call the appropriate methods - if (function.equals("add")) - rval.add(callAdd(cls, set, module)); - else if (function.equals("search")) { - List r = callSearch(cls, where, oids, module); - if (r != null) - return r; - } else if (function.equals("update")) { - List r = callUpdate(cls, where, oids, set, module); - if (r != null) - return callUpdate(cls, where, oids, set, module); - } else if (function.equals("delete")) { - callDelete(cls, where, oids, module); - } else - throw (new FunctionNotKnownException()); - return rval; - } - - /** - * handle put method - */ - public void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException { - try { - ModuleInterface module = null; - Transaction tx = null; - // check login - String auth = req.getHeader("authorization"); - if (auth == null) { - // no login information at all - get it - resp.setHeader("WWW-Authenticate", - "Basic realm=\"CLIClientConnector\""); - resp.getOutputStream().println("login Failed."); - resp.sendError(HttpServletResponse.SC_UNAUTHORIZED); - return; - } else { - // parse login information - String[] a = auth.split(" ", 2); - String ticket = a[1]; - byte[] decoded = Base64.decodeBase64(ticket.trim().getBytes()); - String s = new String(decoded); - a = s.split(":", 2); - // try to log in - String login = a[0]; - ticket = a[1]; - try { - tx = new Transaction(login); - if (tx.login(login, ticket)) { - // login successful - module = new GenericModuleImpl(tx); - - // read arguments - BufferedReader read = req.getReader(); - - String tmpbuf; - ArrayList arguments = new ArrayList(); - while ((tmpbuf = read.readLine()) != null) { - arguments.add(tmpbuf); - } - - // actually handle the request and write result to output - String output = parser.parse(arguments, module); - resp.getWriter().write(output); - } else { - resp.addHeader("X-hsadmin-error", "authentication failed"); - } - } catch (Exception e) { - resp.addHeader("X-hsadmin-error", "exception: " + e.getMessage()); - } finally { - if (tx != null) { - tx.close(); - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/hsarback/src/de/hsadmin/cliClientConnector/ModuleModel.java b/hsarback/src/de/hsadmin/cliClientConnector/ModuleModel.java deleted file mode 100644 index b6bfc8b..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/ModuleModel.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.hsadmin.cliClientConnector; - -public class ModuleModel { - private String name; - private String description; - - public ModuleModel(String name, String description) { - this.name = name; - this.description = description; - } - - public String getName() { - return this.name; - } - - public String getDescription() { - return this.description; - } -} diff --git a/hsarback/src/de/hsadmin/cliClientConnector/OidsNotFoundException.java b/hsarback/src/de/hsadmin/cliClientConnector/OidsNotFoundException.java deleted file mode 100644 index e56c87e..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/OidsNotFoundException.java +++ /dev/null @@ -1,25 +0,0 @@ -package de.hsadmin.cliClientConnector; - -import java.util.List; - - -@SuppressWarnings("serial") -public class OidsNotFoundException - extends RuntimeException -{ - static private String oidsAsString(List oids) - { - StringBuilder oidsBuilder = new StringBuilder(); - for ( String id: oids ) - oidsBuilder.append(", " + id); - if ( oidsBuilder.length() > 0 ) - return oidsBuilder.substring(2); - throw new RuntimeException( "an empty list of missing OIDS does not make sense" ); - } - - public OidsNotFoundException(List oids) - { - super("OIDS not found: " + oidsAsString(oids)); - } - -} diff --git a/hsarback/src/de/hsadmin/cliClientConnector/TechnicalException.java b/hsarback/src/de/hsadmin/cliClientConnector/TechnicalException.java deleted file mode 100644 index 19fba68..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/TechnicalException.java +++ /dev/null @@ -1,59 +0,0 @@ -package de.hsadmin.cliClientConnector; - -import java.lang.reflect.InvocationTargetException; -import java.sql.SQLException; - -import javax.naming.NamingException; -import javax.persistence.RollbackException; - -public class TechnicalException extends RuntimeException { - - private static final long serialVersionUID = 1L; - - public TechnicalException(Throwable e) { - super(extractCauseMessage(e)); - } - - public TechnicalException(String errorMsg) { - super(errorMsg); - } - - public TechnicalException(String errorMsg, NamingException e) { - super(errorMsg + "\n" + extractCauseMessage(e)); - } - - private static String extractCauseMessage(Throwable e) { - if (e.getMessage() != null && !(e instanceof RollbackException)) { - return e.getMessage(); - } - else if (e instanceof InvocationTargetException || e instanceof RollbackException) { - String sqlState = null; - Throwable cause = e.getCause(); - Throwable prev = null; - while (cause != null && cause != prev) { - prev = cause; - cause = prev.getCause(); - if ((cause == null || cause == prev) - && prev instanceof SQLException) { - SQLException sqlExc = (SQLException) prev; - sqlState = sqlExc.getSQLState(); - cause = sqlExc.getNextException(); - } - } - if (cause == null) - cause = prev; - if (cause != null) - return composeMessage(sqlState, cause.getMessage()); - if (e instanceof InvocationTargetException) { - return composeMessage(sqlState, ((InvocationTargetException) e).getTargetException().getMessage()); - } - } - return e.getClass() + " without detail message"; - } - - private static String composeMessage(String sqlState, String message) { - if (sqlState != null) return "SQLSTATE[" + sqlState + "] " + message; - return message; - } - -} diff --git a/hsarback/src/de/hsadmin/cliClientConnector/VersionModel.java b/hsarback/src/de/hsadmin/cliClientConnector/VersionModel.java deleted file mode 100644 index ea18f79..0000000 --- a/hsarback/src/de/hsadmin/cliClientConnector/VersionModel.java +++ /dev/null @@ -1,14 +0,0 @@ -package de.hsadmin.cliClientConnector; - -public class VersionModel -{ - private String version; - - public VersionModel( String version) { - this.version = version; - } - - public String getVersion() { - return this.version; - } -} diff --git a/hsarback/src/de/hsadmin/core/model/TechnicalException.java b/hsarback/src/de/hsadmin/core/model/TechnicalException.java new file mode 100644 index 0000000..10ec4fc --- /dev/null +++ b/hsarback/src/de/hsadmin/core/model/TechnicalException.java @@ -0,0 +1,20 @@ +package de.hsadmin.core.model; + + +public class TechnicalException extends RuntimeException { + + private static final long serialVersionUID = 1L; + + public TechnicalException(String message, Throwable e) { + super(message, e); + } + + public TechnicalException(String message) { + super(message); + } + + public TechnicalException(Throwable e) { + super(e); + } + +} diff --git a/hsarback/src/de/hsadmin/core/model/Transaction.java b/hsarback/src/de/hsadmin/core/model/Transaction.java index 8f124b0..75b87f3 100644 --- a/hsarback/src/de/hsadmin/core/model/Transaction.java +++ b/hsarback/src/de/hsadmin/core/model/Transaction.java @@ -17,7 +17,6 @@ import javax.persistence.Query; import org.apache.openjpa.persistence.OpenJPAEntityManager; -import de.hsadmin.cliClientConnector.TechnicalException; import de.hsadmin.core.qserv.QueueClient; import de.hsadmin.core.qserv.QueueTask; import de.hsadmin.core.util.Config; diff --git a/hsarback/src/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java b/hsarback/src/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java index 4918fd0..af52c92 100644 --- a/hsarback/src/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java +++ b/hsarback/src/de/hsadmin/core/qserv/QueueStatusReceiverServlet.java @@ -23,7 +23,7 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import de.hsadmin.cliClientConnector.TechnicalException; +import de.hsadmin.core.model.TechnicalException; import de.hsadmin.core.model.Transaction; import de.hsadmin.core.util.Config; diff --git a/hsarback/src/de/hsadmin/core/util/ReflectionUtil.java b/hsarback/src/de/hsadmin/core/util/ReflectionUtil.java index 4de2fb6..5f86d88 100644 --- a/hsarback/src/de/hsadmin/core/util/ReflectionUtil.java +++ b/hsarback/src/de/hsadmin/core/util/ReflectionUtil.java @@ -8,9 +8,9 @@ import java.util.List; import java.util.Set; import java.util.TreeSet; -import de.hsadmin.cliClientConnector.TechnicalException; import de.hsadmin.core.model.AbstractEntity; import de.hsadmin.core.model.AnnFieldIO; +import de.hsadmin.core.model.TechnicalException; public class ReflectionUtil { diff --git a/hsarback/src/de/hsadmin/remote/AbstractRemote.java b/hsarback/src/de/hsadmin/remote/AbstractRemote.java index 4616288..fd19c68 100644 --- a/hsarback/src/de/hsadmin/remote/AbstractRemote.java +++ b/hsarback/src/de/hsadmin/remote/AbstractRemote.java @@ -34,20 +34,20 @@ public abstract class AbstractRemote implements IRemote { public List> search(String runAsUser, String ticket, Map whereParams) throws HSAdminException { - String user = runAsUser; - Transaction transaction = new Transaction(user); + final String user = runAsUser; + final Transaction transaction = new Transaction(user); try { if (transaction.login(user, ticket)) { - ModuleInterface module = new GenericModuleImpl(transaction); - UnixUser unixUser = transaction.getLoginUser(); - List list = module.search(getEntityClass(), + final ModuleInterface module = new GenericModuleImpl(transaction); + final UnixUser unixUser = transaction.getLoginUser(); + final List list = module.search(getEntityClass(), buildQueryCondition(whereParams), null); if (list == null) { throw new HSAdminException("result list is null, runtime-error?"); } - ArrayList> result = new ArrayList>(); + final ArrayList> result = new ArrayList>(); for (AbstractEntity e : list) { - HashMap entry = new HashMap(); + final HashMap entry = new HashMap(); entity2map(transaction, e, entry); if (e.isReadAllowedFor(unixUser)) { result.add(entry); @@ -68,20 +68,20 @@ public abstract class AbstractRemote implements IRemote { public Map add(String runAsUser, String ticket, Map setParams) throws HSAdminException { - String user = runAsUser; - Transaction transaction = new Transaction(user); + final String user = runAsUser; + final Transaction transaction = new Transaction(user); try { if (transaction.login(user, ticket)) { - ModuleInterface module = new GenericModuleImpl(transaction); - Constructor constructor = + final ModuleInterface module = new GenericModuleImpl(transaction); + final Constructor constructor = getEntityClass().getConstructor(); - AbstractEntity entity = constructor.newInstance(); + final AbstractEntity entity = constructor.newInstance(); module.initialize(entity); map2entity(transaction, setParams, entity); transaction.beginTransaction(); - AbstractEntity insertedEntity = module.add(entity); + final AbstractEntity insertedEntity = module.add(entity); transaction.commitTransaction(); - HashMap entry = new HashMap(); + final HashMap entry = new HashMap(); entity2map(transaction, insertedEntity, entry); return entry; } else { @@ -96,18 +96,18 @@ public abstract class AbstractRemote implements IRemote { public void delete(String runAsUser, String ticket, Map whereParams) throws HSAdminException { - String user = runAsUser; - Transaction transaction = new Transaction(user); + final String user = runAsUser; + final Transaction transaction = new Transaction(user); try { if (transaction.login(user, ticket)) { - ModuleInterface module = new GenericModuleImpl(transaction); - UnixUser unixUser = transaction.getLoginUser(); - String queryCondition = buildQueryCondition(whereParams); + final ModuleInterface module = new GenericModuleImpl(transaction); + final UnixUser unixUser = transaction.getLoginUser(); + final String queryCondition = buildQueryCondition(whereParams); if (queryCondition == null || queryCondition.length() == 0) { throw new HSAdminException( "better safe than sorry: no where parameter found"); } - List list = module.search(getEntityClass(), + final List list = module.search(getEntityClass(), queryCondition, null); transaction.beginTransaction(); for (AbstractEntity e : list) { @@ -133,19 +133,19 @@ public abstract class AbstractRemote implements IRemote { public List> update(String runAsUser, String ticket, Map setParams, Map whereParams) throws HSAdminException { - String user = runAsUser; - Transaction transaction = new Transaction(user); + final String user = runAsUser; + final Transaction transaction = new Transaction(user); try { if (transaction.login(user, ticket)) { - ModuleInterface module = new GenericModuleImpl(transaction); - UnixUser unixUser = transaction.getLoginUser(); - ArrayList> result = new ArrayList>(); - String queryCondition = buildQueryCondition(whereParams); + final ModuleInterface module = new GenericModuleImpl(transaction); + final UnixUser unixUser = transaction.getLoginUser(); + final ArrayList> result = new ArrayList>(); + final String queryCondition = buildQueryCondition(whereParams); if (queryCondition == null || queryCondition.length() == 0) { throw new HSAdminException( "better safe than sorry: no where parameter found"); } - List list = module.search(getEntityClass(), + final List list = module.search(getEntityClass(), queryCondition, getOrderBy()); transaction.beginTransaction(); for (AbstractEntity update : list) { @@ -153,7 +153,7 @@ public abstract class AbstractRemote implements IRemote { transaction.detach(update); map2entity(transaction, setParams, update); update = module.update(update); - HashMap entry = new HashMap(); + final HashMap entry = new HashMap(); entity2map(transaction, update, entry); result.add(entry); } else { @@ -188,7 +188,7 @@ public abstract class AbstractRemote implements IRemote { protected void replaceKey(Map whereParams, String shortKey, String regularKey) { if (whereParams.containsKey(shortKey)) { - String value = whereParams.get(shortKey); + final String value = whereParams.get(shortKey); whereParams.remove(shortKey); whereParams.put(regularKey, value); } @@ -200,18 +200,18 @@ public abstract class AbstractRemote implements IRemote { private String buildQueryCondition(Map whereParams) { regularizeKeys(whereParams); - StringBuffer cond = new StringBuffer(); - Iterator keyIterator = whereParams.keySet().iterator(); + final StringBuffer cond = new StringBuffer(); + final Iterator keyIterator = whereParams.keySet().iterator(); while (keyIterator.hasNext()) { if (cond.length() > 0) { cond.append(" AND "); } - String field = keyIterator.next(); - String value = whereParams.get(field).replaceAll("'", "\'"); + final String field = keyIterator.next(); + final String value = whereParams.get(field).replaceAll("'", "\'"); cond.append("obj."); cond.append(field); cond.append(" = "); - boolean numeric = "id".equals(field); + final boolean numeric = "id".equals(field); if (!numeric) cond.append("'"); cond.append(value); if (!numeric) cond.append("'"); diff --git a/hsarback/src/de/hsadmin/remote/CustomerRemote.java b/hsarback/src/de/hsadmin/remote/CustomerRemote.java deleted file mode 100644 index 7665111..0000000 --- a/hsarback/src/de/hsadmin/remote/CustomerRemote.java +++ /dev/null @@ -1,200 +0,0 @@ -package de.hsadmin.remote; - -import java.util.Date; -import java.util.Map; -import java.util.Set; - -import de.hsadmin.core.model.AbstractEntity; -import de.hsadmin.core.model.Transaction; -import de.hsadmin.core.util.TextUtil; -import de.hsadmin.mods.cust.Contact; -import de.hsadmin.mods.cust.Customer; - -public class CustomerRemote extends AbstractRemote { - - @Override - protected Class getEntityClass() { - return Customer.class; - } - - @Override - protected void entity2map(Transaction tx, AbstractEntity entity, Map resultMap) { - Customer cust = (Customer) entity; - resultMap.put("id", Long.toString(cust.getId())); - resultMap.put("membercode", cust.getName()); - resultMap.put("memberno", Integer.toString(cust.getMemberNo())); - Date memberSince = cust.getMemberSince(); - if (assertNotNull(memberSince)) { - resultMap.put("membersince", TextUtil.format(memberSince)); - } - Date memberUntil = cust.getMemberUntil(); - if (assertNotNull(memberUntil)) { - resultMap.put("memberuntil", TextUtil.format(memberUntil)); - } - resultMap.put("memberrole", cust.getMemberRole()); - Date authorContract = cust.getAuthorContract(); - if (assertNotNull(authorContract)) { - resultMap.put("authorcontract", TextUtil.format(authorContract)); - } - Date nonDiscContract = cust.getNonDiscContract(); - if (assertNotNull(nonDiscContract)) { - resultMap.put("nondisccontract", TextUtil.format(nonDiscContract)); - } - Date sharesUpdated = cust.getSharesUpdated(); - if (assertNotNull(sharesUpdated)) { - resultMap.put("sharesupdated", TextUtil.format(sharesUpdated)); - } - resultMap.put("sharessigned", Integer.toString(cust.getSharesSigned())); - resultMap.put("uidvat", cust.getUidVAT()); - Set contacts = cust.getContacts(); - if (contacts != null && !contacts.isEmpty()) { - Contact c = contacts.iterator().next(); - resultMap.put("contact_salut", c.getSalut()); - resultMap.put("contact_title", c.getTitle()); - resultMap.put("contact_firstname", c.getFirstName()); - resultMap.put("contact_lastname", c.getLastName()); - resultMap.put("contact_firma", c.getFirma()); - resultMap.put("contact_co", c.getCo()); - resultMap.put("contact_street", c.getStreet()); - resultMap.put("contact_zipcode", c.getZipCode()); - resultMap.put("contact_city", c.getCity()); - resultMap.put("contact_country", c.getCountry()); - resultMap.put("contact_phone_private", c.getPhonePrivate()); - resultMap.put("contact_phone_office", c.getPhoneOffice()); - resultMap.put("contact_phone_mobile", c.getPhoneMobile()); - resultMap.put("contact_fax", c.getFax()); - resultMap.put("contact_email", c.getEmail()); - } - } - - @Override - protected void map2entity(Transaction tx, Map setParams, - AbstractEntity entity) { - Customer cust = (Customer) entity; - String idStr = (String) setParams.get("id"); - if (assertNotNull(idStr)) { - cust.setId(Long.parseLong(idStr)); - } - String memberCode = (String) setParams.get("membercode"); - if (assertNotNull(memberCode)) { - cust.setName(memberCode); - } - String password = (String) setParams.get("password"); - if (assertNotNull(password)) { - cust.setPassword(password); - } - String memberNo = (String) setParams.get("memberno"); - if (assertNotNull(memberNo)) { - cust.setMemberNo(Integer.parseInt(memberNo)); - } - String memberSince = (String) setParams.get("membersince"); - if (assertNotNull(memberSince)) { - cust.setMemberSince(TextUtil.parseDate(memberSince)); - } - String memberUntil = (String) setParams.get("memberuntil"); - if (assertNotNull(memberUntil)) { - cust.setMemberUntil(TextUtil.parseDate(memberUntil)); - } - String memberRole = (String) setParams.get("memberrole"); - if (assertNotNull(memberRole)) { - cust.setMemberRole(memberRole); - } - String authorContract = (String) setParams.get("authorcontract"); - if (assertNotNull(authorContract)) { - cust.setAuthorContract(TextUtil.parseDate(authorContract)); - } - String nonDiscContract = (String) setParams.get("nondisccontract"); - if (assertNotNull(nonDiscContract)) { - cust.setNonDiscContract(TextUtil.parseDate(nonDiscContract)); - } - String sharesUpdated = (String) setParams.get("sharesupdated"); - if (assertNotNull(sharesUpdated)) { - cust.setSharesUpdated(TextUtil.parseDate(sharesUpdated)); - } - String sharesSigned = (String) setParams.get("sharessigned"); - if (assertNotNull(sharesSigned)) { - cust.setSharesSigned(Integer.parseInt(sharesSigned)); - } - String uidVat = (String) setParams.get("uidvat"); - if (assertNotNull(uidVat)) { - cust.setUidVAT(uidVat); - } - Set contacts = cust.getContacts(); - Contact c = null; - if (contacts == null || contacts.isEmpty()) { - c = new Contact(cust); - contacts.add(c); - } else { - c = contacts.iterator().next(); - } - String salut = (String) setParams.get("contact_salut"); - if (assertNotNull(salut)) { - c.setSalut(salut); - } - String title = (String) setParams.get("contact_title"); - if (assertNotNull(title)) { - c.setTitle(title); - } - String firstName = (String) setParams.get("contact_firstname"); - if (assertNotNull(firstName)) { - c.setFirstName(firstName); - } - String lastName = (String) setParams.get("contact_lastname"); - if (assertNotNull(lastName)) { - c.setLastName(lastName); - } - String firma = (String) setParams.get("contact_firma"); - if (assertNotNull(firma)) { - c.setFirma(firma); - } - String co = (String) setParams.get("contact_co"); - if (assertNotNull(co)) { - c.setCo(co); - } - String street = (String) setParams.get("contact_street"); - if (assertNotNull(street)) { - c.setStreet(street); - } - String zipCode = (String) setParams.get("contact_zipcode"); - if (assertNotNull(zipCode)) { - c.setZipCode(zipCode); - } - String city = (String) setParams.get("contact_city"); - if (assertNotNull(city)) { - c.setCity(city); - } - String country = (String) setParams.get("contact_country"); - if (assertNotNull(country)) { - c.setCountry(country); - } - String phonePrivate = (String) setParams.get("contact_phone_private"); - if (assertNotNull(phonePrivate)) { - c.setPhonePrivate(phonePrivate); - } - String phoneOffice = (String) setParams.get("contact_phone_office"); - if (assertNotNull(phoneOffice)) { - c.setPhoneOffice(phoneOffice); - } - String phoneMobile = (String) setParams.get("contact_phone_mobile"); - if (assertNotNull(phoneMobile)) { - c.setPhoneMobile(phoneMobile); - } - String fax = (String) setParams.get("contact_fax"); - if (assertNotNull(fax)) { - c.setFax(fax); - } - String eMail = (String) setParams.get("contact_email"); - if (assertNotNull(eMail)) { - c.setEmail(eMail); - } -} - - @Override - protected void regularizeKeys(Map whereParams) { - replaceKey(whereParams, "membercode", "name"); - replaceKey(whereParams, "memberno", "memberNo"); - replaceKey(whereParams, "membersince", "memberSince"); - replaceKey(whereParams, "memberuntil", "memberUntil"); - } - -} diff --git a/hsarback/src/de/hsadmin/remote/DomainRemote.java b/hsarback/src/de/hsadmin/remote/DomainRemote.java index df41150..1b79ace 100644 --- a/hsarback/src/de/hsadmin/remote/DomainRemote.java +++ b/hsarback/src/de/hsadmin/remote/DomainRemote.java @@ -23,25 +23,25 @@ public class DomainRemote extends AbstractRemote { @Override protected void entity2map(Transaction tx, AbstractEntity entity, Map resultMap) { - Domain dom = (Domain) entity; - String id = Long.toString(dom.getId()); + final Domain dom = (Domain) entity; + final String id = Long.toString(dom.getId()); resultMap.put("id", id); - String name = dom.getName(); + final String name = dom.getName(); resultMap.put("name", name); - String user = dom.getUser().getName(); + final String user = dom.getUser().getName(); resultMap.put("user", user); - String hive = dom.getHiveName(); + final String hive = dom.getHiveName(); resultMap.put("hive", hive); - String pac = dom.getUser().getPac().getName(); + final String pac = dom.getUser().getPac().getName(); resultMap.put("pac", pac); - Date sDate = dom.getSince(); + final Date sDate = dom.getSince(); if (assertNotNull(sDate)) { - String since = TextUtil.format(sDate); + final String since = TextUtil.format(sDate); resultMap.put("since", since); } - List domainOptionsList = new ArrayList(); + final List domainOptionsList = new ArrayList(); resultMap.put("domainoptions", domainOptionsList); - Set domainOptions = dom.getDomainoptions(); + final Set domainOptions = dom.getDomainoptions(); if (domainOptions != null) { for (DomainOption opt : domainOptions) { domainOptionsList.add(opt.getName()); @@ -51,23 +51,23 @@ public class DomainRemote extends AbstractRemote { @Override protected void map2entity(Transaction tx, Map setParams, AbstractEntity entity) { - Domain dom = (Domain) entity; - String name = (String) setParams.get("name"); - String user = (String) setParams.get("user"); + final Domain dom = (Domain) entity; + final String name = (String) setParams.get("name"); + final String user = (String) setParams.get("user"); if (assertNotNull(name)) { dom.setName(name); } if (assertNotNull(user)) { - UnixUser u = new UnixUser(); + final UnixUser u = new UnixUser(); u.setName(user); dom.setUser(u); } - Object domOptsObj = setParams.get("domainoptions"); + final Object domOptsObj = setParams.get("domainoptions"); if (domOptsObj != null && domOptsObj instanceof Object[]) { - Set domainOptionsSet = new HashSet(); - Object[] domOptions = (Object[]) domOptsObj; + final Set domainOptionsSet = new HashSet(); + final Object[] domOptions = (Object[]) domOptsObj; for (int i=0; i