Author: solomax
Date: Tue Dec  4 14:59:26 2012
New Revision: 1416973

URL: http://svn.apache.org/viewvc?rev=1416973&view=rev
Log:
OPENMEETINGS-448 import is tested on "real life" backup file
Simple library is updated

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
      - copied unchanged from r1416784, 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
Modified:
    incubator/openmeetings/trunk/singlewebapp/ivy.xml
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/AppointmentConverter.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/OrganisationConverter.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomTypeConverter.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/UserConverter.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/AsteriskSipUsers.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessages.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java

Modified: incubator/openmeetings/trunk/singlewebapp/ivy.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/ivy.xml?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/ivy.xml Tue Dec  4 14:59:26 2012
@@ -212,7 +212,7 @@
                <dependency org="javax.mail" name="mail" rev="1.4.4" 
conf="openmeetings->*" transitive="false">
                        <include type="jar" />
                </dependency>
-               <dependency org="org.simpleframework" name="simple-xml" 
rev="2.6.6" conf="openmeetings->*" transitive="false">
+               <dependency org="org.simpleframework" name="simple-xml" 
rev="2.6.8" conf="openmeetings->*" transitive="false">
                        <include type="jar" />
                </dependency>
                <dependency org="org.apache.wicket" name="wicket-request" 
rev="6.2.0" conf="openmeetings->*" transitive="false">

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/AppointmentConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/AppointmentConverter.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/AppointmentConverter.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/AppointmentConverter.java
 Tue Dec  4 14:59:26 2012
@@ -39,10 +39,11 @@ public class AppointmentConverter extend
        }
        
        public Appointment read(InputNode node) throws Exception {
-               long oldOrgId = getlongValue(node);
-               long newId = idMap.containsKey(oldOrgId) ? idMap.get(oldOrgId) 
: oldOrgId;
+               long oldId = getlongValue(node);
+               long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : 
oldId;
                
-               return appointmentDao.getAppointmentByIdBackup(newId);
+               Appointment a = appointmentDao.getAppointmentByIdBackup(newId);
+               return a == null ? new Appointment() : a;
        }
 
        public void write(OutputNode node, Appointment value) throws Exception {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/OrganisationConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/OrganisationConverter.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/OrganisationConverter.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/OrganisationConverter.java
 Tue Dec  4 14:59:26 2012
@@ -20,29 +20,30 @@ package org.apache.openmeetings.backup;
 
 import java.util.Map;
 
-import org.apache.openmeetings.data.user.Organisationmanagement;
+import org.apache.openmeetings.data.user.dao.OrganisationDao;
 import org.apache.openmeetings.persistence.beans.domain.Organisation;
 import org.simpleframework.xml.stream.InputNode;
 import org.simpleframework.xml.stream.OutputNode;
 
 public class OrganisationConverter extends OmConverter<Organisation> {
-       private Organisationmanagement organisationmanagement;
+       private OrganisationDao orgDao;
        private Map<Long, Long> idMap;
        
        public OrganisationConverter() {
                //default constructor is for export
        }
        
-       public OrganisationConverter(Organisationmanagement 
organisationmanagement, Map<Long, Long> idMap) {
-               this.organisationmanagement = organisationmanagement;
+       public OrganisationConverter(OrganisationDao orgDao, Map<Long, Long> 
idMap) {
+               this.orgDao = orgDao;
                this.idMap = idMap;
        }
        
        public Organisation read(InputNode node) throws Exception {
-               long oldOrgId = getlongValue(node);
-               long newId = idMap.containsKey(oldOrgId) ? idMap.get(oldOrgId) 
: oldOrgId;
+               long oldId = getlongValue(node);
+               long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : 
oldId;
                
-               return organisationmanagement.getOrganisationByIdBackup(newId);
+               Organisation o = orgDao.get(newId);
+               return o == null ? new Organisation() : o;
        }
 
        public void write(OutputNode node, Organisation value) throws Exception 
{

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomConverter.java
 Tue Dec  4 14:59:26 2012
@@ -39,10 +39,11 @@ public class RoomConverter extends OmCon
        }
        
        public Rooms read(InputNode node) throws Exception {
-               long oldOrgId = getlongValue(node);
-               long newId = idMap.containsKey(oldOrgId) ? idMap.get(oldOrgId) 
: oldOrgId;
+               long oldId = getlongValue(node);
+               long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : 
oldId;
 
-               return roomDao.get(newId);
+               Rooms r = roomDao.get(newId);
+               return r == null ? new Rooms() : r;
        }
 
        public void write(OutputNode node, Rooms value) throws Exception {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomTypeConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomTypeConverter.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomTypeConverter.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/RoomTypeConverter.java
 Tue Dec  4 14:59:26 2012
@@ -35,7 +35,8 @@ public class RoomTypeConverter extends O
        }
        
        public RoomTypes read(InputNode node) throws Exception {
-               return roommanagement.getRoomTypesById(getlongValue(node));
+               long id = getlongValue(node);
+               return roommanagement.getRoomTypesById(id > 0 ? id : 1); // 
conference type will be used in case of bad type
        }
 
        public void write(OutputNode node, RoomTypes value) throws Exception {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/UserConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/UserConverter.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/UserConverter.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/backup/UserConverter.java
 Tue Dec  4 14:59:26 2012
@@ -20,29 +20,30 @@ package org.apache.openmeetings.backup;
 
 import java.util.Map;
 
-import org.apache.openmeetings.data.user.Usermanagement;
+import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.persistence.beans.user.Users;
 import org.simpleframework.xml.stream.InputNode;
 import org.simpleframework.xml.stream.OutputNode;
 
 public class UserConverter extends OmConverter<Users> {
-       private Usermanagement userManagement;
+       private UsersDao userDao;
        private Map<Long, Long> idMap;
        
        public UserConverter() {
                //default constructor is for export
        }
        
-       public UserConverter(Usermanagement userManagement, Map<Long, Long> 
idMap) {
-               this.userManagement = userManagement;
+       public UserConverter(UsersDao userDao, Map<Long, Long> idMap) {
+               this.userDao = userDao;
                this.idMap = idMap;
        }
        
        public Users read(InputNode node) throws Exception {
-               long oldOrgId = getlongValue(node);
-               long newId = idMap.containsKey(oldOrgId) ? idMap.get(oldOrgId) 
: oldOrgId;
+               long oldId = getlongValue(node);
+               long newId = idMap.containsKey(oldId) ? idMap.get(oldId) : 
oldId;
                
-               return userManagement.getUserById(newId);
+               Users u = userDao.get(newId);
+               return u == null ? new Users() : u;
        }
 
        public void write(OutputNode node, Users value) throws Exception {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java
 Tue Dec  4 14:59:26 2012
@@ -50,7 +50,7 @@ public class FileExplorerItem implements
        private long fileExplorerItemId;
        
        @Column(name="filename")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String fileName;
        
        @Column(name="filehash")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/rooms/Rooms.java
 Tue Dec  4 14:59:26 2012
@@ -61,7 +61,7 @@ public class Rooms implements Serializab
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Column(name = "id")
-       @Element(data = true)
+       @Element(data = true, required=false)
        private Long rooms_id;
 
        @Column(name = "name")
@@ -211,7 +211,7 @@ public class Rooms implements Serializab
        @Element(data = true, required = false)
        private boolean autoVideoSelect = false;
 
-       @OneToMany(fetch = FetchType.LAZY)
+       @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
        @JoinColumn(name = "roomId")
        @ElementList(name = "room_moderators", required=false)
        private List<RoomModerators> moderators;

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/AsteriskSipUsers.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/AsteriskSipUsers.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/AsteriskSipUsers.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/AsteriskSipUsers.java
 Tue Dec  4 14:59:26 2012
@@ -149,7 +149,7 @@ public class AsteriskSipUsers implements
        private String insecure;
 
        @Column(name = "ipaddr", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String ipaddr = "";
 
        @Column(name = "language")
@@ -181,7 +181,7 @@ public class AsteriskSipUsers implements
        private String musiconhold;
 
        @Column(name = "name", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String name = "";
 
        @Column(name = "nat", nullable = false)
@@ -205,7 +205,7 @@ public class AsteriskSipUsers implements
        private String pickupgroup;
 
        @Column(name = "port", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String port = "";
 
        // @Column(name = "progressinband")
@@ -226,7 +226,7 @@ public class AsteriskSipUsers implements
        private String qualify;
 
        @Column(name = "regexten", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String regexten = "";
 
        @Column(name = "regseconds", nullable = false)
@@ -258,7 +258,7 @@ public class AsteriskSipUsers implements
        private String sendrpid = "yes";
 
        @Column(name = "setvar", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String setvar = "";
 
        @Column(name = "subscribecontext")
@@ -282,21 +282,21 @@ public class AsteriskSipUsers implements
        private String trustrpid = "no";
 
        @Column(name = "type", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String type = "friend";
 
        // @Column(name = "useclientcode")
        @Column(name = "useclientcode")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String useclientcode = "no";
 
        @Column(name = "username", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String username = "";
 
        @Column(name = "usereqphone", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String usereqphone = "no";
 
        // @Column(name = "videosupport")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessages.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessages.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessages.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/user/PrivateMessages.java
 Tue Dec  4 14:59:26 2012
@@ -49,12 +49,12 @@ public class PrivateMessages implements 
        private long privateMessageId;
        
        @Column(name="subject")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String subject;
        
        @Lob
        @Column(name="message")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String message;
        
        @Column(name="email")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1416973&r1=1416972&r2=1416973&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 Tue Dec  4 14:59:26 2012
@@ -73,6 +73,7 @@ import org.apache.openmeetings.data.file
 import org.apache.openmeetings.data.flvrecord.FlvRecordingDao;
 import org.apache.openmeetings.data.flvrecord.FlvRecordingMetaDataDao;
 import org.apache.openmeetings.data.user.Organisationmanagement;
+import org.apache.openmeetings.data.user.dao.OrganisationDao;
 import org.apache.openmeetings.data.user.dao.PrivateMessageFolderDao;
 import org.apache.openmeetings.data.user.dao.PrivateMessagesDao;
 import org.apache.openmeetings.data.user.dao.StateDao;
@@ -93,7 +94,6 @@ 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.rooms.RoomModerators;
 import org.apache.openmeetings.persistence.beans.rooms.RoomTypes;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms_Organisation;
@@ -144,6 +144,8 @@ public class BackupImportController exte
        @Autowired
        private Organisationmanagement organisationmanagement;
        @Autowired
+       private OrganisationDao orgDao;
+       @Autowired
        private Roommanagement roommanagement;
        @Autowired
        private RoomDAO roomDao;
@@ -311,7 +313,7 @@ public class BackupImportController exte
 
                        matcher.bind(Long.class, LongTransform.class);
                        matcher.bind(Integer.class, IntegerTransform.class);
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(RoomTypes.class, new 
RoomTypeConverter(roommanagement));
                        
                        List<Rooms> list = readList(serializer, f, "rooms.xml", 
"rooms", Rooms.class);
@@ -324,10 +326,6 @@ public class BackupImportController exte
 
                                r = roomDao.update(r, 1L);
                                roomsMap.put(roomId, r.getRooms_id());
-                               
-                               for (RoomModerators rm : r.getModerators()) {
-                                       
roomModeratorsDao.addRoomModeratorByObj(rm);
-                               }
                        }
                }
 
@@ -340,14 +338,16 @@ public class BackupImportController exte
                        Strategy strategy = new RegistryStrategy(registry);
                        Serializer serializer = new Persister(strategy);
        
-                       registry.bind(Organisation.class, new 
OrganisationConverter(organisationmanagement, organisationsMap));
+                       registry.bind(Organisation.class, new 
OrganisationConverter(orgDao, organisationsMap));
                        registry.bind(Rooms.class, new RoomConverter(roomDao, 
roomsMap));
                        
                        List<Rooms_Organisation> list = readList(serializer, f, 
"rooms_organisation.xml", "room_organisations", Rooms_Organisation.class);
                        for (Rooms_Organisation ro : list) {
-                               // We need to reset this as openJPA reject to 
store them otherwise
-                               ro.setRooms_organisation_id(null);
-                               roommanagement.addRoomOrganisation(ro);
+                               if (!ro.getDeleted()) {
+                                       // We need to reset this as openJPA 
reject to store them otherwise
+                                       ro.setRooms_organisation_id(null);
+                                       roommanagement.addRoomOrganisation(ro);
+                               }
                        }
                }
 
@@ -361,7 +361,7 @@ public class BackupImportController exte
                        Serializer serializer = new Persister(strategy);
        
                        registry.bind(AppointmentCategory.class, new 
AppointmentCategoryConverter(appointmentCategoryDaoImpl));
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(AppointmentReminderTyps.class, new 
AppointmentReminderTypeConverter(appointmentReminderTypDaoImpl));
                        registry.bind(Rooms.class, new RoomConverter(roomDao, 
roomsMap));
                        registry.bind(Date.class, DateConverter.class);
@@ -389,14 +389,19 @@ public class BackupImportController exte
                        Strategy strategy = new RegistryStrategy(registry);
                        Serializer serializer = new Persister(strategy);
        
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(Appointment.class, new 
AppointmentConverter(appointmentDao, appointmentsMap));
                        
                        List<MeetingMember> list = readList(serializer, f, 
"meetingmembers.xml", "meetingmembers", MeetingMember.class);
                        for (MeetingMember ma : list) {
-                               // We need to reset this as openJPA reject to 
store them otherwise
-                               ma.setMeetingMemberId(null);
-                               meetingMemberDao.addMeetingMemberByObject(ma);
+                               if (ma.getUserid().getUser_id() == null) {
+                                       ma.setUserid(null);
+                               }
+                               if (!ma.getDeleted()) {
+                                       // We need to reset this as openJPA 
reject to store them otherwise
+                                       ma.setMeetingMemberId(null);
+                                       
meetingMemberDao.addMeetingMemberByObject(ma);
+                               }
                        }
                }
 
@@ -471,14 +476,14 @@ public class BackupImportController exte
                        Strategy strategy = new RegistryStrategy(registry);
                        Serializer serializer = new Persister(strategy);
        
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        
                        List<UserContacts> list = readList(serializer, f, 
"userContacts.xml", "usercontacts", UserContacts.class, true);
                        for (UserContacts uc : list) {
                                Long ucId = uc.getUserContactId();
                                UserContacts storedUC = 
userContactsDao.getUserContacts(ucId);
 
-                               if (storedUC == null) {
+                               if (storedUC == null && 
uc.getContact().getUser_id() != null) {
                                        uc.setUserContactId(0);
                                        Long newId = 
userContactsDao.addUserContactObj(uc);
                                        userContactsMap.put(ucId, newId);
@@ -495,7 +500,7 @@ public class BackupImportController exte
                        Strategy strategy = new RegistryStrategy(registry);
                        Serializer serializer = new Persister(strategy);
        
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(Rooms.class, new RoomConverter(roomDao, 
roomsMap));
                        registry.bind(Date.class, DateConverter.class);
                        
@@ -506,7 +511,12 @@ public class BackupImportController exte
                                        getNewId(p.getPrivateMessageFolderId(), 
Maps.MESSAGEFOLDERS));
                                p.setUserContactId(
                                        getNewId(p.getUserContactId(), 
Maps.USERCONTACTS));
-                               
+                               if (p.getRoom().getRooms_id() == null) {
+                                       p.setRoom(null);
+                               }
+                               if (p.getTo().getUser_id() == null) {
+                                       p.setTo(null);
+                               }
                                privateMessagesDao.addPrivateMessageObj(p);
                        }
                }
@@ -542,7 +552,7 @@ public class BackupImportController exte
                        Strategy strategy = new RegistryStrategy(registry);
                        Serializer serializer = new Persister(strategy);
        
-                       registry.bind(Users.class, new 
UserConverter(userManagement, usersMap));
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        registry.bind(Rooms.class, new RoomConverter(roomDao, 
roomsMap));
                        registry.bind(PollType.class, new 
PollTypeConverter(pollManagement));
                        registry.bind(Date.class, DateConverter.class);
@@ -565,12 +575,16 @@ public class BackupImportController exte
 
                        matcher.bind(Long.class, LongTransform.class);
                        registry.bind(Date.class, DateConverter.class);
+                       registry.bind(Users.class, new UserConverter(usersDao, 
usersMap));
                        
                        List<Configuration> list = readList(serializer, f, 
"configs.xml", "configs", Configuration.class, true);
                        for (Configuration c : list) {
                                Configuration cfg = 
configurationDao.getConfKey(c
                                                .getConf_key());
                                c.setConfiguration_id(cfg == null ? null : 
cfg.getConfiguration_id());
+                               if (c.getUser().getUser_id() == null) {
+                                       c.setUser(null);
+                               }
                                configurationDao.update(c, 1L);
                        }
                }
@@ -583,6 +597,7 @@ public class BackupImportController exte
                        List<AsteriskSipUsers> list = 
readList(simpleSerializer, f, "asterisksipusers.xml"
                                , "asterisksipusers", AsteriskSipUsers.class, 
true);
                        for (AsteriskSipUsers au : list) {
+                               au.setId(0);
                                asteriskDAOImpl.saveAsteriskSipUsers(au);
                        }
                }
@@ -595,6 +610,7 @@ public class BackupImportController exte
                        List<Extensions> list = readList(simpleSerializer, f, 
"extensions.xml"
                                , "extensions", Extensions.class, true);
                        for (Extensions e : list) {
+                               e.setId(null);
                                asteriskDAOImpl.saveExtensions(e);
                        }
                }
@@ -716,7 +732,7 @@ public class BackupImportController exte
                Strategy strategy = new RegistryStrategy(registry);
                Serializer ser = new Persister(strategy);
 
-               registry.bind(Organisation.class, new 
OrganisationConverter(organisationmanagement, organisationsMap));
+               registry.bind(Organisation.class, new 
OrganisationConverter(orgDao, organisationsMap));
                //registry.bind(UserSipData.class, UserSipDataConverter.class);
                registry.bind(OmTimeZone.class, new 
OmTimeZoneConverter(omTimeZoneDaoImpl));
                registry.bind(States.class, new 
StateConverter(statemanagement));


Reply via email to