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;