Please open a bug report. I will have a look on the weekend. Thanks, Norman
2011/9/1 Saibabu Vallurupalli <[email protected]>: > Hi Eric, From the error I am getting I went and saw the code and found two > lines of comment. > > ********** > // We need to reload a "JPA attached" mailbox, because the provide mailbox > is already "JPA detached" > // If we don't this, we will get an > org.apache.openjpa.persistence.ArgumentException. > ((AbstractJPAMessage) > message).setMailbox(getEntityManager().find(JPAMailbox.class, > mailbox.getMailboxId())); > > getEntityManager().persist(message); > ********* > > It is exactly failing at find method. And the above commented lines in > JPAMessageMapper.save() method says mailbox is already JPA detached and we > need JPA attached. When it is attaching is there something to do with > Encryption code? > > Thanks, Sai > > > On Thu, Sep 1, 2011 at 8:12 AM, Eric Charles > <[email protected]>wrote: > >> Hi Sai, >> >> I replied 1 hour ago on james mailing list (sometimes it takes time for >> mail to arrive) - See answer hereafter. >> >> If you are in a hurry, my skype id is echarles7 (no guarantee on my >> availability, I'm on a business trip in San Jose, CA for now). >> >> >> Answer I sent: >> >> Hi Sai, >> >> When you run the tests in the mailbox-jpa module, there are no >> persistence.xml, but all the JPA properties are set via code. >> >> If you look at the 3 classes in http://svn.apache.org/repos/** >> asf/james/mailbox/trunk/jpa/**src/test/java/org/apache/** >> james/mailbox/jpa/<http://svn.apache.org/repos/asf/james/mailbox/trunk/jpa/src/test/java/org/apache/james/mailbox/jpa/>, >> you will see for example >> >> properties.put("openjpa.**MetaDataFactory", "jpa(Types=" + >> JPAMailbox.class.getName() + ";" + >> AbstractJPAMessage.class.**getName() + ";" + >> JPAMessage.class.getName() + ";" + >> JPAProperty.class.getName() + ";" + >> JPAUserFlag.class.getName() + ";" + >> JPASubscription.class.getName(**) + ")"); >> >> This is where you have to change to add the JPAEncryptedMessage. >> >> >> >> When you run the server as a whole, you need to build the app module. >> >> In this case, the file to change is >> http://svn.apache.org/repos/**asf/james/app/trunk/src/main/** >> config/james/META-INF/**persistence.xml<http://svn.apache.org/repos/asf/james/app/trunk/src/main/config/james/META-INF/persistence.xml> >> >> You will do 'mvn package', and the generated zip/tar.gz will contain that >> file. >> >> >> I hope you can make it, even if I am a bit late for you work night. >> >> Thx. >> >> >> >> >> On 01/09/11 04:32, Saibabu Vallurupalli wrote: >> >>> Hi Eric, Sorry trouble you. Do you have any response for me on this >>> email below? I have tried various other options around JPAMessage and so >>> far I have not been successful. >>> >>> I greatly appreciate your help on this. >>> >>> Thanks, >>> Sai >>> >>> >>> ---------- Forwarded message ---------- >>> From: *Saibabu Vallurupalli* >>> <saibabu.vallurupalli@gmail.**com<[email protected]> >>> <mailto:saibabu.vallurupalli@**gmail.com <[email protected]> >>> >> >>> Date: Wed, Aug 31, 2011 at 9:53 PM >>> Subject: Re: FW: Unable to move emails between folders with Encryption >>> turned - on >>> To: James Developers List <[email protected] >>> <mailto:server-dev@james.**apache.org <[email protected]>>> >>> >>> >>> >>> Hi Eric, >>> >>> O.k.. I agree with you. But I need little bit more details regarding >>> what should I do for the path. Since, I have the environment I can try >>> this locally and also deploy in our Test environment and perform quick >>> regression testing. >>> >>> Path: >>> JPAMainboxManager.java is using JPAMessage object I need to modify the >>> code to use JPAEncryptedMessage and return the same. >>> >>> I am trying this locally and the tests failed, Now my understanding is I >>> also need to change persistence.xml file. Since, I am not 100% used to >>> the development environment I need to know how Maven uses this file and >>> from where this file will be picked? >>> >>> Can you please give me some insight about the path? I will be working >>> tonight to get this patch out. If you could help me I really appreciate >>> you. I am in USA EST timezone. >>> >>> Thanks, >>> Sai >>> >>> >>> >>> On Wed, Aug 31, 2011 at 7:27 PM, Eric Charles >>> <[email protected] >>> <mailto:eric.charles@u-**mangate.com<[email protected]>>> >>> wrote: >>> >>> Hi Sai, >>> >>> If you change JPAMessage to JPAEncryptedMessage in the >>> JPAMessageManager, you must update persistence.xml accordingly. >>> >>> However, even if OpenJPAMailboxManager handles the encryption >>> feature to initialize the EncryptionDecryptHelper if needed, the >>> JPAMailboxManager should also verify the feature, and return a >>> JPAEncryptedMessage if needed. >>> >>> I hope this makes sense, and if yes, a patch is needed. >>> >>> wdyt? >>> >>> >>> On 31/08/11 15:19, Saibabu Vallurupalli wrote: >>> >>> Hi Eric/Norman: >>> >>> I am able to reproduce this error in a simple way. In my >>> checked-out version >>> - >>> C:\work\workspace\james\__**mailbox\trunk\jpa\src\main\__** >>> java\org\apache\james\mailbox\**__jpa\JPAMessageManager.java >>> There is reference to JPAMessage.java class and I changed it to >>> JPAEncryptedMessage.java ran the maven clean package and the >>> tests failed >>> with the similar exception: >>> >>> Thought of letting you. Thank you very much in advance. >>> >>> Thanks, Sai >>> >>> >>> >>> >>> ______________________________**_________________ >>> *From:* Valluripalli, Sai >>> *Sent:* Wednesday, August 31, 2011 2:42 PM >>> *To:* '[email protected] >>> >>> <mailto:server-dev@james.**apache.org<[email protected]> >>> >' >>> >>> *Subject:* Unable to move emails between folders with >>> Encryption turned - >>> on >>> >>> >>> Hi Norman/Eric, >>> >>> We were in our System Testing phase and close to our >>> release. During our >>> System Testing we discovered that Move option is not >>> working between the >>> folders. When we try to move email from Inbox to Trash we >>> encounter the >>> exception below. I have also got the complete log if you >>> need. But the root >>> cause I understood from the below exception is somewhere in >>> the mail/store >>> code and other places JPAMessage class is referenced and >>> when I changed it >>> to JPAEncryptedMessage it is unable to locate JPAMessage and >>> throwing the >>> exception. >>> >>> Is there any master configuration to modify or do I need to >>> refer >>> JPAEncryptedMessage.java class to any other modules and >>> re-compile it? >>> Please advise. >>> >>> Caused by:<openjpa-2.1.0-r422266:__**1071316 fatal user error> >>> org.apache.openjpa.__**persistence.ArgumentException: No >>> metadata was found for >>> type "class >>> org.apache.james.mailbox.jpa._**_mail.model.openjpa.** >>> JPAMessage"__. >>> The >>> class does not appear in the list of persistent types: >>> [org.apache.james.mailbox.jpa.**__mail.model.JPAUserFlag, >>> org.apache.james.mailbox.jpa._**_mail.model.JPAMailbox, >>> org.apache.james.mailbox.jpa._**_mail.model.openjpa.__** >>> JPAEncryptedMessage, >>> org.apache.james.domainlist.__**jpa.model.JPADomain, >>> org.apache.james.mailbox.jpa._**_mail.model.openjpa.__** >>> AbstractJPAMessage, >>> org.apache.james.user.jpa.__**model.JPAUser, >>> org.apache.james.mailbox.jpa._**_mail.model.JPAProperty, >>> org.apache.james.rrt.jpa.__**model.JPARecipientRewrite, >>> org.apache.james.mailbox.jpa._**_user.model.JPASubscription]. >>> at >>> org.apache.openjpa.meta.__**MetaDataRepository.__** >>> getMetaDataInternal(__**MetaDataRepository.java:407) >>> at >>> org.apache.openjpa.meta.__**MetaDataRepository.__** >>> getMetaData(__**MetaDataRepository.java:384) >>> at >>> org.apache.openjpa.kernel.__**BrokerImpl.persistInternal(__** >>> BrokerImpl.java:2601) >>> at >>> org.apache.openjpa.kernel.__**BrokerImpl.persist(BrokerImpl.** >>> __java:2540) >>> at >>> org.apache.openjpa.kernel.__**BrokerImpl.persist(BrokerImpl.** >>> __java:2437) >>> at >>> org.apache.openjpa.kernel.__**DelegatingBroker.persist(__** >>> DelegatingBroker.java:1069) >>> at >>> org.apache.openjpa.__**persistence.EntityManagerImpl.** >>> __persist(EntityManagerImpl.__**java:707) >>> at >>> sun.reflect.__**NativeMethodAccessorImpl.__**invoke0(Native >>> Method) >>> at >>> sun.reflect.__**NativeMethodAccessorImpl.__**invoke(__** >>> NativeMethodAccessorImpl.java:**__39) >>> at >>> sun.reflect.__**DelegatingMethodAccessorImpl._**_invoke(__** >>> DelegatingMethodAccessorImpl._**_java:25) >>> at java.lang.reflect.Method.__** >>> invoke(Method.java:597) >>> at >>> org.springframework.orm.jpa.__**ExtendedEntityManagerCreator$_ >>> **_**ExtendedEntityManagerInvocatio**__nHandler.invoke(__** >>> ExtendedEntityManagerCreator._**_java:365) >>> >>> at $Proxy56.persist(Unknown Source) >>> at >>> org.apache.james.mailbox.jpa._**_mail.JPAMessageMapper.save(__ >>> **JPAMessageMapper.java:362) >>> ... 100 more >>> DEBUG 12:55:29,285 | james.imapserver | ID=1684154803 Error >>> while >>> processing imap request >>> >>> >>> We appreciate your help on this. >>> >>> Thank you, Sai. >>> >>> >>> >>> >>> -- >>> Eric >>> http://about.echarles.net >>> >>> -- >>> Eric >>> http://about.echarles.net >>> >>> ------------------------------**__----------------------------** >>> --__--------- >>> To unsubscribe, e-mail: server-dev-unsubscribe@james._**_apache.org >>> >>> <mailto:server-dev-**[email protected]<[email protected]> >>> > >>> >>> For additional commands, e-mail: [email protected]._**_org >>> >>> <mailto:server-dev-help@james.**apache.org<[email protected]> >>> > >>> >>> >>> >>> >> -- >> Eric >> http://about.echarles.net >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
