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 2013/08/13 13:14:00 UTC
svn commit: r1513441 - in /openmeetings/trunk/singlewebapp: WebContent/
WebContent/WEB-INF/ WebContent/src/base/components/upload/
src/org/apache/openmeetings/remote/red5/ src/org/apache/openmeetings/utils/
Author: solomax
Date: Tue Aug 13 11:14:00 2013
New Revision: 1513441
URL: http://svn.apache.org/r1513441
Log:
[OPENMEETINGS-750] backup import works as expected (tested on 1.9.1 backup file)
Modified:
openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
openmeetings/trunk/singlewebapp/WebContent/project.xsd
openmeetings/trunk/singlewebapp/WebContent/src/base/components/upload/library.lzx
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/BackupImport.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/TimezoneUtil.java
Modified: openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml (original)
+++ openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml Tue Aug 13 11:14:00 2013
@@ -296,6 +296,8 @@
<bean id="ldapLoginManagement" class="org.apache.openmeetings.ldap.LdapLoginManagement" />
<bean id="timezoneUtil" class="org.apache.openmeetings.utils.TimezoneUtil" />
<bean id="whiteboardManagement" class="org.apache.openmeetings.data.whiteboard.WhiteboardManager" />
+ <bean id="backupExport" class="org.apache.openmeetings.utils.BackupExport" />
+ <bean id="backupImport" class="org.apache.openmeetings.utils.BackupImport" />
<!-- Templates -->
<bean id="registerUserTemplate" class="org.apache.openmeetings.templates.RegisterUserTemplate" />
@@ -319,6 +321,4 @@
<bean id="calendarWebService" class="org.apache.openmeetings.axis.services.CalendarWebService" />
<bean id="jabberWebService" class="org.apache.openmeetings.axis.services.JabberWebService" />
<bean id="serverWebService" class="org.apache.openmeetings.axis.services.ServerWebService" />
- <!-- Servlet Facade Beans -->
- <bean id="backupExport" class="org.apache.openmeetings.utils.BackupExport" />
</beans>
Modified: openmeetings/trunk/singlewebapp/WebContent/project.xsd
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/project.xsd?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/project.xsd (original)
+++ openmeetings/trunk/singlewebapp/WebContent/project.xsd Tue Aug 13 11:14:00 2013
@@ -3122,22 +3122,6 @@ This is used in the conference.
</xs:extension>
</xs:complexContent>
</xs:complexType>
-<xs:element name="importWindow" type="project:importWindow" >
-</xs:element>
- <xs:complexType name="importWindow" mixed="true">
- <xs:complexContent>
- <xs:extension base="project:labelExplorerBox">
- <xs:attribute name="winobj" type="xs:string" default="null" >
-</xs:attribute>
- <xs:attribute name="uploadmodule" type="xs:string" default="users" >
-</xs:attribute>
- <xs:attribute name="sessionid" type="xs:string" default="" >
-</xs:attribute>
- <xs:attribute name="secondid" type="lzx:number" default="0" >
-</xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
<xs:element name="recordValueList" type="project:recordValueList" >
</xs:element>
<xs:complexType name="recordValueList" mixed="true">
@@ -7551,22 +7535,6 @@ This is used in the conference.
</xs:extension>
</xs:complexContent>
</xs:complexType>
-<xs:element name="backupImportWindow" type="project:backupImportWindow" >
-</xs:element>
- <xs:complexType name="backupImportWindow" mixed="true">
- <xs:complexContent>
- <xs:extension base="project:labelExplorerBox">
- <xs:attribute name="winobj" type="xs:string" default="null" >
-</xs:attribute>
- <xs:attribute name="uploadmodule" type="xs:string" default="users" >
-</xs:attribute>
- <xs:attribute name="sessionid" type="xs:string" default="" >
-</xs:attribute>
- <xs:attribute name="secondid" type="lzx:number" default="0" >
-</xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
<xs:element name="syncWin" type="project:syncWin" >
</xs:element>
<xs:complexType name="syncWin" mixed="true">
@@ -8380,40 +8348,6 @@ This is used in the conference.
</xs:extension>
</xs:complexContent>
</xs:complexType>
-<xs:element name="uploadWindow" type="project:uploadWindow" >
-</xs:element>
- <xs:complexType name="uploadWindow" mixed="true">
- <xs:complexContent>
- <xs:extension base="project:labelExplorerBox">
- <xs:attribute name="winobj" type="xs:string" default="null" >
-</xs:attribute>
- <xs:attribute name="usersid" type="xs:string" default="" >
-</xs:attribute>
- <xs:attribute name="uploadmodule" type="xs:string" default="videoconf1" >
-</xs:attribute>
- <xs:attribute name="singleslidesmodule_id" type="xs:string" default="" >
-</xs:attribute>
- <xs:attribute name="sessionid" type="xs:string" default="" >
-</xs:attribute>
- <xs:attribute name="servletName" type="xs:string" default="UploadHandler" >
-</xs:attribute>
- <xs:attribute name="returnObj" type="lzx:boolean" default="true" >
-</xs:attribute>
- <xs:attribute name="parentFolderId" type="lzx:number" default="0" >
-</xs:attribute>
- <xs:attribute name="isdefaultreturn" type="lzx:boolean" default="true" >
-</xs:attribute>
- <xs:attribute name="isOnlyXml" type="lzx:boolean" default="false" >
-</xs:attribute>
- <xs:attribute name="isOnlyProfile" type="lzx:boolean" default="false" >
-</xs:attribute>
- <xs:attribute name="isOnlyPpt" type="lzx:boolean" default="false" >
-</xs:attribute>
- <xs:attribute name="isOnlyImage" type="lzx:boolean" default="false" >
-</xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
<xs:element name="updatecheckbox" type="project:updatecheckbox" >
</xs:element>
<xs:complexType name="updatecheckbox" mixed="true">
Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/components/upload/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/components/upload/library.lzx?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/components/upload/library.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/components/upload/library.lzx Tue Aug 13 11:14:00 2013
@@ -20,14 +20,7 @@
-->
<library>
-
<include href="fileUpload.lzx" />
<include href="uploadWindowExplorer.lzx" />
- <!--
- <include href="backupImportWindow.lzx" />
- <include href="importWindow.lzx" />
- <include href="uploadWindow.lzx" />
- -->
-
</library>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Tue Aug 13 11:14:00 2013
@@ -59,6 +59,7 @@ import org.apache.openmeetings.remote.Wh
import org.apache.openmeetings.remote.util.SessionVariablesUtil;
import org.apache.openmeetings.session.ISessionManager;
import org.apache.openmeetings.utils.OmFileHelper;
+import org.apache.openmeetings.utils.TimezoneUtil;
import org.apache.openmeetings.utils.math.CalendarPatterns;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.adapter.ApplicationAdapter;
@@ -129,6 +130,7 @@ public class ScopeApplicationAdapter ext
public synchronized boolean appStart(IScope scope) {
try {
OmFileHelper.setOmHome(scope.getResource("/").getFile());
+ TimezoneUtil.initTimeZones();
log.debug("webAppPath : " + OmFileHelper.getOmHome());
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/BackupImport.java?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/BackupImport.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/BackupImport.java Tue Aug 13 11:14:00 2013
@@ -699,24 +699,29 @@ public class BackupImport {
if (listNodeName.equals(listNode.getName())) {
InputNode item = listNode.getNext();
InputNode item1 = listNode1.getNext(); //HACK to handle Address inside user
- InputNode item2 = listNode1.getNext(); //HACK to handle old om_time_zone
+ InputNode item2 = listNode2.getNext(); //HACK to handle old om_time_zone
while (item != null) {
User u = ser.read(User.class, item, false);
+ boolean needToSkip1 = true;
//HACK to handle Address inside user
if (u.getAdresses() == null) {
Address a = ser.read(Address.class, item1, false);
u.setAdresses(a);
+ needToSkip1 = false;
+ }
+ if (needToSkip1) {
+ do {
+ item1 = listNode1.getNext(); //HACK to handle Address inside user
+ } while (item1 != null && !"user".equals(item1.getName()));
}
- do {
- item1 = listNode1.getNext(); //HACK to handle Address inside user
- } while (item != null && !"user".equals(item1.getName()));
do {
if (u.getTimeZoneId() == null && "omTimeZone".equals(item2.getName())) {
- u.setTimeZoneId(tzUtil.getTimezoneByInternalJName(item2.getValue()).getID());
+ String jName = item2.getValue();
+ u.setTimeZoneId(jName == null ? null : tzUtil.getTimezoneByInternalJName(jName).getID());
}
item2 = listNode2.getNext(); //HACK to handle old om_time_zone
- } while (item != null && !"user".equals(item2.getName()));
+ } while (item2 != null && !"user".equals(item2.getName()));
list.add(u);
item = listNode.getNext();
}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/TimezoneUtil.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/TimezoneUtil.java?rev=1513441&r1=1513440&r2=1513441&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/TimezoneUtil.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/TimezoneUtil.java Tue Aug 13 11:14:00 2013
@@ -45,10 +45,13 @@ public class TimezoneUtil {
private static final Logger log = Red5LoggerFactory.getLogger(TimezoneUtil.class, webAppRootKey);
private static final Map<String, String> ICAL_TZ_MAP = new Hashtable<String, String>();
private static final Map<Long, String> ID_TZ_MAP = new Hashtable<Long, String>();
- static {
+
+ public static void initTimeZones() {
SAXReader reader = new SAXReader();
Document document;
try {
+ ICAL_TZ_MAP.clear();
+ ID_TZ_MAP.clear();
document = reader.read(new File(getLanguagesDir(), nameOfTimeZoneFile));
Element root = document.getRootElement();
@@ -108,9 +111,7 @@ public class TimezoneUtil {
String defaultTzName = configurationDao.getConfValue("default.timezone", String.class, "Europe/Berlin");
- String omTimeZoneDefault = ICAL_TZ_MAP.get(defaultTzName);
-
- TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(omTimeZoneDefault);
+ TimeZone timeZoneByOmTimeZone = TimeZone.getTimeZone(defaultTzName);
if (timeZoneByOmTimeZone != null) {
return timeZoneByOmTimeZone;