private static ModuleUsers usersModule=null;
private static ModuleMessage messageModule=null;
private static boolean confed=false;
+ public HttpSession session;
public void doGet(HttpServletRequest req, HttpServletResponse res)
confed = getConfig(req);
}
- HttpSession session = req.getSession(true);
-
+ session = req.getSession(true);
+
if (req.getServerPort() == 443) http="https"; else http="http";
res.setContentType("text/html");
String moduleName = req.getParameter("module");
-
if(session.getAttribute("Language")==null){
- setLanguage(req,getAcceptLanguage(req));
+ setLanguage(session,getAcceptLanguage(req));
}
// Authentifizierung
// login successful
//if accept-language!=selected language change language
- if(!getLanguage(req).equals(lang)){
- setLanguage(req,lang);
+ if(!getLanguage(req,session).equals(lang)){
+ setLanguage(session,lang);
}
theLog.printInfo("--login: successful! setting uid: " + userEntity.getId());
session.setAttribute("login.uid", userEntity);
theLog.printDebugInfo("--login: trying to retrieve login.target");
String target = (String)session.getAttribute("login.target");
+
if (target != null) {
theLog.printDebugInfo("Redirect: "+target);
int serverPort = req.getServerPort();
String redirect = "";
+ String redirectString ="";
+
+
if(serverPort==80){
- redirect = "<html><head><meta http-equiv=refresh content=\0421;URL="
- + res.encodeURL(http +"://" + req.getServerName() + target)
- + "\"></head><body>going " + target + "</body></html>";
+ redirect=res.encodeURL(http + "://" + req.getServerName() + target);
+ redirectString = "<html><head><meta http-equiv=refresh content=\"1;URL="
+ + redirect
+ + "\"></head><body>going <a href=\"" + redirect + "\">Mir</a></body></html>";
} else {
- redirect = "<html><head><meta http-equiv=refresh content=\0421;URL="
- + res.encodeURL(http +"://" + req.getServerName() +":"+ serverPort + target)
- + "\"></head><body>going " + target + "</body></html>";
+ redirect=res.encodeURL(http + "://" + req.getServerName() + ":" +req.getServerPort() + target);
+ redirectString = "<html><head><meta http-equiv=refresh content=\"1;URL="
+ + redirect
+ + "\"></head><body>going <a href=\"" + redirect + "\">Mir</a></body></html>";
}
- //res.getWriter().println(redirect);
-
- res.encodeRedirectURL(http + "://" + req.getServerName()
- + ":" +req.getServerPort() + target);
-
+ res.getWriter().println(redirectString);
+
+
+ //res.sendRedirect(redirect);
+
} else {
- theLog.printDebugInfo("testurl: "+res.encodeURL(""));
- theLog.printDebugInfo("querystring: "+req.getQueryString());
// redirecting to default target
- //theLog.printDebugInfo("--login: no target - redirecting to default");
- _sendStartPage(res,req, res.getWriter(),userEntity);
+ theLog.printDebugInfo("--login: no target - redirecting to default");
+ _sendStartPage(res,req,res.getWriter(),userEntity);
}
return;
} // if login succesful
// Bei blossem Serveltaufruf redirect auf Standardstarttemplate
if (moduleName == null || moduleName.equals("")) {
+ theLog.printDebugInfo("no module: redirect to standardpage");
_sendStartPage(res,req, res.getWriter(),userEntity);
return;
}
// Redirect-methods
private void _sendLoginPage(HttpServletResponse res,HttpServletRequest req, PrintWriter out) {
String loginTemplate = "login.template";
+ String sessionUrl=res.encodeURL("");
+ //session = req.getSession(true);
try {
theLog.printDebugInfo("login: "+lang);
if(lang==null){
lang=getAcceptLanguage(req);
}
- HTMLTemplateProcessor.process(res,lang+"/"+loginTemplate, new SimpleHash(), out);
+ SimpleHash mergeData = new SimpleHash();
+ mergeData.put("session",sessionUrl);
+ HTMLTemplateProcessor.process(res,lang+"/"+loginTemplate, mergeData, out);
} catch(HTMLParseException e) {
handleError(res, out, "fehler in logintemplate.");
}
private void _sendStartPage(HttpServletResponse res, HttpServletRequest req,PrintWriter out, EntityUsers userEntity) {
String startTemplate = "start_admin.template";
- String sessionUrl=res.encodeURL("");
- theLog.printDebugInfo("testurl: "+sessionUrl);
+ String sessionUrl=res.encodeURL("");
try {
// merge with logged in user and messages
SimpleHash mergeData = new SimpleHash();
- mergeData.put("session",sessionUrl);
+ mergeData.put("session",sessionUrl);
mergeData.put("login_user", HTMLTemplateProcessor.makeSimpleHash(userEntity));
if (messageModule == null) messageModule = new ModuleMessage(DatabaseMessages.getInstance());
mergeData.put("messages", HTMLTemplateProcessor.makeSimpleList(messageModule.getByWhereClause(null, "webdb_create desc",0,10)));
- HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+startTemplate, mergeData,out);
+ HTMLTemplateProcessor.process(res,getLanguage(req,session)+"/"+startTemplate, mergeData,out);
}
catch(Exception e) {
handleError( res,out, "error while trying to send startpage. " + e.toString());
public final class HTMLTemplateProcessor {
public static String templateDir;
- private static FileTemplateCache templateCache;
- private static Logfile theLog;
- private static String docRoot;
- private static String actionRoot;
- private static String productionHost;
- private static String audioHost;
- private static String videoHost;
- private static String imageHost;
- private static String openAction;
+ private static FileTemplateCache templateCache;
+ private static Logfile theLog;
+ private static String docRoot;
+ private static String actionRoot;
+ private static String productionHost;
+ private static String audioHost;
+ private static String videoHost;
+ private static String imageHost;
+ private static String openAction;
protected static String producerDocRoot = Configuration.getProperty("Producer.DocRoot");
- protected static String producerStorageRoot = Configuration.getProperty("Producer.StorageRoot");
+ protected static String producerStorageRoot = Configuration.getProperty("Producer.StorageRoot");
- //
- // Initialisierung
+ //
+ // Initialisierung
- static {
+ static {
templateDir = Configuration.getProperty("Home") + Configuration.getProperty("HTMLTemplateProcessor.Dir");
- templateCache = new FileTemplateCache(templateDir);
- templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND);
- //templateCache.startAutoUpdate();
- theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("HTMLTemplateProcessor.Logfile"));
- docRoot = Configuration.getProperty("HTMLTemplateProcessor.DocRoot");
- actionRoot = Configuration.getProperty("HTMLTemplateProcessor.ActionRoot");
- openAction = Configuration.getProperty("Producer.OpenAction");
- productionHost = Configuration.getProperty("Producer.ProductionHost");
- videoHost = Configuration.getProperty("Producer.VideoHost");
- audioHost = Configuration.getProperty("Producer.AudioHost");
- imageHost = Configuration.getProperty("Producer.Image.Host");
+ templateCache = new FileTemplateCache(templateDir);
+ templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND);
+ //templateCache.startAutoUpdate();
+ theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("HTMLTemplateProcessor.Logfile"));
+ docRoot = Configuration.getProperty("HTMLTemplateProcessor.DocRoot");
+ actionRoot = Configuration.getProperty("HTMLTemplateProcessor.ActionRoot");
+ openAction = Configuration.getProperty("Producer.OpenAction");
+ productionHost = Configuration.getProperty("Producer.ProductionHost");
+ videoHost = Configuration.getProperty("Producer.VideoHost");
+ audioHost = Configuration.getProperty("Producer.AudioHost");
+ imageHost = Configuration.getProperty("Producer.Image.Host");
producerDocRoot = Configuration.getProperty("Producer.DocRoot");
producerStorageRoot = Configuration.getProperty("Producer.StorageRoot");
- }
+ }
+
+ /**
+ * Privater Konstruktor, um versehentliche Instantiierung zu verhindern
+ */
+ private HTMLTemplateProcessor () {
+ }
+
+
+ //
+ // process-Methoden zum Mischen verschiedener Datenstrukturen mit HTML-Templates
+
+
+ /**
+ * Wandelt <code>anEntity</code> in freemarker-Struktur um, mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param anEntity
+ * @param out
+ * @exception HTMLParseException
+ */
+
+ public static void process(String templateFilename, Entity anEntity, PrintWriter out)
+ throws HTMLParseException {
+ if (anEntity == null) throw new HTMLParseException("Entity leer!");
+ else process(templateFilename, anEntity, out);
+ }
+
+
+ /**
+ * Wandelt Liste mit Entities <code>entList</code> in freemarker-Struktur um, mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param entList
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, EntityList entList, PrintWriter out)
+ throws HTMLParseException {
+ process(res, templateFilename, entList, (String)null, (TemplateModelRoot)null, out);
+ }
+
+ /**
+ * Wandelt Entitylist in freemarker-Struktur um, fügt <code>additionalModel</code>
+ * unter dem Namen <code>additionalModelName</code> ein und mischt die Daten mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param entList
+ * @param additionalModelName
+ * @param additionalModel
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, EntityList entList, String additionalModelName,
+ TemplateModelRoot additionalModel, PrintWriter out)
+ throws HTMLParseException {
+
+ SimpleHash modelRoot = new SimpleHash();
+
+ if (entList == null) {
+ //theLog.printInfo("Keine Daten! Suche erfolglos.");
+ process(null,templateFilename, modelRoot, out);
+ } else {
+ try {
+ modelRoot = makeSimpleHashWithEntitylistInfos(entList);
+ //
+ // Hilfskruecke um mal ein Popup mit reinzunhemen ..
+ if (additionalModelName != null && additionalModel != null)
+ modelRoot.put(additionalModelName, additionalModel);
+
+ process(res,templateFilename, modelRoot, out);
+ } catch (StorageObjectException e) {
+ throw new HTMLParseException(e.toString());
+ }
+ }
+ }
+
+ /**
+ * Wandelt HashMap <code>mergeData</code> in freemarker-Struktur und mischt diese mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, HashMap mergeData, PrintWriter out)
+ throws HTMLParseException {
+ process(res,templateFilename, makeSimpleHash(mergeData), out);
+ }
+
+ /**
+ * Gibt Template <code>templateFilename</code> an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(String templateFilename, PrintWriter out)
+ throws HTMLParseException {
+ process(null,templateFilename, (TemplateModelRoot)null, out);
+ }
+
/**
- * Privater Konstruktor, um versehentliche Instantiierung zu verhindern
- */
- private HTMLTemplateProcessor () {
- }
-
-
- //
- // process-Methoden zum Mischen verschiedener Datenstrukturen mit HTML-Templates
-
-
- /**
- * Wandelt <code>anEntity</code> in freemarker-Struktur um, mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param anEntity
- * @param out
- * @exception HTMLParseException
- */
-
- public static void process(String templateFilename, Entity anEntity, PrintWriter out)
- throws HTMLParseException {
- if (anEntity == null) throw new HTMLParseException("Entity leer!");
- else process(templateFilename, anEntity, out);
- }
-
-
- /**
- * Wandelt Liste mit Entities <code>entList</code> in freemarker-Struktur um, mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param entList
- * @param out
- * @exception HTMLParseException
- */
- public static void process(HttpServletResponse res,String templateFilename, EntityList entList, PrintWriter out)
- throws HTMLParseException {
- process(res, templateFilename, entList, (String)null, (TemplateModelRoot)null, out);
- }
-
- /**
- * Wandelt Entitylist in freemarker-Struktur um, fügt <code>additionalModel</code>
- * unter dem Namen <code>additionalModelName</code> ein und mischt die Daten mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param entList
- * @param additionalModelName
- * @param additionalModel
- * @param out
- * @exception HTMLParseException
- */
- public static void process(HttpServletResponse res,String templateFilename, EntityList entList, String additionalModelName,
- TemplateModelRoot additionalModel, PrintWriter out)
- throws HTMLParseException {
-
- SimpleHash modelRoot = new SimpleHash();
-
- if (entList == null) {
- //theLog.printInfo("Keine Daten! Suche erfolglos.");
- process(null,templateFilename, modelRoot, out);
- } else {
- try {
- modelRoot = makeSimpleHashWithEntitylistInfos(entList);
- //
- // Hilfskruecke um mal ein Popup mit reinzunhemen ..
- if (additionalModelName != null && additionalModel != null)
- modelRoot.put(additionalModelName, additionalModel);
-
- process(res,templateFilename, modelRoot, out);
- } catch (StorageObjectException e) {
- throw new HTMLParseException(e.toString());
- }
- }
- }
-
- /**
- * Wandelt HashMap <code>mergeData</code> in freemarker-Struktur und mischt diese mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(HttpServletResponse res,String templateFilename, HashMap mergeData, PrintWriter out)
- throws HTMLParseException {
- process(res,templateFilename, makeSimpleHash(mergeData), out);
- }
-
- /**
- * Gibt Template <code>templateFilename</code> an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(String templateFilename, PrintWriter out)
- throws HTMLParseException {
- process(null,templateFilename, (TemplateModelRoot)null, out);
- }
-
-
- /**
- * Mischt die freemarker-Struktur <code>tmr</code> mit
- * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
- * <code>out</code>
- *
- * @param templateFilename
- * @param mergeData
- * @param out
- * @exception HTMLParseException
- */
- public static void process(HttpServletResponse res,String templateFilename, TemplateModelRoot tmr, PrintWriter out)
- throws HTMLParseException {
- if (out==null) throw new HTMLParseException("KEIN OUTPUTSTREAM");
- Template tmpl = getTemplateFor(templateFilename);
- if (tmpl == null) throw new HTMLParseException("KEIN TEMPLATE: " + templateFilename);
- if (tmr==null) tmr = new SimpleHash();
- String session=null;
- if (res!=null) {
- session=res.encodeURL("");
- }
+ * Mischt die freemarker-Struktur <code>tmr</code> mit
+ * Template <code>templateFilename</code> und gibt das Ergebnis an den PrintWriter
+ * <code>out</code>
+ *
+ * @param templateFilename
+ * @param mergeData
+ * @param out
+ * @exception HTMLParseException
+ */
+ public static void process(HttpServletResponse res,String templateFilename, TemplateModelRoot tmr, PrintWriter out)
+ throws HTMLParseException {
+ if (out==null) throw new HTMLParseException("KEIN OUTPUTSTREAM");
+ Template tmpl = getTemplateFor(templateFilename);
+ if (tmpl == null) throw new HTMLParseException("KEIN TEMPLATE: " + templateFilename);
+ if (tmr==null) tmr = new SimpleHash();
+
+ String session=null;
+ if (res!=null) {
+ session=res.encodeURL("");
+ }
// put standard configuration into tempalteRootmodel
- SimpleHash configHash = new SimpleHash();
- configHash.put("docroot", new SimpleScalar(producerDocRoot));
- configHash.put("storageroot", new SimpleScalar(producerStorageRoot));
- configHash.put("productionhost", new SimpleScalar(productionHost));
- configHash.put("openaction", new SimpleScalar(openAction));
+ SimpleHash configHash = new SimpleHash();
+ configHash.put("docroot", new SimpleScalar(producerDocRoot));
+ configHash.put("storageroot", new SimpleScalar(producerStorageRoot));
+ configHash.put("productionhost", new SimpleScalar(productionHost));
+ configHash.put("openaction", new SimpleScalar(openAction));
+ configHash.put("actionRootLogin",new SimpleScalar(actionRoot));
tmr.put("docRoot", new SimpleScalar(docRoot));
- tmr.put("now", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar())));
- tmr.put("actionRoot", new SimpleScalar(actionRoot+session));
- tmr.put("openAction", new SimpleScalar(openAction));
- tmr.put("productionHost", new SimpleScalar(productionHost));
- tmr.put("videoHost", new SimpleScalar(videoHost));
- tmr.put("audioHost", new SimpleScalar(audioHost));
- tmr.put("imageHost", new SimpleScalar(imageHost));
+ tmr.put("now", new SimpleScalar(StringUtil.date2readableDateTime(new GregorianCalendar())));
+ tmr.put("actionRoot", new SimpleScalar(actionRoot+session));
+ tmr.put("openAction", new SimpleScalar(openAction));
+ tmr.put("productionHost", new SimpleScalar(productionHost));
+ tmr.put("videoHost", new SimpleScalar(videoHost));
+ tmr.put("audioHost", new SimpleScalar(audioHost));
+ tmr.put("imageHost", new SimpleScalar(imageHost));
tmr.put("config", configHash);
- tmpl.process(tmr, out);
+ tmpl.process(tmr, out);
+
+ }
+
+
+ /**
+ * Wandelt eine Entity-Liste in eine SimpleList von SimpleHashes um.
+ * @param aList ist eine Liste von Entity
+ * @return eine freemarker.template.SimpleList von SimpleHashes.
+ */
+ public static SimpleList makeSimpleList(EntityList aList) throws StorageObjectException
+ {
+ SimpleList simpleList = new SimpleList();
+ if (aList != null) {
+ for(int i=0;i<aList.size();i++){
+ simpleList.add(makeSimpleHash(aList.elementAt(i)));
+ }
+ }
+ return simpleList;
+ }
+
+ /**
+ * Konvertiert ein EntityList in ein freemarker.template.SimpleHash-Modell. Im Hash
+ * sind die einzelnen Entities ueber ihre id zu erreichen.
+ * @param aList ist die EntityList
+ * @return SimpleHash mit den entsprechenden freemarker Daten
+ *
+ */
+ public static SimpleHash makeSimpleHash(EntityList aList) throws StorageObjectException
+ {
+ SimpleHash simpleHash = new SimpleHash();
+ Entity currentEntity;
+
+ if (aList != null) {
+ for (int i=0;i<aList.size();i++) {
+ currentEntity = (Entity)aList.elementAt(i);
+ simpleHash.put(currentEntity.getId(), makeSimpleHash(currentEntity));
+ }
+ }
+ return simpleHash;
+ }
+
+ /**
+ * Konvertiert ein Entity in ein freemarker.template.SimpleHash-Modell
+ * @param entity ist die Entity
+ * @return SimpleHash mit den entsprechenden freemarker Daten
+ *
+ */
+ public static SimpleHash makeSimpleHash(Entity entity) {
+ if (entity != null) {
+ return makeSimpleHash(entity.getValues());
+ }
+ else {
+ //theLog.printWarning("Entity ist <null>");
+ return null;
+ }
+ }
+
+ /**
+ * Konvertiert ein Hashtable mit den keys und values als String
+ * in ein freemarker.template.SimpleHash-Modell
+ * @param mergeData der HashMap mit den String / String Daten
+ * @return SimpleHash mit den entsprechenden freemarker Daten
+ *
+ */
+ public static SimpleHash makeSimpleHash(HashMap mergeData)
+ {
+ SimpleHash modelRoot = new SimpleHash();
+ String aField;
+ if (mergeData != null) {
+ Set set = mergeData.keySet();
+ Iterator it = set.iterator();
+ for (int i=0; i<set.size();i++) {
+ aField = (String)it.next();
+ modelRoot.put(aField, (String)mergeData.get(aField));
+ }
+ }
+ return modelRoot;
+ }
- }
+ /**
+ * Wandelt EntityListe in SimpleHash um, und versieht die Liste mit StandardInfos,
+ * die aus EntityList kommen.
+ *
+ * @param entList
+ * @return SimpleHash mit Entity-Daten und ZusatzInfos.
+ * @exception StorageObjectException
+ */
+ public static SimpleHash makeSimpleHashWithEntitylistInfos(EntityList entList) throws StorageObjectException {
+ SimpleHash modelRoot = new SimpleHash();
+ if (entList!=null) {
+ modelRoot.put("contentlist", makeSimpleList(entList));
+ modelRoot.put("count", new SimpleScalar((new Integer(entList.getCount())).toString()));
+ if (entList.getWhere()!=null) {
+ modelRoot.put("where", new SimpleScalar(entList.getWhere()));
+ modelRoot.put("where_encoded", new SimpleScalar(URLEncoder.encode(entList.getWhere())));
+ }
+
+ if(entList.getOrder()!=null) {
+ modelRoot.put("order", new SimpleScalar(entList.getOrder()));
+ modelRoot.put("order_encoded", new SimpleScalar(URLEncoder.encode(entList.getOrder())));
+ }
+ modelRoot.put("from", new SimpleScalar((new Integer(entList.getFrom())).toString()));
+ modelRoot.put("to", new SimpleScalar((new Integer(entList.getTo())).toString()));
+
+ if (entList.hasNextBatch())
+ modelRoot.put("next", new SimpleScalar((new Integer(entList.getNextBatch())).toString()));
+ if (entList.hasPrevBatch())
+ modelRoot.put("prev", new SimpleScalar((new Integer(entList.getPrevBatch())).toString()));
+ }
+ return modelRoot;
+ }
/**
- * Wandelt eine Entity-Liste in eine SimpleList von SimpleHashes um.
- * @param aList ist eine Liste von Entity
- * @return eine freemarker.template.SimpleList von SimpleHashes.
- */
- public static SimpleList makeSimpleList(EntityList aList) throws StorageObjectException
- {
- SimpleList simpleList = new SimpleList();
- if (aList != null) {
- for(int i=0;i<aList.size();i++){
- simpleList.add(makeSimpleHash(aList.elementAt(i)));
- }
- }
- return simpleList;
- }
-
- /**
- * Konvertiert ein EntityList in ein freemarker.template.SimpleHash-Modell. Im Hash
- * sind die einzelnen Entities ueber ihre id zu erreichen.
- * @param aList ist die EntityList
- * @return SimpleHash mit den entsprechenden freemarker Daten
- *
- */
- public static SimpleHash makeSimpleHash(EntityList aList) throws StorageObjectException
- {
- SimpleHash simpleHash = new SimpleHash();
- Entity currentEntity;
-
- if (aList != null) {
- for (int i=0;i<aList.size();i++) {
- currentEntity = (Entity)aList.elementAt(i);
- simpleHash.put(currentEntity.getId(), makeSimpleHash(currentEntity));
- }
- }
- return simpleHash;
- }
-
- /**
- * Konvertiert ein Entity in ein freemarker.template.SimpleHash-Modell
- * @param entity ist die Entity
- * @return SimpleHash mit den entsprechenden freemarker Daten
- *
- */
- public static SimpleHash makeSimpleHash(Entity entity) {
- if (entity != null) {
- return makeSimpleHash(entity.getValues());
- }
- else {
- //theLog.printWarning("Entity ist <null>");
- return null;
- }
- }
-
- /**
- * Konvertiert ein Hashtable mit den keys und values als String
- * in ein freemarker.template.SimpleHash-Modell
- * @param mergeData der HashMap mit den String / String Daten
- * @return SimpleHash mit den entsprechenden freemarker Daten
- *
- */
- public static SimpleHash makeSimpleHash(HashMap mergeData)
- {
- SimpleHash modelRoot = new SimpleHash();
- String aField;
- if (mergeData != null) {
- Set set = mergeData.keySet();
- Iterator it = set.iterator();
- for (int i=0; i<set.size();i++) {
- aField = (String)it.next();
- modelRoot.put(aField, (String)mergeData.get(aField));
- }
- }
- return modelRoot;
- }
-
-
- /**
- * Wandelt EntityListe in SimpleHash um, und versieht die Liste mit StandardInfos,
- * die aus EntityList kommen.
- *
- * @param entList
- * @return SimpleHash mit Entity-Daten und ZusatzInfos.
- * @exception StorageObjectException
- */
- public static SimpleHash makeSimpleHashWithEntitylistInfos(EntityList entList) throws StorageObjectException {
- SimpleHash modelRoot = new SimpleHash();
- if (entList!=null) {
- modelRoot.put("contentlist", makeSimpleList(entList));
- modelRoot.put("count", new SimpleScalar((new Integer(entList.getCount())).toString()));
- if (entList.getWhere()!=null) {
- modelRoot.put("where", new SimpleScalar(entList.getWhere()));
- modelRoot.put("where_encoded", new SimpleScalar(URLEncoder.encode(entList.getWhere())));
- }
-
- if(entList.getOrder()!=null) {
- modelRoot.put("order", new SimpleScalar(entList.getOrder()));
- modelRoot.put("order_encoded", new SimpleScalar(URLEncoder.encode(entList.getOrder())));
- }
- modelRoot.put("from", new SimpleScalar((new Integer(entList.getFrom())).toString()));
- modelRoot.put("to", new SimpleScalar((new Integer(entList.getTo())).toString()));
-
- if (entList.hasNextBatch())
- modelRoot.put("next", new SimpleScalar((new Integer(entList.getNextBatch())).toString()));
- if (entList.hasPrevBatch())
- modelRoot.put("prev", new SimpleScalar((new Integer(entList.getPrevBatch())).toString()));
- }
- return modelRoot;
- }
-
- /**
- * Private Methode, um für templateFilename das Template zu bekommen.
- * @param templateFilename
- * @return Template
- * @exception HTMLParseException
- */
- private static Template getTemplateFor(String templateFilename) throws HTMLParseException
- {
- if (templateFilename!=null) return templateCache.getTemplate(templateFilename);
- else {
- theLog.printError("CACHE (ERR): Unknown template: " + templateFilename);
- throw new HTMLParseException("Templatedatei: "+ templateFilename + " nicht gefunden!");
- }
- }
+ * Private Methode, um für templateFilename das Template zu bekommen.
+ * @param templateFilename
+ * @return Template
+ * @exception HTMLParseException
+ */
+ private static Template getTemplateFor(String templateFilename) throws HTMLParseException
+ {
+ if (templateFilename!=null) return templateCache.getTemplate(templateFilename);
+ else {
+ theLog.printError("CACHE (ERR): Unknown template: " + templateFilename);
+ throw new HTMLParseException("Templatedatei: "+ templateFilename + " nicht gefunden!");
+ }
+ }
public static void stopAutoUpdate(){