Author: solomax
Date: Fri Dec  7 09:55:44 2012
New Revision: 1418237

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

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/calendar/Appointment.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/files/FileExplorerItem.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/flvrecord/FlvRecording.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/sip/asterisk/MeetMe.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/calendar/Appointment.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/calendar/Appointment.java?rev=1418237&r1=1418236&r2=1418237&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/calendar/Appointment.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/calendar/Appointment.java
 Fri Dec  7 09:55:44 2012
@@ -78,7 +78,7 @@ public class Appointment implements Seri
        private Long appointmentId;
        
        @Column(name = "appointmentname")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private String appointmentName;
        
        @Column(name = "location")
@@ -153,11 +153,11 @@ public class Appointment implements Seri
        private List<MeetingMember> meetingMember;
        
        @Column(name = "language_id")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private Long language_id;
        
        @Column(name = "is_password_protected")
-       @Element(data=true)
+       @Element(data=true, required=false)
        private Boolean isPasswordProtected;
        
        @Column(name = "password")

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=1418237&r1=1418236&r2=1418237&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
 Fri Dec  7 09:55:44 2012
@@ -123,11 +123,11 @@ public class FileExplorerItem implements
        private String wmlFilePath;
        
        @Column(name="is_stored_wml_file")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private Boolean isStoredWmlFile;
        
        @Column(name="is_chart")
-       @Element(data=true)
+       @Element(data=true, required = false)
     private Boolean isChart;
     
        @Column(name="external_file_id")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/flvrecord/FlvRecording.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/flvrecord/FlvRecording.java?rev=1418237&r1=1418236&r2=1418237&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/flvrecord/FlvRecording.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/flvrecord/FlvRecording.java
 Fri Dec  7 09:55:44 2012
@@ -75,11 +75,11 @@ public class FlvRecording implements Ser
        private long flvRecordingId;
 
        @Column(name = "filename")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String fileName;
 
        @Column(name = "alternate_download")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String alternateDownload;
 
        @Column(name = "filehash")
@@ -95,61 +95,61 @@ public class FlvRecording implements Ser
        private Long parentFileExplorerItemId;
 
        @Column(name = "room_id")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Long room_id;
 
        @Column(name = "owner_id")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Long ownerId;// OwnerID => only set if its directly root in 
Owner
                                                        // Directory, other 
Folders and Files
                                                        // maybe are also in a 
Home directory but just
                                                        // because their parent 
is
 
        @Column(name = "is_folder")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isFolder;
 
        @Column(name = "is_image")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isImage;
 
        @Column(name = "is_presentation")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isPresentation;
 
        @Column(name = "is_recording")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isRecording;
 
        @Column(name = "record_start")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Date recordStart;
 
        @Column(name = "record_end")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Date recordEnd;
 
        @Column(name = "inserted_by")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Long insertedBy;
 
        @Column(name = "inserted")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Date inserted;
 
        @Column(name = "updated")
        private Date updated;
 
        @Column(name = "deleted")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private boolean deleted;
 
        @Column(name = "width")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Integer width;
 
        @Column(name = "height")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Integer height;
 
        @Column(name = "flv_width")
@@ -161,7 +161,7 @@ public class FlvRecording implements Ser
        private Integer flvHeight;
 
        @Column(name = "preview_image")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String previewImage;
 
        @Column(name = "filesize")
@@ -173,20 +173,20 @@ public class FlvRecording implements Ser
        private String recorderStreamId;
 
        @Column(name = "organization_id")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Long organization_id;
 
        @Column(name = "is_interview")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isInterview;
 
        @Column(name = "progress_post_processing")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Integer progressPostProcessing;
 
        @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
        @JoinColumn(name = "flvrecording_id")
-       @ElementList(name = "flvrecordingmetadatas")
+       @ElementList(name = "flvrecordingmetadatas", required = false)
        private List<FlvRecordingMetaData> flvRecordingMetaData;
 
        // Not Mapped

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=1418237&r1=1418236&r2=1418237&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
 Fri Dec  7 09:55:44 2012
@@ -93,11 +93,11 @@ public class Rooms implements Serializab
        private boolean ispublic;
 
        @Column(name = "numberOfPartizipants")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Long numberOfPartizipants = new Long(4);
 
        @Column(name = "appointment")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private boolean appointment;
 
        // Vars to simulate external Rooms
@@ -110,7 +110,7 @@ public class Rooms implements Serializab
        private String externalRoomType;
 
        @Column(name = "isdemoroom")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isDemoRoom;
 
        @Column(name = "demo_time")
@@ -120,11 +120,11 @@ public class Rooms implements Serializab
        // If this is true all participants of a meeting have to wait for the
        // moderator to come into the room
        @Column(name = "ismoderatedroom")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isModeratedRoom;
 
        @Column(name = "allow_user_questions")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean allowUserQuestions;
 
        @Column(name = "sip_number")
@@ -136,11 +136,11 @@ public class Rooms implements Serializab
        private String conferencePin;
 
        @Column(name = "is_audio_only")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isAudioOnly;
 
        @Column(name = "is_closed")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private Boolean isClosed;
 
        @Column(name = "redirect_url")

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=1418237&r1=1418236&r2=1418237&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
 Fri Dec  7 09:55:44 2012
@@ -43,59 +43,59 @@ public class AsteriskSipUsers implements
        private int id;
 
        @Column(name = "accountcode")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String accountcode;
 
        @Column(name = "disallow")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String disallow = null;
 
        @Column(name = "allow")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String allow = "ulaw";
 
        @Column(name = "allowoverlap")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String allowoverlap = "yes";
 
        @Column(name = "allowsubscribe")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String allowsubscribe = "yes";
 
        @Column(name = "allowtransfer")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String allowtransfer;
 
        @Column(name = "amaflags")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String amaflags;
 
        @Column(name = "autoframing")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String autoframing;
 
        @Column(name = "auth")
-       @Element(data = true)
+       @Element(data = true, required = false)
        private String auth;
 
        @Column(name = "buggymwi")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String buggymwi = "no";
 
        @Column(name = "callgroup")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String callgroup;
 
        @Column(name = "callerid")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String callerid;
 
        @Column(name = "cid_number")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String cid_number;
 
        @Column(name = "fullname")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String fullname;
 
        // TODO: error
@@ -103,49 +103,49 @@ public class AsteriskSipUsers implements
        // private int callLimit;
 
        @Column(name = "callingpres")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String callingpres;
 
        @Column(name = "canreinvite")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String canreinvite = "yes";
 
        @Column(name = "context")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String context;
 
        @Column(name = "defaultip")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String defaultip;
 
        @Column(name = "dtmfmode")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String dtmfmode;
 
        @Column(name = "fromuser")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String fromuser;
 
        @Column(name = "fromdomain")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String fromdomain;
 
        @Column(name = "fullcontact")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String fullcontact;
 
        // @Column(name = "g726nonstandard")
        @Column(name = "g726nonstandard")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String g726nonstandard = "no";
 
        @Column(name = "host", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String host = "dynamic";
 
        @Column(name = "insecure")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String insecure;
 
        @Column(name = "ipaddr", nullable = false)
@@ -153,31 +153,31 @@ public class AsteriskSipUsers implements
        private String ipaddr = "";
 
        @Column(name = "language")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String language;
 
        @Column(name = "lastms")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String lastms;
 
        @Column(name = "mailbox")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String mailbox;
 
        @Column(name = "maxcallbitrate")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private int maxcallbitrate = 384;
 
        @Column(name = "mohsuggest")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String mohsuggest;
 
        @Column(name = "md5secret")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String md5secret;
 
        @Column(name = "musiconhold")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String musiconhold;
 
        @Column(name = "name", nullable = false)
@@ -185,23 +185,23 @@ public class AsteriskSipUsers implements
        private String name = "";
 
        @Column(name = "nat", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String nat = "no";
 
        @Column(name = "outboundproxy")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String outboundproxy;
 
        @Column(name = "deny")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String deny;
 
        @Column(name = "permit")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String permit;
 
        @Column(name = "pickupgroup")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String pickupgroup;
 
        @Column(name = "port", nullable = false)
@@ -211,18 +211,18 @@ public class AsteriskSipUsers implements
        // @Column(name = "progressinband")
        @Column(name = "progressinband")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String progressinband = "no";
        // private YesNoNever progressinband;
 
        // @Column(name = "promiscredir")
        @Column(name = "promiscredir")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String promiscredir = "no";
 
        @Column(name = "qualify")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String qualify;
 
        @Column(name = "regexten", nullable = false)
@@ -230,31 +230,31 @@ public class AsteriskSipUsers implements
        private String regexten = "";
 
        @Column(name = "regseconds", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private int regseconds = 0;
 
        // @Column(name = "rfc2833compensate")
        @Column(name = "rfc2833compensate")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String rfc2833compensate = "no";
 
        @Column(name = "rtptimeout")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String rtptimeout;
 
        @Column(name = "rtpholdtimeout")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String rtpholdtimeout;
 
        @Column(name = "secret")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String secret;
 
        // @Column(name = "sendrpid")
        @Column(name = "sendrpid")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String sendrpid = "yes";
 
        @Column(name = "setvar", nullable = false)
@@ -262,23 +262,23 @@ public class AsteriskSipUsers implements
        private String setvar = "";
 
        @Column(name = "subscribecontext")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String subscribecontext;
 
        @Column(name = "subscribemwi")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String subscribemwi;
 
        // @Column(name = "t38pt_udptl")
        @Column(name = "t38pt_udptl")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String t38pt_udptl = "no";
 
        // @Column(name = "trustrpid")
        @Column(name = "trustrpid")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String trustrpid = "no";
 
        @Column(name = "type", nullable = false)
@@ -302,11 +302,11 @@ public class AsteriskSipUsers implements
        // @Column(name = "videosupport")
        @Column(name = "videosupport")
        // @Enumerated(EnumType.STRING)
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String videosupport = "yes";
 
        @Column(name = "vmexten")
-       @Element(data=true)
+       @Element(data=true, required = false)
        private String vmexten;
 
        // create unique index name on asterisk.sipusers (name);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java?rev=1418237&r1=1418236&r2=1418237&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/sip/asterisk/MeetMe.java
 Fri Dec  7 09:55:44 2012
@@ -39,15 +39,15 @@ public class MeetMe implements Serializa
     private String confno = "0";
        
     @Column(name = "pin")
-       @Element(data=true)
+       @Element(data=true, required = false)
     private String pin;
     
     @Column(name = "adminpin")
-       @Element(data=true)
+       @Element(data=true, required = false)
     private String adminpin;
     
     @Column(name = "members", nullable = false)
-       @Element(data=true)
+       @Element(data=true, required = false)
     private Integer members = 0;
 
     public String getConfno() {

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=1418237&r1=1418236&r2=1418237&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
 Fri Dec  7 09:55:44 2012
@@ -283,7 +283,7 @@ public class BackupImportController exte
                        List<Users> list = readUserList(f, "users.xml", 
"users");
                        for (Users u : list) {
                                OmTimeZone tz = u.getOmTimeZone();
-                               if (tz.getJname() == null) {
+                               if (tz == null || tz.getJname() == null) {
                                        String jNameTimeZone = 
configurationDao.getConfValue(
                                                        "default.timezone", 
String.class, "Europe/Berlin");
                                        OmTimeZone omTimeZone = 
omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone);
@@ -394,7 +394,7 @@ public class BackupImportController exte
                        
                        List<MeetingMember> list = readList(serializer, f, 
"meetingmembers.xml", "meetingmembers", MeetingMember.class);
                        for (MeetingMember ma : list) {
-                               if (ma.getUserid().getUser_id() == null) {
+                               if (ma.getUserid() != null && 
ma.getUserid().getUser_id() == null) {
                                        ma.setUserid(null);
                                }
                                if (!ma.getDeleted()) {
@@ -439,9 +439,11 @@ public class BackupImportController exte
                                if (fr.getOwnerId() != null) {
                                        
fr.setOwnerId(usersMap.get(fr.getOwnerId()));
                                }
-                               for (FlvRecordingMetaData meta : 
fr.getFlvRecordingMetaData()) {
-                                       meta.setFlvRecordingMetaDataId(0);
-                                       meta.setFlvRecording(fr);
+                               if (fr.getFlvRecordingMetaData() != null) {
+                                       for (FlvRecordingMetaData meta : 
fr.getFlvRecordingMetaData()) {
+                                               
meta.setFlvRecordingMetaDataId(0);
+                                               meta.setFlvRecording(fr);
+                                       }
                                }
                                flvRecordingDao.addFlvRecordingObj(fr);
                        }
@@ -483,7 +485,7 @@ public class BackupImportController exte
                                Long ucId = uc.getUserContactId();
                                UserContacts storedUC = 
userContactsDao.getUserContacts(ucId);
 
-                               if (storedUC == null && 
uc.getContact().getUser_id() != null) {
+                               if (storedUC == null && uc.getContact() != null 
&& uc.getContact().getUser_id() != null) {
                                        uc.setUserContactId(0);
                                        Long newId = 
userContactsDao.addUserContactObj(uc);
                                        userContactsMap.put(ucId, newId);
@@ -511,10 +513,10 @@ public class BackupImportController exte
                                        getNewId(p.getPrivateMessageFolderId(), 
Maps.MESSAGEFOLDERS));
                                p.setUserContactId(
                                        getNewId(p.getUserContactId(), 
Maps.USERCONTACTS));
-                               if (p.getRoom().getRooms_id() == null) {
+                               if (p.getRoom() != null && 
p.getRoom().getRooms_id() == null) {
                                        p.setRoom(null);
                                }
-                               if (p.getTo().getUser_id() == null) {
+                               if (p.getTo() != null && p.getTo().getUser_id() 
== null) {
                                        p.setTo(null);
                                }
                                privateMessagesDao.addPrivateMessageObj(p);
@@ -582,7 +584,7 @@ public class BackupImportController exte
                                Configuration cfg = 
configurationDao.getConfKey(c
                                                .getConf_key());
                                c.setConfiguration_id(cfg == null ? null : 
cfg.getConfiguration_id());
-                               if (c.getUser().getUser_id() == null) {
+                               if (c.getUser() != null && 
c.getUser().getUser_id() == null) {
                                        c.setUser(null);
                                }
                                configurationDao.update(c, 1L);
@@ -790,8 +792,12 @@ public class BackupImportController exte
                                        log.debug("Exception While reading node 
of type: " + Users.class, e);
                                }
                                item = listNode.getNext();
-                               item1 = listNode1.getNext(); //HACK to handle 
Adresses inside user
-                               item2 = listNode2.getNext(); //HACK to handle 
UserSipData inside user
+                               do {
+                                       item1 = listNode1.getNext(); //HACK to 
handle Adresses inside user
+                               } while (item != null && 
!"user".equals(item1.getName()));
+                               do {
+                                       item2 = listNode2.getNext(); //HACK to 
handle UserSipData inside user
+                               } while (item != null && 
!"user".equals(item2.getName()));
                        }
                }
                return list;


Reply via email to