Hi Vasya, If tested getBackupRooms yesterday, it was okay for me.
The thing with the *deleted* is that it has to return ALL records, no matter if the deleted flag is set or not. This is the case because of the foreign key references. Just imagine the following sample: Rooms-Table: ID name deleted 1 room1 false 2 room2 true 3 room3 false Rooms-Organizations Table: ID rooms_id organisation_id 1 1 1 1 2 2 1 3 1 If you only export those records that are deleted == 'false' => the importer would add room3 as the record with the ID 2 and as consequence the room would be assigned to the organization 2 => which is wrong of course. And the same you have between all tables. That is why I did import records always WITH all records marked as "deleted" AND in the import process I did add each object with the ID ALREADY SET. That means I did not use the generated Id from Hibernate, I did use the ID that was provided with the XML. But this does not work anymore as openJPA does not accept objects where the ID is > 0. At the moment everything is fine if you do a single import directly after the installation. But for example a user creates an Organization (will be Id = 2), deletes it again, the ID=2 is gone, if we do any import now with references to an organization=2 => everything Fails. In the old implementation we still where able to add an Org with ID=2 cause we did provide the ID in the Import Object and did not use the generated one for objects that are created using the import. That is the problem, if you have an idea on what we might can do about those ID problem, maybe there is a Generator Class in openJPA that accepts self generated IDs. Sebastian 2011/7/18 Vasya <[email protected]>: > Hi Sebastian, > > I have found and fixed two errors in backup: > 1. Roommanagement.getInstance().getBackupRooms() returns error so root > condition of criteria query is not defined. > 2. BackupImport.getAppointmentListByXML method does not work properly > because ‘user_id’ is not set. > I have fixed these errors and sent you email with patch. > > So, I have question about > UsersDaoImpl.getInstance().getAllUsersDeleted() method. It’s not > cleared for me what list of users should be returns all users or > deleted users? This method calls from BackupExport for export users. > Please clarify what list of users should be return from this method. > > Tomorrow I will continue to work on openmeetings and try to resolve > other problems. > > Thanks, > Vasiliy. > > > On Jul 18, 1:55 pm, "[email protected]" <[email protected]> > wrote: >> Hi Vasya, >> >> I think I've fixed it, but some more testing would be good. >> I also found out that sometimes emails contain the char:  (and >>  and  ) >> ... the SaxParser fails to read those files >> ... I think it is because people copy/paste their email from somewhere >> in the fields. >> But I have no idea about how they do it ... However this only happens >> 1 time per 1000 users but still strange. >> >> For the Primary Key Issue I have no idea too, I changed it now but as >> you can imagine it can get quite confusing if the system generates the >> id itself and you import xxx records that "should" reference each >> other based on those IDs. For example rooms VS organisations or users >> VS organizations >> >> Sebastian >> >> 2011/7/18 Vasya <[email protected]>: >> >> >> >> >> >> >> >> >> >> > Hello Sebastian, >> >> > May be my test of backup was not completely. Today a have try to >> > retest the import of backup more details. >> >> > Thanks, >> >> > Vasily. >> >> > On Jul 18, 1:12 am, "[email protected]" <[email protected]> >> > wrote: >> >> The import of Backup did not work. OpenJPA does not accept to add a >> >> new object where the Primary Key is already set. This is neccessary >> >> for importing existing Records from one database to another because of >> >> the foreign key relation-ships. >> >> >> I have changed the code for now so that it works again. (in r3997) >> >> However, there are still some issues to be solved. >> >> >> You might never run into that, the imported checks if the Id does >> >> exists before it adds a new record. So if you export a freshly >> >> installed openmeetings and then import it again into the same => Zero >> >> happens. >> >> So to test the backup import you really need to generate some >> >> users/conferencerooms/calendar-events/private messages and contacts et >> >> cetera and then trying to import that backup into a fresh installed >> >> openmeetings database. >> >> >> Sebastian >> >> >> 2011/7/16 [email protected] <[email protected]>: >> >> >> > the saluation thing is fixed too.... >> >> >> > Sebastian >> >> >> > 2011/7/16 Maxim Solodovnik <[email protected]>: >> >> >> great to hear it :) >> >> >> please let me know in case of any issues you will found. >> >> >> >> On Sat, Jul 16, 2011 at 20:27, [email protected] >> >> >> <[email protected]> >> >> >> wrote: >> >> >> >>> ok ... >> >> >> >>> I've fixed that issue with the order. Now I need to add also the where >> >> >>> clause in the annotation. This is really nice, this manual sub-select >> >> >>> for the main-menu always was a nasty hack because the x-doclet hbm.xml >> >> >>> creation did not allow those sub-queries with where+orderby. ... this >> >> >>> is also the reason why we have STRING flag *deleted* and NOT a boolean >> >> >>> field *deleted*. In previous hibernate/xdoclet creation it was not >> >> >>> possible to write a annotation with a boolean value as where clause ^^ >> >> >>> At some point we might clean that up too. >> >> >> >>> The other one with the strang saluations_id / Primary Key is still to >> >> >>> be >> >> >>> done. >> >> >> >>> Sebastian >> >> >> >>> 2011/7/16 [email protected] <[email protected]>: >> >> >>> > Hi Maxim, >> >> >> >>> > I am currently checking out the openJPA refactoring. I like it, >> >> >>> > looks >> >> >>> > very nice and using annotations instead of XML files is quite >> >> >>> > elegant. >> >> >> >>> > Maybe you have an idea about those things: >> >> >>> > - The navigation items are ordered different. For example by default >> >> >>> > you have the calendar instead of the dashboard now. And in the >> >> >>> > Administration you have a different order too. You have some code to >> >> >>> > do the one-to-many relation in your mapping. I think we might remove >> >> >>> > that and use java.util.List again, I think java.util.Set is not save >> >> >>> > in meaning of the order of items. >> >> >>> > - The table saluations start with the id 251 in my case. Normally >> >> >>> > record 1 should have salutations_id 1. That is necessary as the its >> >> >>> > hardcoded in the client adminstration panel that "Mr" has the ID 1. >> >> >>> > You got an idea about that? >> >> >> >>> > Sebastian >> >> >> >>> > 2011/7/16 Maxim Solodovnik <[email protected]>: >> >> >>> >> Hello Sebastian, >> >> >>> >> I just checked: the last extension listed is png >> >> >>> >> and it is available for selection. >> >> >> >>> >> On Sat, Jul 16, 2011 at 17:58, [email protected] >> >> >>> >> <[email protected]> >> >> >>> >> wrote: >> >> >> >>> >>> Have you verified that all extension are visible then in the >> >> >>> >>> windows >> >> >>> >>> upload dialog? >> >> >>> >>> In previous flash version after xx extension it just cuts off and >> >> >>> >>> the >> >> >>> >>> rest was not visible or selectable at all. That was weird. That >> >> >>> >>> is why >> >> >>> >>> there are multiple columns and possibilities to choose. >> >> >> >>> >>> Sebastian >> >> >> >>> >>> 2011/7/16 <[email protected]>: >> >> >>> >>> > Revision: 3988 >> >> >>> >>> > Author: solomax666 >> >> >>> >>> > Date: Sat Jul 16 02:59:13 2011 >> >> >>> >>> > Log: - "Allowed Files" should contain all extensions >> >> >>> >>> > allowed >> >> >>> >>> >http://code.google.com/p/openmeetings/source/detail?r=3988 >> >> >> >>> >>> > Modified: >> >> >> >>> >>> > /trunk/singlewebapp/WebContent/openmeetings/base/components/upload/fileUpload.lzx >> >> >> >>> >>> > ======================================= >> >> >>> >>> > --- >> >> >> >>> >>> > /trunk/singlewebapp/WebContent/openmeetings/base/components/upload/fileUpload.lzx >> >> >>> >>> > Fri Jun 24 08:16:56 2011 >> >> >>> >>> > +++ >> >> >> >>> >>> > /trunk/singlewebapp/WebContent/openmeetings/base/components/upload/fileUpload.lzx >> >> >>> >>> > Sat Jul 16 02:59:13 2011 >> >> >>> >>> > @@ -64,7 +64,7 @@ >> >> >> >>> >>> > var imageTypes = new Object(); >> >> >>> >>> > imageTypes.description = "Allowed >> >> >>> >>> > Files"; >> >> >>> >>> > - imageTypes.extension = "*.txt; >> >> >>> >>> > *.pcd; >> >> >>> >>> > *.ps; >> >> >>> >>> > *.psd; *.tiff; *.bmp; *.svg; *.jpg; *.jpeg; *.gif; *.png; *.ppt; >> >> >>> >>> > *.pptx; >> >> >>> >>> > *.odp; *.odt; *.doc; *.docx; *.rtf; *.txt; *.ods; *.sxc; *.xls; >> >> >>> >>> > *.xlsx; >> >> >>> >>> > *.pdf"; >> >> >>> >>> > + imageTypes.extension = "*.txt; >> >> >>> >>> > *.ppt; >> >> >>> >>> > *.pptx; *.odp; *.odt; *.wpd; *.doc; *.docx; *.rtf; *.txt; *.ods; >> >> >>> >>> > *.sxc; >> >> >>> >>> > *.xls; *.xlsx; *.sxi; *.pdf; *.avi; *.mov; *.flv; *.mp4; *.tga; >> >> >>> >>> > *.xcf; >> >> >>> >>> > *.wpg; *.ico; *.ttf; *.pcd; *.pcds; *.ps; *.psd; *.tiff; *.bmp; >> >> >>> >>> > *.svg; >> >> >>> >>> > *.dpx; *.exr; *.jpg; *.jpeg; *.gif; *.png"; >> >> >>> >>> > allTypes.push(imageTypes); >> >> >> >>> >>> > imageTypes = new Object(); >> >> >>> >>> > @@ -78,7 +78,7 @@ >> >> >>> >>> > allTypes.push(imageTypes); >> >> >> >>> >>> > imageTypes = new Object(); >> >> >>> >>> > - imageTypes.extension = "*.tga; >> >> >>> >>> > *.xcf; >> >> >>> >>> > *.wpg; >> >> >>> >>> > *.ico; *.ttf; *.pcd; *.pcds; *.ps; *.psd; *.tiff; *.bmp; *.svg; >> >> >>> >>> > *.dpx; >> >> >>> >>> > *.exr; *.jpg; *.jpeg; *.gif; *.png"; >> >> >>> >>> > + imageTypes.extension = "*.tga; >> >> >>> >>> > *.xcf; >> >> >>> >>> > *.wpg; >> >> >>> >>> > *.ico; *.ttf; *.pcd; *.pcds; *.ps; *.psd; *.tiff; *.bmp; *.svg; >> >> >>> >>> > *.dpx; >> >> >>> >>> > *.exr; *.jpg; *.jpeg; *.gif; *.png"; >> >> >>> >>> > imageTypes.description = >> >> >>> >>> > "Pictures"; >> >> >>> >>> > allTypes.push(imageTypes); >> >> >> >>> >>> > -- >> >> >>> >>> > You received this message because you are subscribed to the >> >> >>> >>> > Google >> >> >>> >>> > Groups >> >> >>> >>> > "OpenMeetings developers" group. >> >> >>> >>> > To post to this group, send email to >> >> >>> >>> > [email protected]. >> >> >>> >>> > To unsubscribe from this group, send email to >> >> >>> >>> > [email protected]. >> >> >>> >>> > For more options, visit this group at >> >> >>> >>> >http://groups.google.com/group/openmeetings-dev?hl=en. >> >> >> >>> >>> -- >> >> >>> >>> Sebastian Wagner >> >> >>> >>>http://www.webbase-design.de >> >> >>> >>>http://openmeetings.googlecode.com >> >> >>> >>>http://www.wagner-sebastian.com >> >> >>> >>> [email protected] >> >> >> >>> >> -- >> >> >>> >> WBR >> >> >>> >> Maxim aka solomax (icq #20779631; skype maxim.solodovnik) >> >> >>> >> mobile phone: +79133861155 >> >> >> >>> > -- >> >> >>> > Sebastian Wagner >> >> >>> >http://www.webbase-design.de >> >> >>> >http://openmeetings.googlecode.com >> >> >>> >http://www.wagner-sebastian.com >> >> >>> > [email protected] >> >> >> >>> -- >> >> >>> Sebastian Wagner >> >> >>>http://www.webbase-design.de >> >> >>>http://openmeetings.googlecode.com >> >> >>>http://www.wagner-sebastian.com >> >> >>> [email protected] >> >> >> >> -- >> >> >> WBR >> >> >> Maxim aka solomax (icq #20779631; skype maxim.solodovnik) >> >> >> mobile phone: +79133861155 >> >> >> > -- >> >> > Sebastian Wagner >> >> >http://www.webbase-design.de >> >> >http://openmeetings.googlecode.com >> >> >http://www.wagner-sebastian.com >> >> > [email protected] >> >> >> -- >> >> Sebastian >> >> Wagnerhttp://www.webbase-design.dehttp://openmeetings.googlecode.comhttp://... >> >> [email protected] >> >> > -- >> > You received this message because you are subscribed to the Google Groups >> > "OpenMeetings developers" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group >> > athttp://groups.google.com/group/openmeetings-dev?hl=en. >> >> -- >> Sebastian >> Wagnerhttp://www.webbase-design.dehttp://openmeetings.googlecode.comhttp://www.wagner-sebastian.com >> [email protected] > > -- > You received this message because you are subscribed to the Google Groups > "OpenMeetings developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/openmeetings-dev?hl=en. > > -- Sebastian Wagner http://www.webbase-design.de http://openmeetings.googlecode.com http://www.wagner-sebastian.com [email protected] -- You received this message because you are subscribed to the Google Groups "OpenMeetings developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/openmeetings-dev?hl=en.
