read my email, i said it is possible without salve. salve just makes
it easier by letting you put the annotation on any method of any
class.

salve ships with 3 instrumentation options. there is the agent for
load time weaving, a maven2 plugin for compile time weaving, and an
eclipse plugin for dev time weaving.

i have also recently added something cool for wicket - expression
checking. if you use salve's contract instrumentor you can have it
validate property expressions, so you can do

new PropertyModel(contact, new PE(Contact.class,
"address.street1").toString()) and get an instrumentation, read
compile, time error if there is no contact.getaddress().getstreet1().
doesnt refactor like the proxy idea but is also much more light weight
and works on map and list properties.

-igor

On Thu, Sep 18, 2008 at 6:42 PM, James Carman
<[EMAIL PROTECTED]> wrote:
> I didn't think so.  My apologies if I misunderstood.  I was talking
> about using the spring-aspects stuff and having the AspectJ compiler
> weave the aspects into your code at compile time.  Isn't Salve a
> load-time weaver?
>
> On Thu, Sep 18, 2008 at 8:37 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>> isnt that what i said?
>>
>> -igor
>>
>> On Thu, Sep 18, 2008 at 4:11 PM, James Carman
>> <[EMAIL PROTECTED]> wrote:
>>> You don't need Salve for that.  You can just use the AspectJ compiler
>>> and weave the transactional support into your form class.
>>>
>>> On Thu, Sep 18, 2008 at 6:49 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>>>> with salve you can do a neat thing:
>>>>
>>>> class transactionalform extends form {
>>>>   @Transactional process() {
>>>>        super.process();
>>>>   }
>>>> }
>>>>
>>>> now if your form uses an ldm that loads an entity you dont even need
>>>> an onsubmit, things just get updated automatically because model
>>>> updates happen within a transaction.
>>>>
>>>> you can do the same without salve but you will have to manually start
>>>> and commit/rollback the transaction.
>>>>
>>>> this is probably the easiest way if you have a rich model and it
>>>> doesnt invole the somewhat ugly merge call. of course this wont work
>>>> for all forms, but for most i think it should.
>>>>
>>>> -igor
>>>>
>>>> On Thu, Sep 18, 2008 at 3:43 PM, Ryan <[EMAIL PROTECTED]> wrote:
>>>>> I know this topic has come up a few times on the list but I wanted to
>>>>> rehash some ideas again.
>>>>>
>>>>> I'm using Spring/Hibernate/Declarative Transactions. We try to keep our
>>>>> data-models rich and that helps a lot with transactional support
>>>>> (services direct the rich-models and commit at the end of the service
>>>>> call).
>>>>>
>>>>> I still occasionally run into times when I want the onSubmit in a form
>>>>> to start a transaction. I've basically decided to just use Spring's
>>>>> programmatic transaction demarcation in those areas. Ive seen Igor
>>>>> mention Salve, but I could not find any good examples, and I am not very
>>>>> familier with Guice.
>>>>>
>>>>> Aside from these ideas, has anyone used a different method for starting
>>>>> transactions inside of wicket when needed?
>>>>>
>>>>> Thanks!
>>>>> Ryan
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to