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() {