Author: solomax
Date: Thu Mar 21 17:26:46 2013
New Revision: 1459413

URL: http://svn.apache.org/r1459413
Log:
[OPENMEETINGS-582] 2.0 backup import fixed

Modified:
    
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
    
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
    
openmeetings/branches/2.1/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java

Modified: 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 (original)
+++ 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 Thu Mar 21 17:26:46 2013
@@ -63,7 +63,7 @@ public class Configuration implements Se
        private Long configuration_id;
 
        @Column(name = "conf_key")
-       @Element(name = "key", data = true)
+       @Element(name = "key", data = true, required = false)
        private String conf_key;
 
        @Column(name = "conf_value")

Modified: 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
 (original)
+++ 
openmeetings/branches/2.1/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
 Thu Mar 21 17:26:46 2013
@@ -65,19 +65,19 @@ public class RoomPoll {
        private Long roomPollId;
        
        @Column(name = "poll_name")
-       @Element(data=true)
+       @Element(name="pollname", data=true, required=false)
        private String pollName;
        
        @Column(name = "poll_question")
-       @Element(name="pollquestion", data=true)
+       @Element(name="pollquestion", data=true, required=false)
        private String pollQuestion;
        
-       @Element(data=true)
        @Column(name = "created")
+       @Element(data=true, required=false)
        private Date created;
        
        @Column(name = "archived")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private boolean archived;
        
        @OneToOne(fetch = FetchType.EAGER)

Modified: 
openmeetings/branches/2.1/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/2.1/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/branches/2.1/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 (original)
+++ 
openmeetings/branches/2.1/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 Thu Mar 21 17:26:46 2013
@@ -97,6 +97,7 @@ import org.apache.openmeetings.persisten
 import 
org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingMetaData;
 import org.apache.openmeetings.persistence.beans.poll.PollType;
 import org.apache.openmeetings.persistence.beans.poll.RoomPoll;
+import org.apache.openmeetings.persistence.beans.poll.RoomPollAnswers;
 import org.apache.openmeetings.persistence.beans.room.Room;
 import org.apache.openmeetings.persistence.beans.room.RoomModerator;
 import org.apache.openmeetings.persistence.beans.room.RoomOrganisation;
@@ -532,8 +533,10 @@ public class BackupImportController exte
                {
                        Registry registry = new Registry();
                        Strategy strategy = new RegistryStrategy(registry);
-                       Serializer serializer = new Persister(strategy);
+                       RegistryMatcher matcher = new RegistryMatcher(); //TODO 
need to be removed in the later versions
+                       Serializer serializer = new Persister(strategy, 
matcher);
        
+                       matcher.bind(Integer.class, IntegerTransform.class);
                        registry.bind(User.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(Room.class, new RoomConverter(roomDao, 
roomsMap));
                        registry.bind(PollType.class, new 
PollTypeConverter(pollManager));
@@ -541,6 +544,18 @@ public class BackupImportController exte
                        
                        List<RoomPoll> list = readList(serializer, f, 
"roompolls.xml", "roompolls", RoomPoll.class, true);
                        for (RoomPoll rp : list) {
+                               if (rp.getRoom().getRooms_id() == null) {
+                                       //room was deleted
+                                       continue;
+                               }
+                               if (rp.getCreatedBy().getUser_id() == null) {
+                                       rp.setCreatedBy(null);
+                               }
+                               for (RoomPollAnswers rpa : 
rp.getRoomPollAnswerList()) {
+                                       if (rpa.getVotedUser().getUser_id() == 
null) {
+                                               rpa.setVotedUser(null);
+                                       }
+                               }
                                pollManager.savePollBackup(rp);
                        }
                }
@@ -561,6 +576,9 @@ public class BackupImportController exte
                        
                        List<Configuration> list = readList(serializer, f, 
"configs.xml", "configs", Configuration.class, true);
                        for (Configuration c : list) {
+                               if (c.getConf_key() == null) {
+                                       continue;
+                               }
                                Configuration cfg = 
configurationDao.get(c.getConf_key());
                                c.setConfiguration_id(cfg == null ? null : 
cfg.getConfiguration_id());
                                if (c.getUser() != null && 
c.getUser().getUser_id() == null) {

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 Thu Mar 21 17:26:46 2013
@@ -63,7 +63,7 @@ public class Configuration implements Se
        private Long configuration_id;
 
        @Column(name = "conf_key")
-       @Element(name = "key", data = true)
+       @Element(name = "key", data = true, required = false)
        private String conf_key;
 
        @Column(name = "conf_value")

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/poll/RoomPoll.java
 Thu Mar 21 17:26:46 2013
@@ -65,19 +65,19 @@ public class RoomPoll {
        private Long roomPollId;
        
        @Column(name = "poll_name")
-       @Element(data=true)
+       @Element(name="pollname", data=true, required=false)
        private String pollName;
        
        @Column(name = "poll_question")
-       @Element(name="pollquestion", data=true)
+       @Element(name="pollquestion", data=true, required=false)
        private String pollQuestion;
        
-       @Element(data=true)
        @Column(name = "created")
+       @Element(data=true, required=false)
        private Date created;
        
        @Column(name = "archived")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private boolean archived;
        
        @OneToOne(fetch = FetchType.EAGER)

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1459413&r1=1459412&r2=1459413&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 Thu Mar 21 17:26:46 2013
@@ -97,6 +97,7 @@ import org.apache.openmeetings.persisten
 import 
org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingMetaData;
 import org.apache.openmeetings.persistence.beans.poll.PollType;
 import org.apache.openmeetings.persistence.beans.poll.RoomPoll;
+import org.apache.openmeetings.persistence.beans.poll.RoomPollAnswers;
 import org.apache.openmeetings.persistence.beans.room.Room;
 import org.apache.openmeetings.persistence.beans.room.RoomModerator;
 import org.apache.openmeetings.persistence.beans.room.RoomOrganisation;
@@ -532,8 +533,10 @@ public class BackupImportController exte
                {
                        Registry registry = new Registry();
                        Strategy strategy = new RegistryStrategy(registry);
-                       Serializer serializer = new Persister(strategy);
+                       RegistryMatcher matcher = new RegistryMatcher(); //TODO 
need to be removed in the later versions
+                       Serializer serializer = new Persister(strategy, 
matcher);
        
+                       matcher.bind(Integer.class, IntegerTransform.class);
                        registry.bind(User.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(Room.class, new RoomConverter(roomDao, 
roomsMap));
                        registry.bind(PollType.class, new 
PollTypeConverter(pollManager));
@@ -541,6 +544,18 @@ public class BackupImportController exte
                        
                        List<RoomPoll> list = readList(serializer, f, 
"roompolls.xml", "roompolls", RoomPoll.class, true);
                        for (RoomPoll rp : list) {
+                               if (rp.getRoom().getRooms_id() == null) {
+                                       //room was deleted
+                                       continue;
+                               }
+                               if (rp.getCreatedBy().getUser_id() == null) {
+                                       rp.setCreatedBy(null);
+                               }
+                               for (RoomPollAnswers rpa : 
rp.getRoomPollAnswerList()) {
+                                       if (rpa.getVotedUser().getUser_id() == 
null) {
+                                               rpa.setVotedUser(null);
+                                       }
+                               }
                                pollManager.savePollBackup(rp);
                        }
                }
@@ -561,6 +576,9 @@ public class BackupImportController exte
                        
                        List<Configuration> list = readList(serializer, f, 
"configs.xml", "configs", Configuration.class, true);
                        for (Configuration c : list) {
+                               if (c.getConf_key() == null) {
+                                       continue;
+                               }
                                Configuration cfg = 
configurationDao.get(c.getConf_key());
                                c.setConfiguration_id(cfg == null ? null : 
cfg.getConfiguration_id());
                                if (c.getUser() != null && 
c.getUser().getUser_id() == null) {


Reply via email to