openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Curtis <curti...@gmail.com>
Subject Re: Encryption and Decryption
Date Tue, 12 Jul 2011 17:21:24 GMT
I didn't look too closely, but they look correct.

On Tue, Jul 12, 2011 at 12:19 PM, Saibabu Vallurupalli <
saibabu.vallurupalli@gmail.com> wrote:

> Sorry Rick, May be this is issue with James libraries. I will review my
> libraries and also get in touch with James team.
>
> Now you have reviewed my fix. Do you think I implemented @Externalizer and
> @Factory annotations correctly?
>
> Thank you,
> Sai
>
>
> On Tue, Jul 12, 2011 at 1:15 PM, Rick Curtis <curtisr7@gmail.com> wrote:
>
> > Yep, I took a look at them. The exception says that you are trying to
> > create
> > a JPAMessage with the following signature
> >
> >
> (Ljava/io/InputStream;JILjava/util/List;Lorg/apache/james/mailbox/store/mail/model/PropertyBuilder),
> > but it doesn't look like that constructor exists? Take a closer look at
> > JPAMailboxMembership.
> >
> > On Tue, Jul 12, 2011 at 12:09 PM, Saibabu Vallurupalli <
> > saibabu.vallurupalli@gmail.com> wrote:
> >
> > > Hi Rick, I came to know apache.org blocks the email attachments. I
> sent
> > to
> > > your GMail can you please check?
> > >
> > > Thanks, Sai.
> > >
> > >
> > > On Tue, Jul 12, 2011 at 1:01 PM, Rick Curtis <curtisr7@gmail.com>
> wrote:
> > >
> > > > I don't see the files?
> > > >
> > > > On Tue, Jul 12, 2011 at 11:29 AM, Saibabu Vallurupalli <
> > > > saibabu.vallurupalli@gmail.com> wrote:
> > > >
> > > > > Rick,
> > > > >
> > > > > This is where exactly the message construction is called. I
> modified
> > > > > JPAMessage.java file and this has constructors initiating the
> actual
> > > > message
> > > > > creation. The entity attributes are filled in and this is the place
> > > where
> > > > > the @Externalizer and @Factory annotations get initiated.
> > > > >
> > > > > I attached the Java files for your convenience. Let me know if you
> > > didn't
> > > > > get them. Thank you very much.
> > > > >
> > > > > Thanks,
> > > > > Sai
> > > > >
> > > > >
> > > > >
> > > > > On Tue, Jul 12, 2011 at 12:04 PM, Rick Curtis <curtisr7@gmail.com>
> > > > wrote:
> > > > >
> > > > >> OpenJPA-2.0.1 should fully support Externalizer / Factory. What
> are
> > > you
> > > > >> trying to do on this line JPAMailboxMembership.java:59 ?
> > > > >>
> > > > >> On Tue, Jul 12, 2011 at 10:54 AM, Saibabu Vallurupalli <
> > > > >> saibabu.vallurupalli@gmail.com> wrote:
> > > > >>
> > > > >> > Hi Rick,
> > > > >> >
> > > > >> > Yesterday I completed the development and spent lot of time
in
> > > > deploying
> > > > >> to
> > > > >> > run the tests. I did this fix in Apache James Mailbox/JPA
> > > environment.
> > > > >> > Was not able to fix the other issue with runtime, after
> deploying
> > > and
> > > > >> > starting James server it comes up well. During runtime when
I am
> > > > sending
> > > > >> an
> > > > >> > email IMAP Server fails throwing error as below:
> > > > >> > ***************
> > > > >> > DEBUG 13:57:43,019 | james.imapserver | ID=171407124 Error
while
> > > > >> processing
> > > > >> > imap request
> > > > >> > java.lang.NoSuchMethodError: org.apache.james.mailbox.jpa.
> > > > >> >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> mail.model.openjpa.JPAMessage.<init>(Ljava/io/InputStream;JILjava/util/List;Lorg/apache/james/mailbox/store/mail/model/PropertyBuilder;)V
> > > > >> >    at
> > > > >> >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMembership.<init>(JPAMailboxMembership.java:59)
> > > > >> > ***************
> > > > >> >
> > > > >> > I am wondering if this has something to do with OpenJPA
version
> I
> > am
> > > > >> using
> > > > >> > as part of Apache James.
> > > > >> > When I went and looked under James/lib folder I see
> > > > "openjpa-2.0.1.jar".
> > > > >> Is
> > > > >> > this is correct JAR supporting the @Externalizer and @Factory
> > > > >> > implementations?
> > > > >> >
> > > > >> > Please advise.
> > > > >> >
> > > > >> > Thank you,
> > > > >> > Sai
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> > On Mon, Jul 11, 2011 at 11:41 AM, Rick Curtis <
> curtisr7@gmail.com
> > >
> > > > >> wrote:
> > > > >> >
> > > > >> > > Great! Let us know how it goes.
> > > > >> > >
> > > > >> > > On Mon, Jul 11, 2011 at 10:31 AM, Saibabu Vallurupalli
<
> > > > >> > > saibabu.vallurupalli@gmail.com> wrote:
> > > > >> > >
> > > > >> > > > Hi Rick,
> > > > >> > > > After running into the issue I mentioned above.
I read the
> > > > >> > documentation
> > > > >> > > of
> > > > >> > > > using @Externalizer / @Factory annotations and
tried
> something
> > > > >> below:
> > > > >> > > >
> > > > >> > > > Modified
> > > > >> > org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMessage.java
> > > > >> > > by
> > > > >> > > > adding the lines below:
> > > > >> > > > *************
> > > > >> > > > /** The value for the body field. Lazy loaded
*/
> > > > >> > > >    /** We use a max length to represent 1gb data.
Thats
> prolly
> > > > >> > overkill,
> > > > >> > > > but who knows */
> > > > >> > > >     @Basic(optional = false, fetch = FetchType.LAZY)
> > > > >> > > >    @Column(name = "MAIL_BYTES", length = 1048576000,
> nullable
> > =
> > > > >> false)
> > > > >> > > >    * @Externalizer("CustomJPAMessage.getEncryptedMessage")
> > > > >> > > >    @Factory("CustomJPAMessage.getDecryptedMessage")*
> > > > >> > > >    @Lob private byte[] body;
> > > > >> > > > *************
> > > > >> > > >
> > > > >> > > > Created CustomerJPAMessage java class and added
the methods
> > like
> > > > >> below:
> > > > >> > > > *************
> > > > >> > > > package org.apache.james.mailbox.jpa.mail.model.openjpa;
> > > > >> > > >
> > > > >> > > > public class CustomJPAMessage
> > > > >> > > > {
> > > > >> > > >
> > > > >> > > >    public static byte[] getEncryptedMessage(byte[]
body)
> > > > >> > > >    {
> > > > >> > > >        return body;
> > > > >> > > >    }
> > > > >> > > >
> > > > >> > > >    public static byte[] getDecryptedMessage(byte[]
body)
> > > > >> > > >    {
> > > > >> > > >        return body;
> > > > >> > > >    }
> > > > >> > > > }
> > > > >> > > > *************
> > > > >> > > >
> > > > >> > > > Everything worked great. Now, I understood how
to use these
> > > > >> > annotations.
> > > > >> > > >
> > > > >> > > > Working on using JASYPT API.
> > > > >> > > >
> > > > >> > > > Thank you all so much for putting me in right
direction.
> > > > >> > > >
> > > > >> > > > Thanks,
> > > > >> > > > Sai
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > On Mon, Jul 11, 2011 at 10:27 AM, Rick Curtis
<
> > > curtisr7@gmail.com
> > > > >
> > > > >> > > wrote:
> > > > >> > > >
> > > > >> > > > > Saibabu -
> > > > >> > > > >
> > > > >> > > > > I'll put together a small example of how
to use
> > @Externalizer
> > > /
> > > > >> > > @Factory
> > > > >> > > > > with JASYPT sometime here this morning.
> > > > >> > > > >
> > > > >> > > > > Thanks,
> > > > >> > > > > Rick
> > > > >> > > > >
> > > > >> > > > > On Mon, Jul 11, 2011 at 7:58 AM, Saibabu
Vallurupalli <
> > > > >> > > > > saibabu.vallurupalli@gmail.com> wrote:
> > > > >> > > > >
> > > > >> > > > > > Hi Pinaki,
> > > > >> > > > > >
> > > > >> > > > > > Good morning.
> > > > >> > > > > > I tried the approach of using @Externalizer
annotation
> as
> > > > below
> > > > >> and
> > > > >> > > got
> > > > >> > > > > an
> > > > >> > > > > > error says @Externalizer can be only
used for methods
> not
> > > for
> > > > >> > fields.
> > > > >> > > > > Then
> > > > >> > > > > > I
> > > > >> > > > > > have gone through the documentation
and found I should
> be
> > > > using
> > > > >> > > > > > @ExternalValues and after using I started
getting error
> as
> > > > >> below:
> > > > >> > > > > >
> > > > >> > > > > > ***********
> > > > >> > > > > > Caused by: <openjpa-2.1.0-r422266:1071316
fatal user
> > error>
> > > > >> > > > > > org.apache.openjpa.p
> > > > >> > > > > > ersistence.ArgumentException: The field
> > > > >> > > > > > "org.apache.james.mailbox.jpa.mail.model
> > > > >> > > > > > .openjpa.JPAMessage.body" cannot use
the external-values
> > > > >> property.
> > > > >> > > > > External
> > > > >> > > > > > valu
> > > > >> > > > > > es can only be declared for fields of
primitives,
> > primitive
> > > > >> > wrappers,
> > > > >> > > > or
> > > > >> > > > > > strings
> > > > >> > > > > > .
> > > > >> > > > > >        at
> > > > >> > > > > >
> > > > >> >
> > > org.apache.openjpa.meta.FieldMetaData.transform(FieldMetaData.java:15
> > > > >> > > > > > 38)
> > > > >> > > > > > **********
> > > > >> > > > > >
> > > > >> > > > > > Can you please advise me where I am
going wrong.
> > > > >> > > > > >
> > > > >> > > > > > Thank you,
> > > > >> > > > > > Sai
> > > > >> > > > > >
> > > > >> > > > > > On Fri, Jul 8, 2011 at 4:57 PM, pvalluri
<
> > > > >> > > > saibabu.vallurupalli@gmail.com
> > > > >> > > > > > >wrote:
> > > > >> > > > > >
> > > > >> > > > > > > Hi Pinaki,
> > > > >> > > > > > >
> > > > >> > > > > > > Yes, This is really easy and cool.
I am still in
> process
> > > of
> > > > >> > setting
> > > > >> > > > up
> > > > >> > > > > my
> > > > >> > > > > > > development environment for James
to add this
> annotation
> > > in
> > > > my
> > > > >> > > class
> > > > >> > > > > and
> > > > >> > > > > > a
> > > > >> > > > > > > question popped up in my mind.
> > > > >> > > > > > > Just adding annotation will take
care of both
> > > > >> > > Encryption/Decryption.
> > > > >> > > > I
> > > > >> > > > > > > don't
> > > > >> > > > > > > have to do anything else :-)
> > > > >> > > > > > > Can't believe, Thanks so much for
suggesting this
> > > solution.
> > > > >> > > > > > >
> > > > >> > > > > > > I have a class with filed declared
as shown below:
> > > > >> > > > > > > *********
> > > > >> > > > > > > public class JPAMessage extends
AbstractJPAMessage {
> > > > >> > > > > > >
> > > > >> > > > > > >    /** The value for the body field.
Lazy loaded */
> > > > >> > > > > > >    /** We use a max length to represent
1gb data.
> Thats
> > > > prolly
> > > > >> > > > > overkill,
> > > > >> > > > > > > but who knows */
> > > > >> > > > > > >     @Externalizer
> > > > >> > > > > > >     @Basic(optional = false, fetch
= FetchType.LAZY)
> > > > >> > > > > > >    @Column(name = "MAIL_BYTES",
length = 1048576000,
> > > > nullable
> > > > >> =
> > > > >> > > > false)
> > > > >> > > > > > >    @Lob private byte[] body;
> > > > >> > > > > > >
> > > > >> > > > > > > // methods related to this class
getter and
> > > > creator...here...
> > > > >> > > > > > > }
> > > > >> > > > > > > ********
> > > > >> > > > > > > Is this the correct way of doing
it. Sorry for asking
> > the
> > > > same
> > > > >> > > > question
> > > > >> > > > > > > again. I am very new to OpenJPA
and this has become
> real
> > > > >> critical
> > > > >> > > for
> > > > >> > > > > us.
> > > > >> > > > > > >
> > > > >> > > > > > > Thank you very much in advance.
> > > > >> > > > > > >
> > > > >> > > > > > > Thanks, Sai.
> > > > >> > > > > > >
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > --
> > > > >> > > > > *Rick Curtis*
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> > >
> > > > >> > >
> > > > >> > > --
> > > > >> > > *Rick Curtis*
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >>
> > > > >>
> > > > >> --
> > > > >> *Rick Curtis*
> > > > >>
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > *Rick Curtis*
> > > >
> > >
> >
> >
> >
> > --
> > *Rick Curtis*
> >
>



-- 
*Rick Curtis*

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message