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