You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/07/05 08:13:37 UTC
svn commit: r1689218 - in /openmeetings:
branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
Author: solomax
Date: Sun Jul 5 06:13:36 2015
New Revision: 1689218
URL: http://svn.apache.org/r1689218
Log:
LabelDao is modified to better work from REST/SOAP services
Modified:
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1689218&r1=1689217&r2=1689218&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/label/LabelDao.java Sun Jul 5 06:13:36 2015
@@ -46,7 +46,15 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.XmlExport;
import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ThreadContext;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
+import org.apache.wicket.mock.MockWebResponse;
+import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
+import org.apache.wicket.protocol.http.mock.MockHttpSession;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.cycle.RequestCycleContext;
import org.apache.wicket.util.string.Strings;
import org.dom4j.Document;
import org.dom4j.Element;
@@ -108,6 +116,23 @@ public class LabelDao implements IDataPr
}
public String getString(long fieldValuesId, long langId) {
+ Application a = null;
+ if (Application.exists()) {
+ a = Application.get();
+ } else {
+ a = (Application)Application.get(Application.getAppName());
+ ThreadContext.setApplication(a);
+ }
+ if (ThreadContext.getRequestCycle() == null) {
+ ServletWebRequest req = new ServletWebRequest(new MockHttpServletRequest((Application)a, new MockHttpSession(a.getServletContext()), a.getServletContext()), "");
+ RequestCycleContext rctx = new RequestCycleContext(req, new MockWebResponse(), a.getRootRequestMapper(), a.getExceptionMapperProvider().get());
+ ThreadContext.setRequestCycle(new RequestCycle(rctx));
+ }
+ if (ThreadContext.getSession() == null) {
+ WebSession s = WebSession.get();
+ s.setLanguage(langId);
+ ThreadContext.setSession(s);
+ }
return Application.getString(fieldValuesId, langId);
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1689218&r1=1689217&r2=1689218&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java Sun Jul 5 06:13:36 2015
@@ -43,12 +43,21 @@ import javax.xml.parsers.SAXParserFactor
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.apache.openmeetings.IApplication;
+import org.apache.openmeetings.IWebSession;
import org.apache.openmeetings.db.dao.IDataProviderDao;
import org.apache.openmeetings.db.entity.label.StringLabel;
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.XmlExport;
import org.apache.wicket.Application;
+import org.apache.wicket.ThreadContext;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
+import org.apache.wicket.mock.MockWebResponse;
+import org.apache.wicket.protocol.http.WebSession;
+import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
+import org.apache.wicket.protocol.http.mock.MockHttpSession;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.cycle.RequestCycleContext;
import org.apache.wicket.util.string.Strings;
import org.dom4j.Document;
import org.dom4j.Element;
@@ -110,12 +119,30 @@ public class LabelDao implements IDataPr
return result;
}
- public static IApplication getApp() {
- return (IApplication)Application.get(wicketApplicationName);
+ public static IApplication getApp(long langId) {
+ IApplication a = null;
+ if (Application.exists()) {
+ a = (IApplication)Application.get();
+ } else {
+ Application app = Application.get(wicketApplicationName);
+ ThreadContext.setApplication(app);
+ a = (IApplication)Application.get(wicketApplicationName);
+ }
+ if (ThreadContext.getRequestCycle() == null) {
+ ServletWebRequest req = new ServletWebRequest(new MockHttpServletRequest((Application)a, new MockHttpSession(a.getServletContext()), a.getServletContext()), "");
+ RequestCycleContext rctx = new RequestCycleContext(req, new MockWebResponse(), a.getRootRequestMapper(), a.getExceptionMapperProvider().get());
+ ThreadContext.setRequestCycle(new RequestCycle(rctx));
+ }
+ if (ThreadContext.getSession() == null) {
+ WebSession s = WebSession.get();
+ ((IWebSession)s).setLanguage(langId);
+ ThreadContext.setSession(s);
+ }
+ return a;
}
public String getString(long fieldValuesId, long langId) {
- return getApp().getOmString(fieldValuesId, langId);
+ return getApp(langId).getOmString(fieldValuesId, langId);
}
private static File getLangFile() {