Re: Migrating from EOF to ????

2012-07-13 Thread John Huss
Tapestry has been through one or two complete rewrites, and the latest
version 5.x is one of them - it's brand new.  Tapestry is probably the web
framework that is most like WO, but there are some important differences.
 It would not be trivial to convert an app I think.  Their markup and use
of component classes is basically the same, so an app that uses all inline
components could possibly be converted.  Out of the box, passing data
around between pages (like an EO) is relatively difficult - it wants to be
stateless where WO wants to be stateful.  Similarly, if you have a loop
component with links each link will not be unique unless you explicitly
make it so, like by including the index in the array or the primary key of
the object into it.  The URLs are "clean" and completely user-defined,
which can be nice, but requires more work whereas WO would just take care
of everything for you.  It also has a "feature" where every component
action requires 2 http requests to the server: one to perform the action,
and one to redirect to the next page.  This solves some problems like
duplicate form submission, etc, but it is a little weird and also
sub-optimal.   On the deployment side, I'm not sure if it can be used
outside of a servlet container.

There are some nice features that it has like annotation-defined validation
(like @Required), which gives you validation on both the client and server.
It has hot reloading of component classes so you can add methods without
restarting during development.

In general though there is nothing compelling enough for me to think about
rewriting existing code in Tapestry (or any framework).  For new projects
it might be worth a look, but there are lot of frameworks out there and I
would put many in front of Tapestry.  If I was doing a lot of HTML pages
anymore I would look hard at using Play 2.0 with Scala.

John

On Friday, July 13, 2012, Pascal Robert wrote:

>
> Le 2012-07-13 à 19:39, Lars Sonchocky-Helldorf a écrit :
>
> >
> > Am 13.07.2012 um 22:20 schrieb JR Ruggentaler:
> >
> >> Isn't Tapestry (http://tapestry.apache.org/) a WO like web application
> >> framework? Tapestry integrates with Cayenne
> >> (http://code.google.com/p/tapestry5-cayenne/). Maybe Tapestry +
> Cayenne =
> >> Open WO.
> >
> > I used to do that several years ago in one of my employers projects for
> a customer. Although Tapestry and Cayenne are clearly inspired by WO the
> experience was sup-par (I could go into detail, for instance a repetition
> in a repetition was somewhat of a hairy topic for Tapestry because of
> object reuse, Incompatibility even between minor versions (4.x vs. 4.y not
> to speak of 4.x vs. 5.y). This might have changed over the time but it was
> no more than a "nice try™" at this time.
>
> Someone at WOWODC also said that Tapestry API changes between major
> versions is a PITA. I don't think we want another RoR here :-)
>  ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> https://lists.apple.com/mailman/options/webobjects-dev/johnthuss%40gmail.com
>
> This email sent to johnth...@gmail.com
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread John Huss
They just have what the java world has; which is JAX-RS and it's
implementations like Jersey+Jackson and RestEasy.  It's good I think, but
completely generic, so something that is specific designed to handle entity
objects is helpful.  So yes ERRest could be useful.  Or recreating
something like it with JAX-RS.

On Friday, July 13, 2012, Chuck Hill wrote:

> Maybe start by asking "Does Cayenne already have anything like ERRest?"
>  If not, they might be glad of getting it.
>
>
> On 2012-07-13, at 4:20 PM, Pascal Robert wrote:
>
> > Do you think having a version of ERRest on top of Cayenne would make
> sense? Since ERRest make a lot of EOF calls, it might be a good example of
> trying to move something to Cayenne and to see what's missing.
> >
> >> So this thread has devolved quite a bit from it's original intent.  One
> of my original goals was to detail the areas where people could help with
> an effort to provide an easy and painless migration to Cayenne.  I haven't
> seen much interest in helping thus far.  So if you are interested, please
> speak up.  If not, then we can just go back to debating for another year.
> >>
> >> John
> >> ___
> >> Do not post admin requests to the list. They will be ignored.
> >> Webobjects-dev mailing list  
> >> (Webobjects-dev@lists.apple.com
> )
> >> Help/Unsubscribe/Update your Subscription:
> >>
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> >>
> >> This email sent to prob...@macti.ca 
> >
> >
> > ___
> > Do not post admin requests to the list. They will be ignored.
> > Webobjects-dev mailing list  
> > (Webobjects-dev@lists.apple.com
> )
> > Help/Unsubscribe/Update your Subscription:
> >
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> >
> > This email sent to ch...@global-village.net 
>
> --
> Chuck Hill Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their overall
> knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/gvc/practical_webobjects
>
>
>
>
>
>
>
>
>
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Deep ERRest knowledge? - I'm adding an ERXJSONPRestWriter

2012-07-13 Thread Jesse Tayler

heh, er,…um, no sir!

but I'm trying to get there!

I went and made myself a fork earlier - that was fun. everyone should have a 
wonder-fork.

I'll get this stuff together and push my changes here:

https://github.com/jtayler/wonder

and just like the video from the WOWODC… 

I'm being the good citizen and trying to check this stuff in properly!

seriously, I'll get that pushed onto my own special fork tonight (if I'm able 
before falling asleep!), and I guess you should be able to "watch" and see what 
I'm trying to do here...

thanks!!



On Jul 13, 2012, at 8:01 PM, Pascal Robert  wrote:

> Did you push your changes to your fork of Wonder on GitHub?
> 
>> 
>> indeed! 
>> 
>> overkill!
>> 
>> and I HATE killing overs!
>> 
>> but when you say "ERRest will look at the request" -- isn't that what I'm 
>> trying to do?
>> 
>> or I should say, how should I bet implement this callback query argument is 
>> present?
>> 
>> aside from setting up a few keys for jsonp, at this time, I simply set the 
>> response header to javascript and I "can" the callback method name.
>> 
>> you'll see I had written in some code which I figured would get the 
>> requested callback name and send via userInfo, which is obviously not needed.
>> 
>> so, can I somehow access the request from here? or how do I otherwise look 
>> at the request at the right time and do the right thing?
>> 
>> 
>> 
>> 
>> 
>> 
>> public class ERXJSONPRestWriter extends ERXJSONRestWriter {
>>  
>>  public void appendHeadersToResponse(ERXRestRequestNode node, 
>> IERXRestResponse response, ERXRestContext context) {
>>  response.setHeader("text/javascript;charset=UTF-8", 
>> "Content-Type");
>>  }
>> 
>>  public void appendToResponse(ERXRestRequestNode node, IERXRestResponse 
>> response, ERXRestFormat.Delegate delegate, ERXRestContext context) {
>>  String callbackName = (String) 
>> context.userInfoForKey("callback");
>>  
>>  if (callbackName != null)
>>  response.appendContentString(callbackName + "(");
>>  else 
>>  response.appendContentString("callback(");
>>  
>> 
>>  node = processNode(node);
>>  if (node != null) {
>>  node._removeRedundantTypes();
>>  }
>>  
>>  appendHeadersToResponse(node, response, context);
>>  Object object = node.toJavaCollection(delegate);
>>  if (object == null) {
>>  response.appendContentString("undefined");
>>  }
>>  else if (ERXRestUtils.isPrimitive(object)) {
>>  response.appendContentString(String.valueOf(object));
>>  }
>>  else {
>>  
>> response.appendContentString(JSONSerializer.toJSON(object, 
>> configWithContext(context)).toString());
>>  }
>>  
>>  response.appendContentString(");");
>>  }
>> 
>> }
>> 
>> 
>> 
>> On Jul 13, 2012, at 7:50 PM, Pascal Robert  wrote:
>> 
>>> That's overkill :-) It should be implemented like the window.name 
>>> transport, e.g. ERRest will look at the request to see if a "callback" 
>>> query argument was passed, and if yes, wrap it.
>>> 
 I'm adding an ERXJSONPRestWriter in Wonder, to support JSONP in ERRest
 
 so, like getting any ERRest format request, you can now also get jsonp:
 
 /ra/Person/306.jsonp
 
 so far, so good 
 
 the spec. calls for an optional callback method name, requested on the URL
 
 /ra/Person/306.jsonp?callback=parseResponse
 
 or, it seems less commonly:
 
 /ra/Person/306.jsonp?jsonp=parseResponse
 
 The RestWriter didn't have access to the originating request, so I figured 
 I'd send in the method name through the userInfo dictionary and I'd be 
 able to pick that up in the writer?
 
 So, I thought I'd write something like a ERXJSONPRestResponseWriter? 
 
 But that's not really what I should do? I can see I'm onto the wrong track 
 here -
 
 Does anyone know the internals of ERRest well enough to help guide me just 
 a bit here?
 
 I suspect if I can get my head around the design, I can check in this 
 stuff in case anyone needs cross origin or jsonp support for whatever 
 reason.
 
 Thanks for any advice!
 
 
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
 
 This email sent to prob...@macti.ca
>>> 
>> 
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-

Re: Deep ERRest knowledge? - I'm adding an ERXJSONPRestWriter

2012-07-13 Thread Pascal Robert
Did you push your changes to your fork of Wonder on GitHub?

> 
> indeed! 
> 
> overkill!
> 
> and I HATE killing overs!
> 
> but when you say "ERRest will look at the request" -- isn't that what I'm 
> trying to do?
> 
> or I should say, how should I bet implement this callback query argument is 
> present?
> 
> aside from setting up a few keys for jsonp, at this time, I simply set the 
> response header to javascript and I "can" the callback method name.
> 
> you'll see I had written in some code which I figured would get the requested 
> callback name and send via userInfo, which is obviously not needed.
> 
> so, can I somehow access the request from here? or how do I otherwise look at 
> the request at the right time and do the right thing?
> 
> 
> 
> 
> 
> 
> public class ERXJSONPRestWriter extends ERXJSONRestWriter {
>   
>   public void appendHeadersToResponse(ERXRestRequestNode node, 
> IERXRestResponse response, ERXRestContext context) {
>   response.setHeader("text/javascript;charset=UTF-8", 
> "Content-Type");
>   }
> 
>   public void appendToResponse(ERXRestRequestNode node, IERXRestResponse 
> response, ERXRestFormat.Delegate delegate, ERXRestContext context) {
>   String callbackName = (String) 
> context.userInfoForKey("callback");
>   
>   if (callbackName != null)
>   response.appendContentString(callbackName + "(");
>   else 
>   response.appendContentString("callback(");
>   
> 
>   node = processNode(node);
>   if (node != null) {
>   node._removeRedundantTypes();
>   }
>   
>   appendHeadersToResponse(node, response, context);
>   Object object = node.toJavaCollection(delegate);
>   if (object == null) {
>   response.appendContentString("undefined");
>   }
>   else if (ERXRestUtils.isPrimitive(object)) {
>   response.appendContentString(String.valueOf(object));
>   }
>   else {
>   
> response.appendContentString(JSONSerializer.toJSON(object, 
> configWithContext(context)).toString());
>   }
>   
>   response.appendContentString(");");
>   }
> 
> }
> 
> 
> 
> On Jul 13, 2012, at 7:50 PM, Pascal Robert  wrote:
> 
>> That's overkill :-) It should be implemented like the window.name transport, 
>> e.g. ERRest will look at the request to see if a "callback" query argument 
>> was passed, and if yes, wrap it.
>> 
>>> I'm adding an ERXJSONPRestWriter in Wonder, to support JSONP in ERRest
>>> 
>>> so, like getting any ERRest format request, you can now also get jsonp:
>>> 
>>> /ra/Person/306.jsonp
>>> 
>>> so far, so good 
>>> 
>>> the spec. calls for an optional callback method name, requested on the URL
>>> 
>>> /ra/Person/306.jsonp?callback=parseResponse
>>> 
>>> or, it seems less commonly:
>>> 
>>> /ra/Person/306.jsonp?jsonp=parseResponse
>>> 
>>> The RestWriter didn't have access to the originating request, so I figured 
>>> I'd send in the method name through the userInfo dictionary and I'd be able 
>>> to pick that up in the writer?
>>> 
>>> So, I thought I'd write something like a ERXJSONPRestResponseWriter? 
>>> 
>>> But that's not really what I should do? I can see I'm onto the wrong track 
>>> here -
>>> 
>>> Does anyone know the internals of ERRest well enough to help guide me just 
>>> a bit here?
>>> 
>>> I suspect if I can get my head around the design, I can check in this stuff 
>>> in case anyone needs cross origin or jsonp support for whatever reason.
>>> 
>>> Thanks for any advice!
>>> 
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>>> 
>>> This email sent to prob...@macti.ca
>> 
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Deep ERRest knowledge? - I'm adding an ERXJSONPRestWriter

2012-07-13 Thread Jesse Tayler

indeed! 

overkill!

and I HATE killing overs!

but when you say "ERRest will look at the request" -- isn't that what I'm 
trying to do?

or I should say, how should I bet implement this callback query argument is 
present?

aside from setting up a few keys for jsonp, at this time, I simply set the 
response header to javascript and I "can" the callback method name.

you'll see I had written in some code which I figured would get the requested 
callback name and send via userInfo, which is obviously not needed.

so, can I somehow access the request from here? or how do I otherwise look at 
the request at the right time and do the right thing?






public class ERXJSONPRestWriter extends ERXJSONRestWriter {

public void appendHeadersToResponse(ERXRestRequestNode node, 
IERXRestResponse response, ERXRestContext context) {
response.setHeader("text/javascript;charset=UTF-8", 
"Content-Type");
}

public void appendToResponse(ERXRestRequestNode node, IERXRestResponse 
response, ERXRestFormat.Delegate delegate, ERXRestContext context) {
String callbackName = (String) 
context.userInfoForKey("callback");

if (callbackName != null)
response.appendContentString(callbackName + "(");
else 
response.appendContentString("callback(");


node = processNode(node);
if (node != null) {
node._removeRedundantTypes();
}

appendHeadersToResponse(node, response, context);
Object object = node.toJavaCollection(delegate);
if (object == null) {
response.appendContentString("undefined");
}
else if (ERXRestUtils.isPrimitive(object)) {
response.appendContentString(String.valueOf(object));
}
else {

response.appendContentString(JSONSerializer.toJSON(object, 
configWithContext(context)).toString());
}

response.appendContentString(");");
}

}



On Jul 13, 2012, at 7:50 PM, Pascal Robert  wrote:

> That's overkill :-) It should be implemented like the window.name transport, 
> e.g. ERRest will look at the request to see if a "callback" query argument 
> was passed, and if yes, wrap it.
> 
>> I'm adding an ERXJSONPRestWriter in Wonder, to support JSONP in ERRest
>> 
>> so, like getting any ERRest format request, you can now also get jsonp:
>> 
>> /ra/Person/306.jsonp
>> 
>> so far, so good 
>> 
>> the spec. calls for an optional callback method name, requested on the URL
>> 
>> /ra/Person/306.jsonp?callback=parseResponse
>> 
>> or, it seems less commonly:
>> 
>> /ra/Person/306.jsonp?jsonp=parseResponse
>> 
>> The RestWriter didn't have access to the originating request, so I figured 
>> I'd send in the method name through the userInfo dictionary and I'd be able 
>> to pick that up in the writer?
>> 
>> So, I thought I'd write something like a ERXJSONPRestResponseWriter? 
>> 
>> But that's not really what I should do? I can see I'm onto the wrong track 
>> here -
>> 
>> Does anyone know the internals of ERRest well enough to help guide me just a 
>> bit here?
>> 
>> I suspect if I can get my head around the design, I can check in this stuff 
>> in case anyone needs cross origin or jsonp support for whatever reason.
>> 
>> Thanks for any advice!
>> 
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Maik Musall

Am 13.07.2012 um 23:57 schrieb John Huss:

> So this thread has devolved quite a bit from it's original intent.  One of my 
> original goals was to detail the areas where people could help with an effort 
> to provide an easy and painless migration to Cayenne.  I haven't seen much 
> interest in helping thus far.  So if you are interested, please speak up.  If 
> not, then we can just go back to debating for another year.

I am sincerely interested. My main motivation is that nowadays there's no way 
around multithreaded designs to push performance. I'm trying to extend my 
practices and knowledge into that whenever I can, and being stuck with EOF is a 
real pain in this regard. I'd also like to have the option to use functional 
languages like Scala to process EOs.

But... playing around with it is one thing. Migrating existing living projects 
is another, and the amount of work required to make that happen is 
considerable, so please don't expect me to invest large amounts of time without 
prior discussion so that not only I can be convinced that this is what I want 
to do, but also have I to convince my boss and my customers to let me have the 
free time for that.

Maik
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Pascal Robert

Le 2012-07-13 à 19:39, Lars Sonchocky-Helldorf a écrit :

> 
> Am 13.07.2012 um 22:20 schrieb JR Ruggentaler:
> 
>> Isn't Tapestry (http://tapestry.apache.org/) a WO like web application
>> framework? Tapestry integrates with Cayenne
>> (http://code.google.com/p/tapestry5-cayenne/). Maybe Tapestry + Cayenne =
>> Open WO.
> 
> I used to do that several years ago in one of my employers projects for a 
> customer. Although Tapestry and Cayenne are clearly inspired by WO the 
> experience was sup-par (I could go into detail, for instance a repetition in 
> a repetition was somewhat of a hairy topic for Tapestry because of object 
> reuse, Incompatibility even between minor versions (4.x vs. 4.y not to speak 
> of 4.x vs. 5.y). This might have changed over the time but it was no more 
> than a "nice try™" at this time.

Someone at WOWODC also said that Tapestry API changes between major versions is 
a PITA. I don't think we want another RoR here :-)
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Deep ERRest knowledge? - I'm adding an ERXJSONPRestWriter

2012-07-13 Thread Pascal Robert
That's overkill :-) It should be implemented like the window.name transport, 
e.g. ERRest will look at the request to see if a "callback" query argument was 
passed, and if yes, wrap it.

> I'm adding an ERXJSONPRestWriter in Wonder, to support JSONP in ERRest
> 
> so, like getting any ERRest format request, you can now also get jsonp:
> 
> /ra/Person/306.jsonp
> 
> so far, so good 
> 
> the spec. calls for an optional callback method name, requested on the URL
> 
> /ra/Person/306.jsonp?callback=parseResponse
> 
> or, it seems less commonly:
> 
> /ra/Person/306.jsonp?jsonp=parseResponse
> 
> The RestWriter didn't have access to the originating request, so I figured 
> I'd send in the method name through the userInfo dictionary and I'd be able 
> to pick that up in the writer?
> 
> So, I thought I'd write something like a ERXJSONPRestResponseWriter? 
> 
> But that's not really what I should do? I can see I'm onto the wrong track 
> here -
> 
> Does anyone know the internals of ERRest well enough to help guide me just a 
> bit here?
> 
> I suspect if I can get my head around the design, I can check in this stuff 
> in case anyone needs cross origin or jsonp support for whatever reason.
> 
> Thanks for any advice!
> 
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem wo loop WOHyperlink

2012-07-13 Thread Michael Sharp
Hi Hugo,

You could use a Component Action rather than a Direct Action in your 
WOHyperlink.

.wod

DeleteLink : WOHyperlink {
action = deleteRecord;
}

The deleteRecord() method in your component class would need to:

* call delete on your entryItem enterprise object
* call saveChanges on your editingContext
* return a WOComponent or WOActionResults implementation, eg context().page()

Sharpy..

On 14/07/2012, at 7:52 AM, Hugo Cambero wrote:

> Hi Everybody
> 
> I'm Hugo, I've been developing using WebObjects and Wonder Frameworks, I'm 
> newbie in this topic.
> 
> I have a problem and I hope you can help me. I'm developing a test 
> application, I want to display a list of ERXGenericRecord, but, in the last 
> column,
> I want to display a picture that can delete the selected row.
> 
> Example: 
> 
> ID   NAMELASTNAME   USERNAME  ACTIONS 
> 120 Hugo  Perezsun13   delete
> 160 Aaron Anthonyaaron12 delete
> 
> If the user clicks the delete picture of the first row, the application 
> deletes the record 120.
> 
> I'm trying to do it using the next code:
> 
>  
>   
>  ID
>  Name
>  Lastname
>  Username
>  Actions
>   
>   
>   
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
>   
>
>  
>  
> 
> ---
> DeleteLink : WOHyperlink {
> directActionName="deleteRecord";
> }
> 
> DeleteImage : WOImage {
> filename = "css/img/boton/delete.png";
> mimeType="image/gif";
> }
> --
> package your.app.components;
> 
> import your.app.model.User;
> import com.webobjects.appserver.WOContext;
> import com.webobjects.foundation.NSArray;
> import er.extensions.components.ERXComponent;
> import er.extensions.eof.ERXEC;
> 
> public class AdminPage extends ERXComponent {
> private User entryItem;
> 
> public AdminPage(WOContext context) {
> super(context);
> }
> 
> public User entryItem() {
> return entryItem;
> }
> 
> public void setEntryItem(User entryItem) {
> this.entryItem = entryItem;
> }
> 
> public NSArray allUsers() {
> return User.fetchAllUsers( ERXEC.newEditingContext() );
> }
> }
> 
> I think, I can solve this problem, adding a key or data in GET method in the 
> 'Delete Link', but, I don't know.
> What do you recommend me?
> What is the best way to do this exercise?
> 
> Thanks!
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/getsharp%40gmail.com
> 
> This email sent to getsh...@gmail.com



smime.p7s
Description: S/MIME cryptographic signature
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: ERXJSFlyOver ??

2012-07-13 Thread David Holt
Hi Ted,

It's used by default in a D2W component if you are brave :-)

ERDControllerButton

The important thing to get right is the CSS.

For example:

http://lists.apple.com/archives/webobjects-dev/2010/Nov/msg00444.html

David


On 2012-07-13, at 3:08 PM, Theodore Petrosky wrote:

> ERXJSFlyOver
> 
> Is there an example of this anywhere. I stumbled on it whilst looking over 
> Wonder. Seems interesting but I don't understand it.
> 
> Ted
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com
> 
> This email sent to programming...@mac.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Lars Sonchocky-Helldorf

Am 13.07.2012 um 22:20 schrieb JR Ruggentaler:

> Isn't Tapestry (http://tapestry.apache.org/) a WO like web application
> framework? Tapestry integrates with Cayenne
> (http://code.google.com/p/tapestry5-cayenne/). Maybe Tapestry + Cayenne =
> Open WO.

I used to do that several years ago in one of my employers projects for a 
customer. Although Tapestry and Cayenne are clearly inspired by WO the 
experience was sup-par (I could go into detail, for instance a repetition in a 
repetition was somewhat of a hairy topic for Tapestry because of object reuse, 
Incompatibility even between minor versions (4.x vs. 4.y not to speak of 4.x 
vs. 5.y). This might have changed over the time but it was no more than a "nice 
try™" at this time.

cheers,

Lars

> 
> JR
> 
> On 7/13/12 2:41 PM, "Theodore Petrosky"  wrote:
> 
>> 
>>> 
>>> The best way to predict the future is to create it. Is
>>> anyone cranking out a client interface faster and more
>>> reliably than D2W yet?  I'm all ears over here :-)
>> 
>> We have the best of all worlds, one group is pursuing AOP, another is
>> pursuing Cayenne, and another is pursuing rewriting EOF and Webobjects.
>> Did I miss anything?
>> 
>> That's my take on the conversation.
>> 
>> :-)  (I am being a little sarcastic)
>> 
>> => How can we proceed?
>> => What steps are necessary to make a decision?
>> 
>> Is rewriting EOF and webobjects even a possibility? If yes, what about an
>> outline of what is required to undertake this magnitude of project.
>> 
>> Ted
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/jr.ruggentaler%40ex
>> perian.com
>> 
>> This email sent to jr.ruggenta...@experian.com
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/lars.sonchocky-helldorf%40hamburg.de
> 
> This email sent to lars.sonchocky-helld...@hamburg.de


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Deep ERRest knowledge? - I'm adding an ERXJSONPRestWriter

2012-07-13 Thread Jesse Tayler
I'm adding an ERXJSONPRestWriter in Wonder, to support JSONP in ERRest

so, like getting any ERRest format request, you can now also get jsonp:

/ra/Person/306.jsonp

so far, so good 

the spec. calls for an optional callback method name, requested on the URL

/ra/Person/306.jsonp?callback=parseResponse

or, it seems less commonly:

/ra/Person/306.jsonp?jsonp=parseResponse

The RestWriter didn't have access to the originating request, so I figured I'd 
send in the method name through the userInfo dictionary and I'd be able to pick 
that up in the writer?

So, I thought I'd write something like a ERXJSONPRestResponseWriter? 

But that's not really what I should do? I can see I'm onto the wrong track here 
-

Does anyone know the internals of ERRest well enough to help guide me just a 
bit here?

I suspect if I can get my head around the design, I can check in this stuff in 
case anyone needs cross origin or jsonp support for whatever reason.

Thanks for any advice!



 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill
Maybe start by asking "Does Cayenne already have anything like ERRest?"  If 
not, they might be glad of getting it.


On 2012-07-13, at 4:20 PM, Pascal Robert wrote:

> Do you think having a version of ERRest on top of Cayenne would make sense? 
> Since ERRest make a lot of EOF calls, it might be a good example of trying to 
> move something to Cayenne and to see what's missing.
> 
>> So this thread has devolved quite a bit from it's original intent.  One of 
>> my original goals was to detail the areas where people could help with an 
>> effort to provide an easy and painless migration to Cayenne.  I haven't seen 
>> much interest in helping thus far.  So if you are interested, please speak 
>> up.  If not, then we can just go back to debating for another year.
>> 
>> John 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> 
> This email sent to ch...@global-village.net

-- 
Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects









 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem wo loop WOHyperlink

2012-07-13 Thread Hugo Cambero
Thanks for answering.

I learned something new. I'm going to change my code.

Hugo

On Fri, Jul 13, 2012 at 6:25 PM, Chuck Hill wrote:

>
> On 2012-07-13, at 2:52 PM, Hugo Cambero wrote:
>
> > Hi Everybody
> >
> > I'm Hugo, I've been developing using WebObjects and Wonder Frameworks,
> I'm newbie in this topic.
> >
> > I have a problem and I hope you can help me. I'm developing a test
> application, I want to display a list of ERXGenericRecord, but, in the last
> column,
> > I want to display a picture that can delete the selected row.
> >
> > Example:
> >
> > ID   NAMELASTNAME   USERNAME  ACTIONS
> > 120 Hugo  Perezsun13   delete
> > 160 Aaron Anthonyaaron12 delete
> >
> > If the user clicks the delete picture of the first row, the application
> deletes the record 120.
> >
> > I'm trying to do it using the next code:
> >
> > 
> >   
> >  ID
> >  Name
> >  Lastname
> >  Username
> >  Actions
> >   
> >   
> >   
> > 
> >   
> > 
> > 
> >   
> > 
> > 
> >   
> > 
> > 
> >   
> > 
> > 
> >   
> > 
> >   
> >
> >  
> >  
> > 
> > ---
> > DeleteLink : WOHyperlink {
> > directActionName="deleteRecord";
>
> You don't want a direct action here, change this to (notice no quotes!):
>
> action = deleteRecord;
>
> Then in AdminPage.java add this:
>
>
> public WOComponentAction deleteRecord() {
> editingContext.deleteObject(entryItem);
> editingContext.saveChanges();  // This can throw if the deletion
> fails
> }
>
>
> You also need the fixes below so the EOEditingContext is not changing all
> the time.
>
> Chuck
>
>
>
> > }
> >
> > DeleteImage : WOImage {
> > filename = "css/img/boton/delete.png";
> > mimeType="image/gif";
> > }
> > --
> > package your.app.components;
> >
> > import your.app.model.User;
> > import com.webobjects.appserver.WOContext;
> > import com.webobjects.foundation.NSArray;
> > import er.extensions.components.ERXComponent;
> > import er.extensions.eof.ERXEC;
> >
> > public class AdminPage extends ERXComponent {
> > private User entryItem;
>
> private EOEditingContext editingContext;
>
>
> >
> > public AdminPage(WOContext context) {
> > super(context);
>
> editingContext = ERXEC.newEditingContext();
>
>
> > }
> >
> > public User entryItem() {
> > return entryItem;
> > }
> >
> > public void setEntryItem(User entryItem) {
> > this.entryItem = entryItem;
> > }
> >
> > public NSArray allUsers() {
> > return User.fetchAllUsers( ERXEC.newEditingContext() );
>
>
> return User.fetchAllUsers( editingContext );
>
>
> > }
> > }
> >
> > I think, I can solve this problem, adding a key or data in GET method in
> the 'Delete Link', but, I don't know.
> > What do you recommend me?
> > What is the best way to do this exercise?
> >
> > Thanks!
> > ___
> > Do not post admin requests to the list. They will be ignored.
> > Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> > Help/Unsubscribe/Update your Subscription:
> >
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> >
> > This email sent to ch...@global-village.net
>
> --
> Chuck Hill Senior Consultant / VP Development
>
> Practical WebObjects - for developers who want to increase their overall
> knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/gvc/practical_webobjects
>
>
>
>
>
>
>
>
>
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem wo loop WOHyperlink

2012-07-13 Thread Chuck Hill

On 2012-07-13, at 2:52 PM, Hugo Cambero wrote:

> Hi Everybody
> 
> I'm Hugo, I've been developing using WebObjects and Wonder Frameworks, I'm 
> newbie in this topic.
> 
> I have a problem and I hope you can help me. I'm developing a test 
> application, I want to display a list of ERXGenericRecord, but, in the last 
> column,
> I want to display a picture that can delete the selected row.
> 
> Example: 
> 
> ID   NAMELASTNAME   USERNAME  ACTIONS 
> 120 Hugo  Perezsun13   delete
> 160 Aaron Anthonyaaron12 delete
> 
> If the user clicks the delete picture of the first row, the application 
> deletes the record 120.
> 
> I'm trying to do it using the next code:
> 
>  
>   
>  ID
>  Name
>  Lastname
>  Username
>  Actions
>   
>   
>   
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
>   
>
>  
>  
> 
> ---
> DeleteLink : WOHyperlink {
> directActionName="deleteRecord";

You don't want a direct action here, change this to (notice no quotes!):

action = deleteRecord;

Then in AdminPage.java add this:


public WOComponentAction deleteRecord() {
editingContext.deleteObject(entryItem);
editingContext.saveChanges();  // This can throw if the deletion fails
}


You also need the fixes below so the EOEditingContext is not changing all the 
time.

Chuck



> }
> 
> DeleteImage : WOImage {
> filename = "css/img/boton/delete.png";
> mimeType="image/gif";
> }
> --
> package your.app.components;
> 
> import your.app.model.User;
> import com.webobjects.appserver.WOContext;
> import com.webobjects.foundation.NSArray;
> import er.extensions.components.ERXComponent;
> import er.extensions.eof.ERXEC;
> 
> public class AdminPage extends ERXComponent {
> private User entryItem;

private EOEditingContext editingContext;


> 
> public AdminPage(WOContext context) {
> super(context);

editingContext = ERXEC.newEditingContext();


> }
> 
> public User entryItem() {
> return entryItem;
> }
> 
> public void setEntryItem(User entryItem) {
> this.entryItem = entryItem;
> }
> 
> public NSArray allUsers() {
> return User.fetchAllUsers( ERXEC.newEditingContext() );


return User.fetchAllUsers( editingContext );


> }
> }
> 
> I think, I can solve this problem, adding a key or data in GET method in the 
> 'Delete Link', but, I don't know.
> What do you recommend me?
> What is the best way to do this exercise?
> 
> Thanks!
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> 
> This email sent to ch...@global-village.net

-- 
Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects









 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Pascal Robert

Le 2012-07-13 à 18:10, Daniel Beatty a écrit :

> Greetings all,
> I have to agree with Mike.  There is a lot of good to be had in the Cayenne 
> project, and the discuss there of.  For starters, it identifies the need in 
> our community for the stability of a good ORM that is well defined and 
> stable, connected to a good web object generating framework, and if possible 
> connecting today's customers.   WebObjects, EOF and CoreData have that 
> advantage for the Apple side of the house, and even the Android camp can 
> consume a WebObjects app.  
> 
> There was a reason I suggested using a standards body for accomplish the feat 
> of having an Open Source ORM, be it Cayenne, EOF, or something else.   The 
> concept is that it would be stable like a rock, and public there by enable 
> any one to use it.  Standards take time to form, but in the process there are 
> projects like Cayenne, and prototypes using WO/EOF to demonstrate the 
> concepts what we think an ORM should be.  EOF is the de facto ORM by its age, 
> but it could easily be supplanted by derived versions found in Ruby, Python, 
> and other languages.My dissertation gave EOF a good head start by putting 
> on the map in the academic community, and I am about to publish it.   
> 
> The Cayenne project is not the only project that I have up for consideration 
> by the Open Grid Forum that is of interest to the WO community.  The Zion 
> project is also significant aspect, too.   If I could have some community 
> backing both, that would be fabulous.   If Apple would like to help that 
> would be nice too, assuming they read these things.  Since Zion is a WO/ Mac/ 
> iOS hybrid all together thing, I would hope they would see the wisdom and 
> value in the product. The Zion project itself is a Texas Tech project that is 
> the fruit of my dissertation, and I hope that I will see it to market and 
> success some way (Just a dream).

Apple don't give a damn unless they can sell thousands of iOS devices. People 
have built clusters of Xserve and that didn't stop Apple to stop making the 
Xserve. The only open source project they care about is WebKit. And they don't 
care about Java anymore too. If you only want EOF, check the clone in 
GNUWebStep.

> V/R,
> 
> 
> 
> 
> 
> Dan Beatty, Ph.D.
> Texas Tech University, Alumni
> dan.bea...@mac.com
> https://sites.google.com/site/allnightstarparty/home
> (806)438-6620
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Jul 13, 2012, at 11:41 AM, Mike Schrag wrote:
> 
>> don't make decisions based on anecdotal evidence
>> 
>> ms
>> 
>> On Jul 13, 2012, at 9:03 AM, Karl  wrote:
>> 
>>> Hi,
>>> 
>>> Making EOF multi-threaded is really not that desirable nor is it necessary. 
>>>  EOF gets most of its speed and efficiency through its 'cut through' 
>>> single-threaded design at the Access layer.
>>> 
>>> About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
>>> multi-threaded.  It was about half as fast as the EOF that we know (and 
>>> love?).  Since then, Apple's internal version of EOF retains virtually the 
>>> current implementation except for the snapshot layer which is now shared by 
>>> multiple DB stacks.  So the solution was to remove the 1-1 relationship 
>>> between DB stacks and snapshots and to retain the cut-through 
>>> single-threaded design of EOF.
>>> 
>>> Karl
>>> 
>>> On 2012-07-13, at 3:06 PM, Farrukh Ijaz 
>>>  wrote:
>>> 
 Sorry for late response, just landed last night.
 
 The idea is very simple to understand and implement. E.g. I've a third 
 party library which has a method named with following signature:
 
 String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
 }
 
 Now this method can be private, public, protected, static, final, blah 
 blah etc. I find that encoding is buggy, how to fix it? There are two ways:
 
 1. Get the source code, fix the method and submit patch. (This is 
 sometimes not possible and for sure not possible in case of WebObjects)
 2. Use AOP
 
 Forget about option 1. In Option 2 we have to use some AOP mechanism and 
 the one that I've tested with my Wonder apps is AspectJ. I'm not going 
 into details as it's a vast subject but providing links which are 
 sufficient to experiment :)
 
 http://www.eclipse.org/aspectj/
 http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
 
 As far as weaving is concerned, I would suggest to use dynamic join point 
 as they can be used to intercept calls and invoke different code rather 
 than modifying the original classes.
 
 The idea is we need to define join point for the method which is buggy or 
 where we want to provide our own implementation. When the code is 
 executed, the class loader reroutes the request for incoming method calls 
 to 

Re: Problem wo loop WOHyperlink

2012-07-13 Thread Paul Hoadley
Hi Hugo,

On 14/07/2012, at 7:22 AM, Hugo Cambero wrote:

>   
>   
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
> 
>   
> 
>   
>
>  
>  

> ---
> DeleteLink : WOHyperlink {
> directActionName="deleteRecord";
> }

Change that to:

action = deleteRecord;

And then add a method in your component class:

> public class AdminPage extends ERXComponent {
> private User entryItem;
> 
> public AdminPage(WOContext context) {
> super(context);
> }
> 
> public User entryItem() {
> return entryItem;
> }
> 
> public void setEntryItem(User entryItem) {
> this.entryItem = entryItem;
> }
> 
> public NSArray allUsers() {
> return User.fetchAllUsers( ERXEC.newEditingContext() );
> }

public WOActionResults deleteRecord() {
// This is just an example of what you might do—your business
// logic might require something else entirely.
entryItem.editingContext().deleteObject(entryItem);
entryItem.editingContext().saveChanges();
return context().page();
}

When a WOHyperlink's action method is called inside a WORepetition like that, 
the repetition's 'item' ivar will contain the value you would expect: the 
object from allUsers() that corresponds to the hyperlink that was clicked.


-- 
Paul Hoadley
http://logicsquad.net/



 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Pascal Robert
Do you think having a version of ERRest on top of Cayenne would make sense? 
Since ERRest make a lot of EOF calls, it might be a good example of trying to 
move something to Cayenne and to see what's missing.

> So this thread has devolved quite a bit from it's original intent.  One of my 
> original goals was to detail the areas where people could help with an effort 
> to provide an easy and painless migration to Cayenne.  I haven't seen much 
> interest in helping thus far.  So if you are interested, please speak up.  If 
> not, then we can just go back to debating for another year.
> 
> John 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Who uses ERDirectToRest ?

2012-07-13 Thread Pascal Robert
And your presentation at WOWODC was your first direct contribution!

> Thanks Pascal for adding it to WIKI. My first indirect community contribution 
> :)
> 
> Farrukh
> 
> On 2012-07-14, at 1:59 AM, Pascal Robert  wrote:
> 
>> 
>> Le 2012-07-13 à 17:21, Farrukh Ijaz a écrit :
>> 
 AFAIK, nobody use it, except maybe Anjo. Using the "routes" based API in 
 ERRest in quite easy, but I do agree that being able to use D2W rules 
 instead of ERXKeyFilter to decide what is going to be send or accepted 
 would be cool.
>>> 
>>> One can use following methods in the Route Controller class. I have create 
>>> a BaseRouteController and defined all useful methods in it.
>> 
>> Thanks. I added it to the wiki:
>> 
>> http://wiki.wocommunity.org/display/WONDER/ERRest+Framework#ERRestFramework-UsingD2WruleswithERRest
>> 
>>> Farrukh
>>> 
>>> private D2WContext d2wContext;
>>> 
>>> protected D2WContext d2wContext() {
>>> if (d2wContext == null) {
>>> d2wContext = new D2WContext();
>>> }
>>> return d2wContext;
>>> }
>>> 
>>> synchronized public NSArray inferFilterKeysForEntity(String 
>>> entityName) {
>>> EOEntity entity = EOModelGroup.defaultGroup().entityNamed(entityName);
>>> d2wContext().setEntity(entity);
>>> d2wContext().setTask(request().method());
>>> return (NSArray) 
>>> d2wContext().inferValueForKey("displayPropertyKeys");
>>> }
>>> 
>>> synchronized public NSArray inferFilterKeysForPage(String page) {
>>> d2wContext().setDynamicPage(page);
>>> d2wContext().setTask(request().method());
>>> return (NSArray) 
>>> d2wContext().inferValueForKey("displayPropertyKeys");
>>> }
>>> 
>>> public ERXKeyFilter showFilter(String entityName) {
>>> NSArray keys = inferFilterKeysForEntity(entityName);
>>> ERXKeyFilter filter = null;
>>> if (keys != null && !keys.isEmpty()) {
>>> filter = ERXKeyFilter.filterWithNone();
>>> for (String key : keys) {
>>> filter.include(new ERXKey(key));
>>> }
>>> } else {
>>> filter = 
>>> ERXKeyFilter.filterWithAttributesAndToOneRelationships();
>>> }
>>> return filter;
>>> }
>>> 
>>> 
>>> The D2WRule should be something like:
>>> 
>>> LHS: entity.name = 'Employee' and task = 'GET'
>>> RHS: displayPropertyKeys = ('firstName', 'lastName', 'position')
>>> 
 
> I've just started to use REST with our business logic. 
> 
> I wanted to use ERDirectToRest because it seems very interesting to 
> quickly delivery access to the business logic but there are a lot of 
> warning to NOT use it:
> - In the read me: "This framework uses the old and deprecated REST APIs, 
> avoid using it."
> - Classes are deprecated
> 
> So my questions: 
> - Can this framework be used ? 
> - Does anybody use it ? 
> - What people use instead ?
> 
> Dominique
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca
 
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
 
 This email sent to farrukh.i...@fuegodigitalmedia.com
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>>> 
>>> This email sent to prob...@macti.ca
>> 
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Who uses ERDirectToRest ?

2012-07-13 Thread Farrukh Ijaz
Thanks Pascal for adding it to WIKI. My first indirect community contribution :)

Farrukh

On 2012-07-14, at 1:59 AM, Pascal Robert  wrote:

> 
> Le 2012-07-13 à 17:21, Farrukh Ijaz a écrit :
> 
>>> AFAIK, nobody use it, except maybe Anjo. Using the "routes" based API in 
>>> ERRest in quite easy, but I do agree that being able to use D2W rules 
>>> instead of ERXKeyFilter to decide what is going to be send or accepted 
>>> would be cool.
>> 
>> One can use following methods in the Route Controller class. I have create a 
>> BaseRouteController and defined all useful methods in it.
> 
> Thanks. I added it to the wiki:
> 
> http://wiki.wocommunity.org/display/WONDER/ERRest+Framework#ERRestFramework-UsingD2WruleswithERRest
> 
>> Farrukh
>> 
>> private D2WContext d2wContext;
>> 
>> protected D2WContext d2wContext() {
>>  if (d2wContext == null) {
>>  d2wContext = new D2WContext();
>>  }
>>  return d2wContext;
>> }
>> 
>> synchronized public NSArray inferFilterKeysForEntity(String 
>> entityName) {
>>  EOEntity entity = EOModelGroup.defaultGroup().entityNamed(entityName);
>>  d2wContext().setEntity(entity);
>>  d2wContext().setTask(request().method());
>>  return (NSArray) 
>> d2wContext().inferValueForKey("displayPropertyKeys");
>> }
>> 
>> synchronized public NSArray inferFilterKeysForPage(String page) {
>>  d2wContext().setDynamicPage(page);
>>  d2wContext().setTask(request().method());
>>  return (NSArray) 
>> d2wContext().inferValueForKey("displayPropertyKeys");
>> }
>> 
>> public ERXKeyFilter showFilter(String entityName) {
>>  NSArray keys = inferFilterKeysForEntity(entityName);
>>  ERXKeyFilter filter = null;
>>  if (keys != null && !keys.isEmpty()) {
>>  filter = ERXKeyFilter.filterWithNone();
>>  for (String key : keys) {
>>  filter.include(new ERXKey(key));
>>  }
>>  } else {
>>  filter = 
>> ERXKeyFilter.filterWithAttributesAndToOneRelationships();
>>  }
>>  return filter;
>> }
>> 
>> 
>> The D2WRule should be something like:
>> 
>> LHS: entity.name = 'Employee' and task = 'GET'
>> RHS: displayPropertyKeys = ('firstName', 'lastName', 'position')
>> 
>>> 
 I've just started to use REST with our business logic. 
 
 I wanted to use ERDirectToRest because it seems very interesting to 
 quickly delivery access to the business logic but there are a lot of 
 warning to NOT use it:
 - In the read me: "This framework uses the old and deprecated REST APIs, 
 avoid using it."
 - Classes are deprecated
 
 So my questions: 
 - Can this framework be used ? 
 - Does anybody use it ? 
 - What people use instead ?
 
 Dominique
 
 
 ___
 Do not post admin requests to the list. They will be ignored.
 Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
 Help/Unsubscribe/Update your Subscription:
 https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
 
 This email sent to prob...@macti.ca
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
>>> 
>>> This email sent to farrukh.i...@fuegodigitalmedia.com
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Who uses ERDirectToRest ?

2012-07-13 Thread Pascal Robert

Le 2012-07-13 à 17:21, Farrukh Ijaz a écrit :

>> AFAIK, nobody use it, except maybe Anjo. Using the "routes" based API in 
>> ERRest in quite easy, but I do agree that being able to use D2W rules 
>> instead of ERXKeyFilter to decide what is going to be send or accepted would 
>> be cool.
> 
> One can use following methods in the Route Controller class. I have create a 
> BaseRouteController and defined all useful methods in it.

Thanks. I added it to the wiki:

http://wiki.wocommunity.org/display/WONDER/ERRest+Framework#ERRestFramework-UsingD2WruleswithERRest

> Farrukh
> 
> private D2WContext d2wContext;
> 
> protected D2WContext d2wContext() {
>   if (d2wContext == null) {
>   d2wContext = new D2WContext();
>   }
>   return d2wContext;
> }
> 
> synchronized public NSArray inferFilterKeysForEntity(String 
> entityName) {
>   EOEntity entity = EOModelGroup.defaultGroup().entityNamed(entityName);
>   d2wContext().setEntity(entity);
>   d2wContext().setTask(request().method());
>   return (NSArray) 
> d2wContext().inferValueForKey("displayPropertyKeys");
> }
> 
> synchronized public NSArray inferFilterKeysForPage(String page) {
>   d2wContext().setDynamicPage(page);
>   d2wContext().setTask(request().method());
>   return (NSArray) 
> d2wContext().inferValueForKey("displayPropertyKeys");
> }
> 
> public ERXKeyFilter showFilter(String entityName) {
>   NSArray keys = inferFilterKeysForEntity(entityName);
>   ERXKeyFilter filter = null;
>   if (keys != null && !keys.isEmpty()) {
>   filter = ERXKeyFilter.filterWithNone();
>   for (String key : keys) {
>   filter.include(new ERXKey(key));
>   }
>   } else {
>   filter = 
> ERXKeyFilter.filterWithAttributesAndToOneRelationships();
>   }
>   return filter;
> }
> 
> 
> The D2WRule should be something like:
> 
> LHS: entity.name = 'Employee' and task = 'GET'
> RHS: displayPropertyKeys = ('firstName', 'lastName', 'position')
> 
>> 
>>> I've just started to use REST with our business logic. 
>>> 
>>> I wanted to use ERDirectToRest because it seems very interesting to quickly 
>>> delivery access to the business logic but there are a lot of warning to NOT 
>>> use it:
>>> - In the read me: "This framework uses the old and deprecated REST APIs, 
>>> avoid using it."
>>> - Classes are deprecated
>>> 
>>> So my questions: 
>>> - Can this framework be used ? 
>>> - Does anybody use it ? 
>>> - What people use instead ?
>>> 
>>> Dominique
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>>> 
>>> This email sent to prob...@macti.ca
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
>> 
>> This email sent to farrukh.i...@fuegodigitalmedia.com
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Migrating from EOF to ????

2012-07-13 Thread JR Ruggentaler
>From the WebObjects Wikipedia page: http://en.wikipedia.org/wiki/WebObjects

Apache Tapestry  has a
design and philosophy similar to that of WebObjects.[27]
 Tapestry is
frequently combined with Apache Cayenne
, a persistence framework
inspired by EOF.


Has anyone on this list used Tapestry and would like to share their
experience?

JR


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Adaptor problem with SSL on Ubuntu

2012-07-13 Thread Daniel Beatty
Greetings Klaus,
That is great.  I am kind of stuck with CentOS.  I am still having to follow up 
on the little SELinux part to enable it to share its web site to the outside 
world.  Apparently, the little line on the bottom of the wocommunity 
instructions does not get job done.   It works from localhost, but not from 
outside the VM.   

In any case, when ever you get ready with a working copy of the Ubuntu version, 
what do you say we submit a version to the VMWare source forge?   The idea is 
that everyone could get one, and I may have the recipe for Open Nebula with 
KVM, VMWare, and few other hypervisors.Between Open Nebula and Open Stack, 
those are two open source OCCI cloud implementations that a lot of the big 
clouds are based on.   This could be useful, you think?

V/R,


Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 12, 2012, at 1:09 PM, Chuck Hill wrote:

> Hi Klaus,
> 
> I can't add much.  The problem is in the adaptor.  I'd focus on the first 
> error "sendBuffers(): send error: Bad address" and consider the rest to be 
> symptoms.  Other than adding some logging messages to the adaptor, I have no 
> ideas or pointers.
> 
>> Next up, debugging an apache module...
> 
> No-one's idea of a good time.
> 
> Chuck
> 
> 
> On 2012-07-12, at 12:22 PM, Klaus Berkling wrote:
> 
>> Hi All.
>> 
>> Some of you might remember me writing about this issue during WOWODC.  I'm 
>> restarting the thread because I still can't find a solution.  I get the 
>> following error when making https requests to one of our apps (no problem 
>> with static html pages):
>> 
>> "Did not receive any response from application. It is possible that the 
>> application does not exist, or that the requested url is incorrect."
>> 
>> This does not happen on Mac OS X, same WO app:
>> Ubuntu: https://cn2.records.dyned.com/cgi-bin/WebObjects/LMSService
>> Mac: https://am1.records.dyned.com/cgi-bin/WebObjects/LMSService
>> 
>> I tried three different adaptors:
>> - Old DynEd Adaptor with modification from us (virtual hosts additions)
>> - Old Wonder Adaptor as built for CentOS from 
>> http://wocommunity.org/documents/tools/mod_WebObjects/Apache2.2
>> - New Wonder Adaptor built from source (I downloaded the source from the 
>> Wonder repository and built it as-is on our Ubuntu build server)
>> 
>> With all adaptors our app shows this error:
>> 
>> Jul 13 01:40:13 LMSService[2042] WARN  NSLog  - > socket=Socket[addr=/10.0.0.10,port=35046,localport=2042]> Exception while 
>> sending response: java.net.SocketException: Broken pipe
>> 
>> Using the Old DynEd Adaptor and New Wonder Adaptor apache writes this error 
>> to the error log:
>> 
>> [Fri Jul 13 00:51:03 2012] [error] sendBuffers(): send error: Bad address
>> [Fri Jul 13 00:51:03 2012] [error] error sending request
>> [Fri Jul 13 00:51:03 2012] [error] Failed to send request
>> [Fri Jul 13 00:51:03 2012] [error] Request handling error: Did not receive 
>> any response from application. It is possible that the application does not 
>> exist, or that the requested url is incorrect.
>> 
>> Using the Old Wonder Adaptor apache does not write any errors to the error 
>> log
>> 
>> It looks like the apache child process does not crash.  It also looks like 
>> the adaptor is catching an error that severs the connection to the app 
>> instance.
>> 
>> The errors above show up in the Adaptors source:
>> 
>> "sendBuffers(): send error: " - Adaptor/nbssocket.c, Line 501
>> "error sending request" - Adaptor/request.c, Line 280
>> "Failed to send request" - Adaptor/transaction.c, Line 591
>> "Request handling error: " - Adaptor/transaction.c, Line 727
>> 
>> My experience in the adaptor source code is very limited. Does anyone have 
>> any ideas or pointers?
>> Next up, debugging an apache module...
>> 
>> Thanks in advanced.
>> 
>> 
>> kib
>> 
>> "The trouble with normal is it always gets worse."
>> Bruce Cockburn
>> 
>> Klaus Berkling
>> Web Application Dev. & Systems Analyst
>> DynEd International, Inc.
>> www.dyned.com
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>> 
>> This email sent to ch...@global-village.net
> 
> -- 
> Chuck Hill Senior Consultant / VP Development
> 
> Practical WebObjects - for developers who want to increase their overall 
> knowledge of WebObjects or who are trying to solve specific problems.
> http://www.global-village.net/gvc/practical_webobjects
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsub

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Daniel Beatty
Greetings Ramsey,
You have highlighted why this makes it the compiler guy's dream job.  Take a 
decent size nightmare for the the subject, pile on a deadline, and add on 
mediocre salary to give us either a government rice bowl and genius grinder.   
Oops.  Sorry, those have been my dreams lately.  Since this all hap-hazardly 
came together in the first place, it is not as though we can question the mind 
of the person who orchestrated the mess.   We could offer them a them a 
Guinness  but I think they were stoned on something far stronger than the glass 
would hold.  

Seriously though, the problem described would keep a compiler team employed for 
a good sizable amount of time.It would be a wise investment somewhere to 
have some kind of converter, mobile code generator or something that would 
generate the right code for the appropriate language and platform pair.  

 V/R,





Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 13, 2012, at 11:48 AM, Ramsey Gurley wrote:

> 
> On Jul 13, 2012, at 2:54 AM, Henrique Gomes wrote:
> 
>> 
>> On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
>> 
 
 You want to know the biggest unfixable problem with WO for me? WO apps 
 can't be deployed on any mobile platform.  That really sucks.
>>> 
>>> For that, you need to change the paradigm from interface vending servers to 
>>> servers that vend data and processing.  Use a mobile client technology like 
>>> Sencha or Montage.  Or write D2iOS.  :-)
>>> 
>>> (..)
>>> Chuck
>> 
>> I actually think that's the way to go.
> 
> 
> You can do go client, but then you have to build a client for every platform 
> you support.  That's not trivial. 
> 
> Deploying to client platforms is quite a bit different from deploying to a 
> server under your control too. Instead of having a few instances, tended to 
> by someone who knows what they are doing, on hardware you know everything 
> about, you have hundreds/thousands/millions of instances on a plethora of 
> different configurations being run by people who don't have freakin' a clue.  
> 
> Supporting users is endless fun!  No, really. It's endless. I get one or two 
> user problems *every* morning.  It's so fun.
> 
> 1. Get problem description. (HelpDesk: ZOMG! User is alarmed!! App is not 
> workings!!11!)
> 2. Ask for detailed information (Which user? What client platform? Define 
> "not working" please.)
> 3. Take info and dig for cause.
> 4. Find ambiguity. GOTO step 2.  Repeat for a while. (Sometimes forever. I 
> have a bin of unsolved mysteries)
> 5. Determine problem.
> 6. Apply fix if a bug. Apply cluebat if PEBKAC.
> 
> Going client may free up some server resources, but it will definitely 
> require more support resources. Guess which is cheaper :-)
> 
> 
>> You mentioned that switching to Cayenne  leaves 1/3 of WO, aka the 
>> presentation layer, but, really, is there a future on server side interface 
>> vending? 
> 
> The best way to predict the future is to create it. Is anyone cranking out a 
> client interface faster and more reliably than D2W yet?  I'm all ears over 
> here :-)
> 
> Ramsey
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/danielbeatty%40mac.com
> 
> This email sent to danielbea...@mac.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Daniel Beatty
Greetings all,
I have to agree with Mike.  There is a lot of good to be had in the Cayenne 
project, and the discuss there of.  For starters, it identifies the need in our 
community for the stability of a good ORM that is well defined and stable, 
connected to a good web object generating framework, and if possible connecting 
today's customers.   WebObjects, EOF and CoreData have that advantage for the 
Apple side of the house, and even the Android camp can consume a WebObjects 
app.  

There was a reason I suggested using a standards body for accomplish the feat 
of having an Open Source ORM, be it Cayenne, EOF, or something else.   The 
concept is that it would be stable like a rock, and public there by enable any 
one to use it.  Standards take time to form, but in the process there are 
projects like Cayenne, and prototypes using WO/EOF to demonstrate the concepts 
what we think an ORM should be.  EOF is the de facto ORM by its age, but it 
could easily be supplanted by derived versions found in Ruby, Python, and other 
languages.My dissertation gave EOF a good head start by putting on the map 
in the academic community, and I am about to publish it.   

The Cayenne project is not the only project that I have up for consideration by 
the Open Grid Forum that is of interest to the WO community.  The Zion project 
is also significant aspect, too.   If I could have some community backing both, 
that would be fabulous.   If Apple would like to help that would be nice too, 
assuming they read these things.  Since Zion is a WO/ Mac/ iOS hybrid all 
together thing, I would hope they would see the wisdom and value in the 
product. The Zion project itself is a Texas Tech project that is the fruit of 
my dissertation, and I hope that I will see it to market and success some way 
(Just a dream).

V/R,





Dan Beatty, Ph.D.
Texas Tech University, Alumni
dan.bea...@mac.com
https://sites.google.com/site/allnightstarparty/home
(806)438-6620














On Jul 13, 2012, at 11:41 AM, Mike Schrag wrote:

> don't make decisions based on anecdotal evidence
> 
> ms
> 
> On Jul 13, 2012, at 9:03 AM, Karl  wrote:
> 
>> Hi,
>> 
>> Making EOF multi-threaded is really not that desirable nor is it necessary.  
>> EOF gets most of its speed and efficiency through its 'cut through' 
>> single-threaded design at the Access layer.
>> 
>> About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
>> multi-threaded.  It was about half as fast as the EOF that we know (and 
>> love?).  Since then, Apple's internal version of EOF retains virtually the 
>> current implementation except for the snapshot layer which is now shared by 
>> multiple DB stacks.  So the solution was to remove the 1-1 relationship 
>> between DB stacks and snapshots and to retain the cut-through 
>> single-threaded design of EOF.
>> 
>> Karl
>> 
>> On 2012-07-13, at 3:06 PM, Farrukh Ijaz  
>> wrote:
>> 
>>> Sorry for late response, just landed last night.
>>> 
>>> The idea is very simple to understand and implement. E.g. I've a third 
>>> party library which has a method named with following signature:
>>> 
>>> String encode(String someString) {
>>> // some crappy encoding performed on someString and saved as encoded...
>>> return encoded;
>>> }
>>> 
>>> Now this method can be private, public, protected, static, final, blah blah 
>>> etc. I find that encoding is buggy, how to fix it? There are two ways:
>>> 
>>> 1. Get the source code, fix the method and submit patch. (This is sometimes 
>>> not possible and for sure not possible in case of WebObjects)
>>> 2. Use AOP
>>> 
>>> Forget about option 1. In Option 2 we have to use some AOP mechanism and 
>>> the one that I've tested with my Wonder apps is AspectJ. I'm not going into 
>>> details as it's a vast subject but providing links which are sufficient to 
>>> experiment :)
>>> 
>>> http://www.eclipse.org/aspectj/
>>> http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
>>> 
>>> As far as weaving is concerned, I would suggest to use dynamic join point 
>>> as they can be used to intercept calls and invoke different code rather 
>>> than modifying the original classes.
>>> 
>>> The idea is we need to define join point for the method which is buggy or 
>>> where we want to provide our own implementation. When the code is executed, 
>>> the class loader reroutes the request for incoming method calls to our 
>>> code. AOP is different that OOP. In contrast with OOP where methods are 
>>> associated with Objects, AOP is used to classify those methods under common 
>>> aspects and normally we use regular expressions for that. Two very common 
>>> aspects I can explain here:
>>> 
>>> 1. You may have lots of methods and you want to collect execution type for 
>>> each method call. (A logging aspect)
>>> 2. A developer like me who put all the code in try block and catch one 
>>> super Exception, someone would like to perform different ope

ERXJSFlyOver ??

2012-07-13 Thread Theodore Petrosky
ERXJSFlyOver

Is there an example of this anywhere. I stumbled on it whilst looking over 
Wonder. Seems interesting but I don't understand it.

Ted
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: ERPatcher Framework Proposal

2012-07-13 Thread Lachlan Deck
Hey there,

On 14/07/2012, at 6:22 AM, Henrique Prange wrote:

> Hi everybody,
> 
> The "Migrating to EOF to Cayenne" thread touched an import matter: how may we 
> change WebObjects behavior that cannot be modified through OO constructs 
> without violating the Apple's license?

I've been reading that thread... but it appears that the cart is leading the 
horse for the most part.

I would suggest that in order to obtain any consensus moving forward people 
will need to do a better job of selling their proposal. To do so, it will 
require concrete examples of what exactly they will be fixing in the current 
stack via any said solution and not only why they think their approach to 
solving problems in the future is better.

i.e., theoretical solutions to unknown problems won't sell, no matter how 
technically sound the solution may be. This is already a niche market.

Additionally in order for people to make an informed decision, they'd need to 
know things like:
- AOP is not straight forward: will it make my life harder in development / 
debugging / deployment?
- will this make it easier for contributions to Wonder?
- etc.

> I'm looking into solutions for this problem since it's an essential 
> requirement for WOInject core functioning and to fix WO bugs that reflect in 
> misbehavior of WOUnit.

Don't hear me wrong. WOInject is very cool, and I think should play an 
increasingly important role... but it seems to me waiting for the community to 
make a decision based on theoreticals just ain't gonna happen any time soon.

This is especially the case if it won't solve the main perception of WO being a 
legacy tech.

> The current solution applied in Wonder requires the decompilation of 
> WebObjects code and the repackaging of changed code inside special libraries 
> that must take precedence in the classpath ordering. This solution is not 
> ideal as soon as it violates Apple's license

Does this mean rewriting lots of Wonder classes? i.e., classpath ordering will 
exist for the foreseeable future until they're eliminated, no? The cat's 
already out of the bag with licensing and has been for years.

> and doesn't scale (what happens if a number of frameworks need to change 
> behavior in the same class?).

Does that same question not apply to AOP?

> I've been playing with a couple of alternative solutions lately including 
> AOP, bytecode manipulation (Javassist and ASM), classloading manipulation and 
> java-agents. I haven't tried anything at WOBootstrap level though. Every 
> solution has advantages and drawbacks. IMHO, the ERPatcher framework should 
> be ubiquitous and transparent to the user which is very challenging.
> 
> Some important WO classes are loaded during the static initialization of 
> WOApplication and ERXApplication classes. Those classes are loaded even 
> before the main method is executed. The ERPatcher framework should change or 
> hook interceptors to the required classes/methods before the static 
> initialization of the Application class. (We could do it afterwards with 
> classloading manipulation. However it has too many drawbacks, so I won't take 
> it into consideration). The ERPatcher should also provide means to patch 
> classes outside the context of an entire application (we want bugfixes even 
> when running a unit test, for instance).

Good example. 

> <...>
> 
> I'm willing to implement this framework in Wonder, but I would like to hear 
> your opinion about the requirements and consequences of each solution. Every 
> solution requires some kind of effort to adequate the current applications. 
> If the community doesn't approve the solution, then it is waste of time to 
> implement it.

They're all good ideas, Henrique. They answer probably lies in insurance & 
assurances.

i.e., insurance against tech debt, insurance on their skills, as well as 
assurances that whatever solution is used moving forward will rock!

But first things first: in order to find a viable solution, there needs to be 
identification of technical problems that needs fixing and not just an 
improvement in terms of licensing.

Of course, take my conjecture as just that given that I am out of the loop 
these days (though I'm clearly still lurking around on the list) and as such 
will not be in a position to add any help in the form of code :)

with regards,

Lachlan Deck


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread John Huss
So this thread has devolved quite a bit from it's original intent.  One of
my original goals was to detail the areas where people could help with an
effort to provide an easy and painless migration to Cayenne.  I haven't
seen much interest in helping thus far.  So if you are interested, please
speak up.  If not, then we can just go back to debating for another year.

John
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: ant woes. The framework name 'WOOgnl' does not exist.

2012-07-13 Thread Jesse Tayler

Good thinking Pascal!

I had just gotten onto that with the help of Vinny Luc, and somehow got the 
frameworks pointing to the right places in wolips.properties.

I seem to be back building again!



On Jul 13, 2012, at 5:01 PM, Pascal Robert  wrote:

> What is the value of "wo.local.frameworks" in 
> /Users/jtayler/Library/Application Support/WOLips/wolips.properties ? Does 
> the path of the value of "wo.local.frameworks" have the Wonder frameworks in 
> it?
>> 
>> I'm still seem to be unable to build using Ant, I can run my app just fine, 
>> but I consistently get a framework missing error.
>> 
>> I'll put the output below, can anyone see what's going on with my build?
>> 
>> 
>> 
>> 
>> 
>> Jesses-MacBook-Pro:WOMan jtayler$ ant -lib woproject.jar -verbose build
>> Apache Ant(TM) version 1.8.2 compiled on June 20 2012
>> Trying the default build file: build.xml
>> Buildfile: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
>> Detected Java version: 1.6 in: 
>> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
>> Detected OS: Mac OS X
>> parsing buildfile /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml 
>> with URI = file:/Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
>> Project base dir set to: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan
>> Build sequence for target(s) `build' is [init.properties, init.build, 
>> compile, build.woapp, javaclient, ssdd, war, split, package, build]
>> Complete build sequence is [init.properties, init.build, compile, 
>> build.woapp, javaclient, ssdd, war, split, package, build, init.install, 
>> install, clean, ]
>> 
>> init.properties:
>> parsing buildfile 
>> jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml with 
>> URI = jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml 
>> from a zip file
>> [property] Loading 
>> /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.properties
>> [property] Loading /Users/jtayler/Library/Application 
>> Support/WOLips/wolips.properties
>> Override ignored for property "wolips.properties"
>> 
>> init.build:
>> 
>> compile:
>>   [mkdir] Skipping /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/bin 
>> because it already exists.
>> 
>> BUILD FAILED
>> /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml:206: The framework 
>> name 'ERPrototypes' does not exist.
>>  at 
>> org.objectstyle.woproject.ant.FrameworkSet.getEclipseFrameworks(Unknown 
>> Source)
>>  at org.objectstyle.woproject.ant.FrameworkSet.getJarsPath(Unknown 
>> Source)
>>  at 
>> org.objectstyle.woproject.ant.FrameworkSet.jarsPathForFrameworkSets(Unknown 
>> Source)
>>  at org.objectstyle.woproject.ant.WOCompile.execute(Unknown Source)
>>  at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>>  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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>>  at org.apache.tools.ant.Task.perform(Task.java:348)
>>  at org.apache.tools.ant.Target.execute(Target.java:390)
>>  at org.apache.tools.ant.Target.performTasks(Target.java:411)
>>  at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
>>  at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
>>  at 
>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>>  at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
>>  at org.apache.tools.ant.Main.runBuild(Main.java:809)
>>  at org.apache.tools.ant.Main.startAnt(Main.java:217)
>>  at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
>>  at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
>> 
>> Total time: 0 seconds
>> Jesses-MacBook-Pro:WOMan jtayler$ 
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread Louis Demers

On 2012-07-13, at 5:03 PM, Pascal Robert wrote:

> FYI, I also have this problem (this is why I told James to enable bundles), 
> even if my project names and paths don't have a hyphen or a space in it.

would that be "Generate Bundles" instead of "Enable Bundles" in wolips 3.7 
(WOlips preference for Build)?



Louis Demers eng.
www.obzerv.com


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Who uses ERDirectToRest ?

2012-07-13 Thread Farrukh Ijaz
> AFAIK, nobody use it, except maybe Anjo. Using the "routes" based API in 
> ERRest in quite easy, but I do agree that being able to use D2W rules instead 
> of ERXKeyFilter to decide what is going to be send or accepted would be cool.

One can use following methods in the Route Controller class. I have create a 
BaseRouteController and defined all useful methods in it.

Farrukh

private D2WContext d2wContext;

protected D2WContext d2wContext() {
if (d2wContext == null) {
d2wContext = new D2WContext();
}
return d2wContext;
}

synchronized public NSArray inferFilterKeysForEntity(String entityName) 
{
EOEntity entity = EOModelGroup.defaultGroup().entityNamed(entityName);
d2wContext().setEntity(entity);
d2wContext().setTask(request().method());
return (NSArray) 
d2wContext().inferValueForKey("displayPropertyKeys");
}

synchronized public NSArray inferFilterKeysForPage(String page) {
d2wContext().setDynamicPage(page);
d2wContext().setTask(request().method());
return (NSArray) 
d2wContext().inferValueForKey("displayPropertyKeys");
}

public ERXKeyFilter showFilter(String entityName) {
NSArray keys = inferFilterKeysForEntity(entityName);
ERXKeyFilter filter = null;
if (keys != null && !keys.isEmpty()) {
filter = ERXKeyFilter.filterWithNone();
for (String key : keys) {
filter.include(new ERXKey(key));
}
} else {
filter = 
ERXKeyFilter.filterWithAttributesAndToOneRelationships();
}
return filter;
}


The D2WRule should be something like:

LHS: entity.name = 'Employee' and task = 'GET'
RHS: displayPropertyKeys = ('firstName', 'lastName', 'position')

> 
>> I've just started to use REST with our business logic. 
>> 
>> I wanted to use ERDirectToRest because it seems very interesting to quickly 
>> delivery access to the business logic but there are a lot of warning to NOT 
>> use it:
>> - In the read me: "This framework uses the old and deprecated REST APIs, 
>> avoid using it."
>> - Classes are deprecated
>> 
>> So my questions: 
>> - Can this framework be used ? 
>> - Does anybody use it ? 
>> - What people use instead ?
>> 
>> Dominique
>> 
>> 
>> ___
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
>> 
>> This email sent to prob...@macti.ca
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
> 
> This email sent to farrukh.i...@fuegodigitalmedia.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Chuck Hill

On 2012-07-13, at 1:41 PM, Farrukh Ijaz wrote:

> 
> On 2012-07-13, at 11:11 PM, Chuck Hill  wrote:
> 
>>> Is rewriting EOF and webobjects even a possibility? If yes, what about an 
>>> outline of what is required to undertake this magnitude of project.
>> 
>> 
>> Yes, it is possible.  It was written once, it can be written again.  I don't 
>> know if it is practical though.  I doubt that any or even all of us have the 
>> resources to fund that.  Apple has a LOT of man years in WO.
> 
> Rewriting EOF + new Bugs + Lots of Man Hours = Existing EOF + AOP Patched 
> Code + Few Man Hours

Don't forget that a lot of of the reason to replace WO was not to fix bugs but 
to address the perception that it is a dead technology.  Using AOP to patch WO 
won't address that concern.



> The only issue I would say which is an issue is maintenance of the patched 
> code. Since aspects reside outside and integrate at runtime, it will be 
> difficult for someone to trace where the bug is lying (in EOF or in the 
> patched code) unless it's well documented.

Yes, that will be a problem.


> The choice is in the hands of community but I think we should give AOP a try 
> before we start rewriting the whole EOF or go for alternatives, it's much 
> faster to test. After all, I will do what Romans do in Rome :)

Drive crazy?  :-P


-- 
Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects









 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Henrique Gomes

On Jul 13, 2012, at 7:48 PM, Ramsey Gurley wrote:
> 
> You can do go client, but then you have to build a client for every platform 
> you support.  That's not trivial. 
> 
> Deploying to client platforms is quite a bit different from deploying to a 
> server under your control too. Instead of having a few instances, tended to 
> by someone who knows what they are doing, on hardware you know everything 
> about, you have hundreds/thousands/millions of instances on a plethora of 
> different configurations being run by people who don't have freakin' a clue.  
> 
> Supporting users is endless fun!  No, really. It's endless. I get one or two 
> user problems *every* morning.  It's so fun.
> 
> (...)
> Ramsey
> 


Yes, I take your point about different platforms, the more complex local 
processing, the more you are likely to find differences in browsers, plugins, 
etc... Just to be clear I was talking about local HTML/JS 'applications' not 
native (Windows, Mac, iOS, Android, ...)  Those are still vended from the 
server you control.

But you also have to support 'different platforms' if vending HTML/CSS/JS from 
a server. And end users are always end users, I get my share of reports for web 
applications...


Henrique Gomes


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread Ted Archibald
When I had this type of problem a while back, the root cause was the name
of the project for me.  It was either a space and/or a period.  Not having
bundleless builds drove me nuts.

On Fri, Jul 13, 2012 at 3:03 PM, Pascal Robert  wrote:

> FYI, I also have this problem (this is why I told James to enable
> bundles), even if my project names and paths don't have a hyphen or a space
> in it.
>
> > What's your application/project named?
> >
> > On Fri, Jul 13, 2012 at 7:00 AM, James Cicenia 
> wrote:
> > Thank you for replying. The secret to get it to work was offered by
> Pascal (bless his heart). I had to "Enable Bundles" in the Eclipse
> preferences. This magically made everything work.
> >
> > Thank goodness for this list as a solo developer it has truly become my
> lifeline, teacher and forward looking information source.
> >
> > Regards,
> > James
> >
> >
> > On Fri, Jul 13, 2012 at 8:58 AM, Ralf Schuchardt  wrote:
> > Hi James,
> >
> > there are at least two possible reasons for this exception:
> >
> > You may call ERXExtension methods before the frameworks are completely
> loaded, e.g. in static initializers. But if this project did run before,
> then it is probably not the case here.
> >
> > The other reason may be an unfortunate choosing of project paths,
> project names and Eclipse project file locations. Are these framework
> projects opened in Eclipse when you start your app? You could try to
> install them and then close the corresponding projects. If this succeeds
> then you need to closely examine the project paths.
> > Your best shot would be to enable the debug output in
> ERXApplication.Loader.debugMsg() and see if the loaded projects match your
> expectations of what should get loaded.
> >
> > Ralf
> >
> > Am 12.07.2012 um 19:39 schrieb James Cicenia:
> >
> >> Oh how I wish I could press once GoLipse button and all wonder/wo
> frameworks would just work.
> >>
> >> Anyway... I did all that, git'd the Wonder Integration and imported all
> frameworks into Eclipse.
> >> Things were looking good, no compile errors, etc. but, when I try to
> launch I get the following:
> >>
> >> I have moved ERExtension up and down, removed it, added, it, etc.
> nothing changes.
> >>
> >> What am I missing?
> >>
> >> Thanks
> >> James
> >>
> >> [2012-7-12 12:38:46 EDT]  A fatal exception occurred:
> ERXExtensions have not been initialized. Please report the classpath and
> the rest of the bundles to the Wonder mailing list:
> >> Remaining frameworks: [ERDirectToRest, ERPDFGeneration,
> ERCoolComponents, Ajax, ERModernLook, ERRest, ERModernDirectToWeb,
> ERDirectToWeb, ERModernDefaultSkin, WOLips, ExcelGenerator,
> QualifierAdditions, ERExcelLook, MySQLPlugIn, ERAttachment,
> JavaERJDBCAdaptor, ERJavaMail, JavaWOExtensions, ERPrototypes,
> ERExtensions, ERTaggable]
> >> Classpath:
> /Developer/Workspace/PIRefresh/PI/bin:/Developer/git/wonder/Frameworks/Core/ERExtensions/bin:/Developer/git/wonder/Frameworks/Core/JavaWOExtensions/bin:/Developer/git/wonder/Frameworks/EOAdaptors/JavaERJDBCAdaptor/bin:/Developer/git/wonder/Frameworks/Misc/ERDirectToRest/bin:/Developer/git/wonder/Frameworks/Misc/ERPDFGeneration/bin:/Developer/git/wonder/Frameworks/D2W/ERModernLook/bin:/Developer/git/wonder/Frameworks/Excel/ExcelGenerator/bin:/Developer/git/wonder/Frameworks/Ajax/ERCoolComponents/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERTaggable/bin:/Developer/git/wonder/Frameworks/Core/ERPrototypes/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDefaultSkin/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDirectToWeb/bin:/Developer/git/wonder/Frameworks/Excel/ERExcelLook/bin:/Developer/git/wonder/Frameworks/Misc/WOLips/bin:/Developer/git/wonder/Frameworks/PlugIns/MySQLPlugIn/bin:/Developer/git/wonder/Frameworks/Core/ERDirectToWeb/bin:/Developer/git/wonder/Frameworks/Ajax/Ajax/bin:/Developer/Workspace/PIRefresh/QualifierAdditions/bin:/Developer/git/wonder/Frameworks/Core/ERJavaMail/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERAttachment/bin:/Developer/git/wonder/Frameworks/EOF/ERRest/bin:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/Resources/Java/javadtwgeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/WebServerResources/Java/JavaDTWGeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/Resources/Java/javadirecttoweb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/WebServerResources/Java/JavaDirectToWeb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/Resources/Java/javaeoapplication.jar:/Library/WebObjects/Versions

Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread Pascal Robert
FYI, I also have this problem (this is why I told James to enable bundles), 
even if my project names and paths don't have a hyphen or a space in it.

> What's your application/project named?
> 
> On Fri, Jul 13, 2012 at 7:00 AM, James Cicenia  wrote:
> Thank you for replying. The secret to get it to work was offered by Pascal 
> (bless his heart). I had to "Enable Bundles" in the Eclipse preferences. This 
> magically made everything work.
> 
> Thank goodness for this list as a solo developer it has truly become my 
> lifeline, teacher and forward looking information source.
> 
> Regards,
> James
> 
> 
> On Fri, Jul 13, 2012 at 8:58 AM, Ralf Schuchardt  wrote:
> Hi James,
> 
> there are at least two possible reasons for this exception:
> 
> You may call ERXExtension methods before the frameworks are completely 
> loaded, e.g. in static initializers. But if this project did run before, then 
> it is probably not the case here.
> 
> The other reason may be an unfortunate choosing of project paths, project 
> names and Eclipse project file locations. Are these framework projects opened 
> in Eclipse when you start your app? You could try to install them and then 
> close the corresponding projects. If this succeeds then you need to closely 
> examine the project paths.
> Your best shot would be to enable the debug output in 
> ERXApplication.Loader.debugMsg() and see if the loaded projects match your 
> expectations of what should get loaded.
> 
> Ralf
> 
> Am 12.07.2012 um 19:39 schrieb James Cicenia:
> 
>> Oh how I wish I could press once GoLipse button and all wonder/wo frameworks 
>> would just work.
>> 
>> Anyway... I did all that, git'd the Wonder Integration and imported all 
>> frameworks into Eclipse.
>> Things were looking good, no compile errors, etc. but, when I try to launch 
>> I get the following:
>> 
>> I have moved ERExtension up and down, removed it, added, it, etc. nothing 
>> changes.
>> 
>> What am I missing?
>> 
>> Thanks
>> James
>> 
>> [2012-7-12 12:38:46 EDT]  A fatal exception occurred: ERXExtensions 
>> have not been initialized. Please report the classpath and the rest of the 
>> bundles to the Wonder mailing list: 
>> Remaining frameworks: [ERDirectToRest, ERPDFGeneration, ERCoolComponents, 
>> Ajax, ERModernLook, ERRest, ERModernDirectToWeb, ERDirectToWeb, 
>> ERModernDefaultSkin, WOLips, ExcelGenerator, QualifierAdditions, 
>> ERExcelLook, MySQLPlugIn, ERAttachment, JavaERJDBCAdaptor, ERJavaMail, 
>> JavaWOExtensions, ERPrototypes, ERExtensions, ERTaggable]
>> Classpath: 
>> /Developer/Workspace/PIRefresh/PI/bin:/Developer/git/wonder/Frameworks/Core/ERExtensions/bin:/Developer/git/wonder/Frameworks/Core/JavaWOExtensions/bin:/Developer/git/wonder/Frameworks/EOAdaptors/JavaERJDBCAdaptor/bin:/Developer/git/wonder/Frameworks/Misc/ERDirectToRest/bin:/Developer/git/wonder/Frameworks/Misc/ERPDFGeneration/bin:/Developer/git/wonder/Frameworks/D2W/ERModernLook/bin:/Developer/git/wonder/Frameworks/Excel/ExcelGenerator/bin:/Developer/git/wonder/Frameworks/Ajax/ERCoolComponents/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERTaggable/bin:/Developer/git/wonder/Frameworks/Core/ERPrototypes/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDefaultSkin/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDirectToWeb/bin:/Developer/git/wonder/Frameworks/Excel/ERExcelLook/bin:/Developer/git/wonder/Frameworks/Misc/WOLips/bin:/Developer/git/wonder/Frameworks/PlugIns/MySQLPlugIn/bin:/Developer/git/wonder/Frameworks/Core/ERDirectToWeb/bin:/Developer/git/wonder/Frameworks/Ajax/Ajax/bin:/Developer/Workspace/PIRefresh/QualifierAdditions/bin:/Developer/git/wonder/Frameworks/Core/ERJavaMail/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERAttachment/bin:/Developer/git/wonder/Frameworks/EOF/ERRest/bin:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/Resources/Java/javadtwgeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/WebServerResources/Java/JavaDTWGeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/Resources/Java/javadirecttoweb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/WebServerResources/Java/JavaDirectToWeb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/Resources/Java/javaeoapplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/WebServerResources/Java/JavaEOApplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar:/Library/WebObjects/Versions/WebObjects5

Re: Adaptor problem with SSL on Ubuntu

2012-07-13 Thread Pascal Robert

Le 2012-07-13 à 14:36, Klaus Berkling a écrit :

> 
> On Jul 12, 2012, at 12:22 PM, Klaus Berkling wrote:
> 
>> Next up, debugging an apache module...
> 
> So I'm setting up an Ubuntu development environment to debug the adaptor 
> (whoo hoo).
> 
> Kieran, I'm going to need that C book. :-)
> 
> Should I use the integration or master branch? Is someone doing work on the 
> adaptor at the moment? Otherwise I probably makes no difference.

integration have a couple of adaptor fixes that is not in master, so try 
integration first.
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: ant woes. The framework name 'WOOgnl' does not exist.

2012-07-13 Thread Pascal Robert
What is the value of "wo.local.frameworks" in 
/Users/jtayler/Library/Application Support/WOLips/wolips.properties ? Does the 
path of the value of "wo.local.frameworks" have the Wonder frameworks in it?
> 
> I'm still seem to be unable to build using Ant, I can run my app just fine, 
> but I consistently get a framework missing error.
> 
> I'll put the output below, can anyone see what's going on with my build?
> 
> 
> 
> 
> 
> Jesses-MacBook-Pro:WOMan jtayler$ ant -lib woproject.jar -verbose build
> Apache Ant(TM) version 1.8.2 compiled on June 20 2012
> Trying the default build file: build.xml
> Buildfile: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
> Detected Java version: 1.6 in: 
> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
> Detected OS: Mac OS X
> parsing buildfile /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml 
> with URI = file:/Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
> Project base dir set to: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan
> Build sequence for target(s) `build' is [init.properties, init.build, 
> compile, build.woapp, javaclient, ssdd, war, split, package, build]
> Complete build sequence is [init.properties, init.build, compile, 
> build.woapp, javaclient, ssdd, war, split, package, build, init.install, 
> install, clean, ]
> 
> init.properties:
> parsing buildfile 
> jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI 
> = jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a 
> zip file
> [property] Loading 
> /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.properties
> [property] Loading /Users/jtayler/Library/Application 
> Support/WOLips/wolips.properties
> Override ignored for property "wolips.properties"
> 
> init.build:
> 
> compile:
>[mkdir] Skipping /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/bin 
> because it already exists.
> 
> BUILD FAILED
> /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml:206: The framework 
> name 'ERPrototypes' does not exist.
>   at 
> org.objectstyle.woproject.ant.FrameworkSet.getEclipseFrameworks(Unknown 
> Source)
>   at org.objectstyle.woproject.ant.FrameworkSet.getJarsPath(Unknown 
> Source)
>   at 
> org.objectstyle.woproject.ant.FrameworkSet.jarsPathForFrameworkSets(Unknown 
> Source)
>   at org.objectstyle.woproject.ant.WOCompile.execute(Unknown Source)
>   at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
>   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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
>   at org.apache.tools.ant.Task.perform(Task.java:348)
>   at org.apache.tools.ant.Target.execute(Target.java:390)
>   at org.apache.tools.ant.Target.performTasks(Target.java:411)
>   at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
>   at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
>   at 
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>   at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
>   at org.apache.tools.ant.Main.runBuild(Main.java:809)
>   at org.apache.tools.ant.Main.startAnt(Main.java:217)
>   at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
>   at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
> 
> Total time: 0 seconds
> Jesses-MacBook-Pro:WOMan jtayler$ 
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Who uses ERDirectToRest ?

2012-07-13 Thread Pascal Robert
AFAIK, nobody use it, except maybe Anjo. Using the "routes" based API in ERRest 
in quite easy, but I do agree that being able to use D2W rules instead of 
ERXKeyFilter to decide what is going to be send or accepted would be cool.

> I've just started to use REST with our business logic. 
> 
> I wanted to use ERDirectToRest because it seems very interesting to quickly 
> delivery access to the business logic but there are a lot of warning to NOT 
> use it:
>  - In the read me: "This framework uses the old and deprecated REST APIs, 
> avoid using it."
>  - Classes are deprecated
> 
> So my questions: 
>  - Can this framework be used ? 
>  - Does anybody use it ? 
>  - What people use instead ?
> 
> Dominique
> 
> 
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca
> 
> This email sent to prob...@macti.ca


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Farrukh Ijaz

On 2012-07-13, at 11:11 PM, Chuck Hill  wrote:

>> Is rewriting EOF and webobjects even a possibility? If yes, what about an 
>> outline of what is required to undertake this magnitude of project.
> 
> 
> Yes, it is possible.  It was written once, it can be written again.  I don't 
> know if it is practical though.  I doubt that any or even all of us have the 
> resources to fund that.  Apple has a LOT of man years in WO.

Rewriting EOF + new Bugs + Lots of Man Hours = Existing EOF + AOP Patched Code 
+ Few Man Hours

The only issue I would say which is an issue is maintenance of the patched 
code. Since aspects reside outside and integrate at runtime, it will be 
difficult for someone to trace where the bug is lying (in EOF or in the patched 
code) unless it's well documented.

The choice is in the hands of community but I think we should give AOP a try 
before we start rewriting the whole EOF or go for alternatives, it's much 
faster to test. After all, I will do what Romans do in Rome :)

Farrukh
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: ERRest Testing

2012-07-13 Thread Henrique Prange
Hi Kieran,

Thanks. I've used the soapUI to explore WebServices APIs in the past, but I had 
no idea they have this option for REST testing.

Cheers,

Henrique

On 12/07/2012, at 13:29, Kieran Kelleher wrote:

> I guess the URL would be useful :-)
> 
> http://soapui.org/REST-Testing/rest-functional-testing.html
> 
> On Jul 12, 2012, at 12:28 PM, Kieran Kelleher wrote:
> 
>> Came across this the other day when I was grabbing latest soapUI.app to 
>> explore a SOAP webservice. It seems soapUI *might* be a solution for REST 
>> service testing . I have not tried it, so YMMV.
>> 
>> On Jul 3, 2012, at 11:14 PM, Paul Hoadley wrote:
>> 
>>> Hi Henrique,
>>> 
>>> On 03/07/2012, at 1:20 PM, Henrique Prange wrote:
>>> 
 Simple question: how are you testing ERRest APIs?
>>> 
>>> In a project I was working on a few months ago, I was doing what amounts to 
>>> rudimentary functional testing using Apache HttpClient.  Using JUnit as the 
>>> test runner, I was simply constructing the appropriate requests and 
>>> checking the responses.  It was somewhat tedious, but it worked to the 
>>> extent that you could manually run a test quite against the app running in 
>>> Eclipse.  Time did not permit anything more sophisticated, such as working 
>>> out the best way to run the tests in a continuous integration setting, or 
>>> factoring the code appropriately to reduce the tedium of making new tests.  
>>> If I get time to revisit it, those two things would certainly be my goal, 
>>> as manually running the tests is better than nothing, but obviously nowhere 
>>> near as good as having it in the CI process.
>>> 
>>> 
>>> -- 
>>> Paul Hoadley
>>> http://logicsquad.net/
>>> 
>>> 
>>> 
>>> ___
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/kelleherk%40gmail.com
>>> 
>>> This email sent to kelleh...@gmail.com
>> 
> 

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


ERPatcher Framework Proposal

2012-07-13 Thread Henrique Prange
Hi everybody,

The "Migrating to EOF to Cayenne" thread touched an import matter: how may we 
change WebObjects behavior that cannot be modified through OO constructs 
without violating the Apple's license?

I'm looking into solutions for this problem since it's an essential requirement 
for WOInject core functioning and to fix WO bugs that reflect in misbehavior of 
WOUnit.

The current solution applied in Wonder requires the decompilation of WebObjects 
code and the repackaging of changed code inside special libraries that must 
take precedence in the classpath ordering. This solution is not ideal as soon 
as it violates Apple's license and doesn't scale (what happens if a number of 
frameworks need to change behavior in the same class?).

I've been playing with a couple of alternative solutions lately including AOP, 
bytecode manipulation (Javassist and ASM), classloading manipulation and 
java-agents. I haven't tried anything at WOBootstrap level though. Every 
solution has advantages and drawbacks. IMHO, the ERPatcher framework should be 
ubiquitous and transparent to the user which is very challenging.

Some important WO classes are loaded during the static initialization of 
WOApplication and ERXApplication classes. Those classes are loaded even before 
the main method is executed. The ERPatcher framework should change or hook 
interceptors to the required classes/methods before the static initialization 
of the Application class. (We could do it afterwards with classloading 
manipulation. However it has too many drawbacks, so I won't take it into 
consideration). The ERPatcher should also provide means to patch classes 
outside the context of an entire application (we want bugfixes even when 
running a unit test, for instance).

We could create a special Runner or use java-agents (or a mix of both) to do 
the dirty work before the Application is initialized.

1) Special Runner: the application is started by a Runner class. The runner can 
patch WO classes before loading and starting the Application class. Users would 
have to add a new class to their projects and start the Application from it. 
Something as the following code:

public class MyRunner extends ERXRunner {
public static void main(String[] args) {
ERXRunner.run("my.company.Application", args);
}
}

2) Java-agents: Since Java 5, we can attach agents to the virtual machine to 
perform instrumentation of classes. That is how AspectJ does load-time weaving 
since version 5. Users would have to declare the java-agent parameter when 
running their Application.

3) Mix of both: Since Java 6, we can attach a java-agent to a running process. 
We could use a Runner to attach a java-agent in runtime for instrumentation and 
then start the Applicaiton. With this solution, users would run the application 
without any special parameter, but they have to implement the runner. 
Additionally, Java 6 becomes a requirement.

Aspect oriented programming already provides a common idiom that can be used to 
change the behavior of methods. We can use AspectJ as the base for ERPatcher. 
The integration with AspectJ should be as transparent as possible, so most 
users won't have to deal with it directly.

I'm willing to implement this framework in Wonder, but I would like to hear 
your opinion about the requirements and consequences of each solution. Every 
solution requires some kind of effort to adequate the current applications. If 
the community doesn't approve the solution, then it is waste of time to 
implement it.

Cheers,

Henrique
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread JR Ruggentaler
Isn't Tapestry (http://tapestry.apache.org/) a WO like web application
framework? Tapestry integrates with Cayenne
(http://code.google.com/p/tapestry5-cayenne/). Maybe Tapestry + Cayenne =
Open WO.

JR

On 7/13/12 2:41 PM, "Theodore Petrosky"  wrote:

>
>> 
>> The best way to predict the future is to create it. Is
>> anyone cranking out a client interface faster and more
>> reliably than D2W yet?  I'm all ears over here :-)
>
>We have the best of all worlds, one group is pursuing AOP, another is
>pursuing Cayenne, and another is pursuing rewriting EOF and Webobjects.
>Did I miss anything?
>
>That's my take on the conversation.
>
>:-)  (I am being a little sarcastic)
>
>=> How can we proceed?
>=> What steps are necessary to make a decision?
>
>Is rewriting EOF and webobjects even a possibility? If yes, what about an
>outline of what is required to undertake this magnitude of project.
>
>Ted
>
>
> ___
>Do not post admin requests to the list. They will be ignored.
>Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
>Help/Unsubscribe/Update your Subscription:
>https://lists.apple.com/mailman/options/webobjects-dev/jr.ruggentaler%40ex
>perian.com
>
>This email sent to jr.ruggenta...@experian.com


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Chuck Hill
On 2012-07-13, at 12:41 PM, Theodore Petrosky wrote:
> 
>> 
>> The best way to predict the future is to create it. Is
>> anyone cranking out a client interface faster and more
>> reliably than D2W yet?  I'm all ears over here :-)
> 
> We have the best of all worlds, one group is pursuing AOP, another is 
> pursuing Cayenne, and another is pursuing rewriting EOF and Webobjects. Did I 
> miss anything?
> 
> That's my take on the conversation.
> 
> :-)  (I am being a little sarcastic)
> 
> => How can we proceed? 

1. Some of us will start using and contributing to Cayenne
2. Some of us will continue to debate technologies and talk about 
re-implementing WO but won't actually do anything (see past five years)
3. Some of us will apply AOP for the interesting problems it can solve (think 
of things that inheritance is not the solution for, horizontal functionality)


> => What steps are necessary to make a decision?

None, because we won't.


> Is rewriting EOF and webobjects even a possibility? If yes, what about an 
> outline of what is required to undertake this magnitude of project.


Yes, it is possible.  It was written once, it can be written again.  I don't 
know if it is practical though.  I doubt that any or even all of us have the 
resources to fund that.  Apple has a LOT of man years in WO.



Chuck

-- 
Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects









 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to ????

2012-07-13 Thread Ramsey Gurley

On Jul 13, 2012, at 12:41 PM, Theodore Petrosky wrote:

> 
>> 
>> The best way to predict the future is to create it. Is
>> anyone cranking out a client interface faster and more
>> reliably than D2W yet?  I'm all ears over here :-)
> 
> We have the best of all worlds, one group is pursuing AOP, another is 
> pursuing Cayenne, and another is pursuing rewriting EOF and Webobjects. Did I 
> miss anything?
> 
> That's my take on the conversation.
> 
> :-)  (I am being a little sarcastic)


I should have flagged the whole thread as junk and ignored it :-)


> 
> => How can we proceed? 
> => What steps are necessary to make a decision?
> 
> Is rewriting EOF and webobjects even a possibility? If yes, what about an 
> outline of what is required to undertake this magnitude of project.
> 
> Ted
> 


I plan on proceeding like I have for the past three years. WO + Wonder, until 
someone decides to break EOF. Then I'll just fork off ;-)  Anything is 
possible, but rewriting EOF isn't realistic.

Ramsey



 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: ant woes. The framework name 'WOOgnl' does not exist.

2012-07-13 Thread Jesse Tayler

I'm still seem to be unable to build using Ant, I can run my app just fine, but 
I consistently get a framework missing error.

I'll put the output below, can anyone see what's going on with my build?





Jesses-MacBook-Pro:WOMan jtayler$ ant -lib woproject.jar -verbose build
Apache Ant(TM) version 1.8.2 compiled on June 20 2012
Trying the default build file: build.xml
Buildfile: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
Detected Java version: 1.6 in: 
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Detected OS: Mac OS X
parsing buildfile /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml 
with URI = file:/Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml
Project base dir set to: /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan
Build sequence for target(s) `build' is [init.properties, init.build, compile, 
build.woapp, javaclient, ssdd, war, split, package, build]
Complete build sequence is [init.properties, init.build, compile, build.woapp, 
javaclient, ssdd, war, split, package, build, init.install, install, clean, ]

init.properties:
parsing buildfile 
jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = 
jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip 
file
 [property] Loading 
/Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.properties
 [property] Loading /Users/jtayler/Library/Application 
Support/WOLips/wolips.properties
Override ignored for property "wolips.properties"

init.build:

compile:
[mkdir] Skipping /Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/bin 
because it already exists.

BUILD FAILED
/Users/jtayler/Desktop/VAT/Planaby-Server/WOMan/build.xml:206: The framework 
name 'ERPrototypes' does not exist.
at 
org.objectstyle.woproject.ant.FrameworkSet.getEclipseFrameworks(Unknown Source)
at org.objectstyle.woproject.ant.FrameworkSet.getJarsPath(Unknown 
Source)
at 
org.objectstyle.woproject.ant.FrameworkSet.jarsPathForFrameworkSets(Unknown 
Source)
at org.objectstyle.woproject.ant.WOCompile.execute(Unknown Source)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
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.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 0 seconds
Jesses-MacBook-Pro:WOMan jtayler$ 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Migrating from EOF to ????

2012-07-13 Thread Theodore Petrosky

> 
> The best way to predict the future is to create it. Is
> anyone cranking out a client interface faster and more
> reliably than D2W yet?  I'm all ears over here :-)

We have the best of all worlds, one group is pursuing AOP, another is pursuing 
Cayenne, and another is pursuing rewriting EOF and Webobjects. Did I miss 
anything?

That's my take on the conversation.

:-)  (I am being a little sarcastic)

=> How can we proceed? 
=> What steps are necessary to make a decision?

Is rewriting EOF and webobjects even a possibility? If yes, what about an 
outline of what is required to undertake this magnitude of project.

Ted


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill
Hi Farrukh, 

Thanks for the summary!

Chuck


On 2012-07-13, at 5:06 AM, Farrukh Ijaz wrote:

> Sorry for late response, just landed last night.
> 
> The idea is very simple to understand and implement. E.g. I've a third party 
> library which has a method named with following signature:
> 
> String encode(String someString) {
>   // some crappy encoding performed on someString and saved as encoded...
>   return encoded;
> }
> 
> Now this method can be private, public, protected, static, final, blah blah 
> etc. I find that encoding is buggy, how to fix it? There are two ways:
> 
> 1. Get the source code, fix the method and submit patch. (This is sometimes 
> not possible and for sure not possible in case of WebObjects)
> 2. Use AOP
> 
> Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
> one that I've tested with my Wonder apps is AspectJ. I'm not going into 
> details as it's a vast subject but providing links which are sufficient to 
> experiment :)
> 
> http://www.eclipse.org/aspectj/
> http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
> 
> As far as weaving is concerned, I would suggest to use dynamic join point as 
> they can be used to intercept calls and invoke different code rather than 
> modifying the original classes.
> 
> The idea is we need to define join point for the method which is buggy or 
> where we want to provide our own implementation. When the code is executed, 
> the class loader reroutes the request for incoming method calls to our code. 
> AOP is different that OOP. In contrast with OOP where methods are associated 
> with Objects, AOP is used to classify those methods under common aspects and 
> normally we use regular expressions for that. Two very common aspects I can 
> explain here:
> 
> 1. You may have lots of methods and you want to collect execution type for 
> each method call. (A logging aspect)
> 2. A developer like me who put all the code in try block and catch one super 
> Exception, someone would like to perform different operations on each 
> sub-exception can write an aspect to catch my exceptions and do whatever he 
> wants and then continue the original processing.
> 
> I'm not familiar with internals of the WebObjects but the code that's 
> responsible for single thread can be studied and multithreaded solution can 
> be provided using AOP. If someone is interested to work with me to on this, 
> I'm more than happy to help where I can :)
> 
> Farrukh
> 
> On 2012-07-11, at 10:25 PM, Chuck Hill  wrote:
> 
>> Hi Farrukh,
>> 
>> I like the idea of using AOP to address bugs in WO.  Can you give us any 
>> details on how you did that?
>> 
>> As for making EOF multi-threaded that is a very fundamental part of the 
>> design.  Fixing that with AOP would be challenging.  :-)
>> 
>> 
>> Chuck
>> 
>> 
>> 
>> On 2012-07-11, at 11:12 AM, Farrukh Ijaz wrote:
>> 
>>> Hi,
>>> 
>>> In past I've used AOP to address issues of closed source. This I believe if 
>>> carefully used can help convert the EOF from single to multi threaded 
>>> and/or solve other bottleneck problems. Having said this doesn't mean I'm 
>>> against Cayane. However if the current EOF issues get fixed with AOP 
>>> patched code would be better for those who don't want to or for some 
>>> reasons can't switch to Cayane.
>>> 
>>> Farrukh
>>> 
>>> Chuck Hill  wrote:
>>> 
 I agree that we need to more closely examine Cayenne before jumping in 
 with both feet.  How mature are the tools?  What is the functionality gap? 
  How important is the missing functionality?  How costly is adding any 
 needed functionality?  Will the missing functionality fit in with the 
 Cayenne architecture?  How stable is it?  How well does it scale (scaling 
 is more than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl. 
  What do we do about the presentation layer?  Getting rid of 2/3 of WO 
 still leaves you with WO.
 
 
 Chuck
 
 On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
 
> 
> Hurray someone actually started talking about this.
> 
> 
> I want to add my two cents without starting a "this is better than that" 
> conversation.
> 
> If Cayenne is to be utilized, someone in the know must look not only at 
> the current state of Cayenne, but at the developers. What is/was their 
> philosophy behind what they write/wrote? If we don't, it will be a very 
> short and costly marriage. Costly, because we either buck up and foot the 
> bill to rewrite Webobjects or continue in a bad relationship.
> 
> I am writing this not as a diatribe but because I am concerned that in 
> the excitement of looking at Cayenne, the obvious impact of differing 
> philosophies of the original authors may be ignored. BTW, I say original 
> authors because the person that wrote the first line of code left his/her 
> im

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Chuck Hill

On 2012-07-13, at 2:54 AM, Henrique Gomes wrote:

> 
> On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
> 
>>> 
>>> You want to know the biggest unfixable problem with WO for me? WO apps 
>>> can't be deployed on any mobile platform.  That really sucks.
>> 
>> For that, you need to change the paradigm from interface vending servers to 
>> servers that vend data and processing.  Use a mobile client technology like 
>> Sencha or Montage.  Or write D2iOS.  :-)
>> 
>> (..)
>> Chuck
> 
> I actually think that's the way to go. You mentioned that switching to 
> Cayenne  leaves 1/3 of WO, aka the presentation layer, but, really, is there 
> a future on server side interface vending? 

Probably some future, after all people still make a living from COBOL.  We seem 
to swing back and forth every 10 years or so from client based apps to server 
based apps.  Plain old HTML and CSS does not make for a great app experience so 
the current direction is towards clients with a richer interface.


> I have been very happy with WO, but if/when I switch it will be for HTML5 
> native apps. 


I have no idea what the future looks like.  But for now, D2W and WO is pretty 
compelling for a lot of needs.


Chuck


-- 
Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/gvc/practical_webobjects









 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Ramsey Gurley

On Jul 13, 2012, at 2:54 AM, Henrique Gomes wrote:

> 
> On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:
> 
>>> 
>>> You want to know the biggest unfixable problem with WO for me? WO apps 
>>> can't be deployed on any mobile platform.  That really sucks.
>> 
>> For that, you need to change the paradigm from interface vending servers to 
>> servers that vend data and processing.  Use a mobile client technology like 
>> Sencha or Montage.  Or write D2iOS.  :-)
>> 
>> (..)
>> Chuck
> 
> I actually think that's the way to go.


You can do go client, but then you have to build a client for every platform 
you support.  That's not trivial. 

Deploying to client platforms is quite a bit different from deploying to a 
server under your control too. Instead of having a few instances, tended to by 
someone who knows what they are doing, on hardware you know everything about, 
you have hundreds/thousands/millions of instances on a plethora of different 
configurations being run by people who don't have freakin' a clue.  

Supporting users is endless fun!  No, really. It's endless. I get one or two 
user problems *every* morning.  It's so fun.

1. Get problem description. (HelpDesk: ZOMG! User is alarmed!! App is not 
workings!!11!)
2. Ask for detailed information (Which user? What client platform? Define "not 
working" please.)
3. Take info and dig for cause.
4. Find ambiguity. GOTO step 2.  Repeat for a while. (Sometimes forever. I have 
a bin of unsolved mysteries)
5. Determine problem.
6. Apply fix if a bug. Apply cluebat if PEBKAC.

Going client may free up some server resources, but it will definitely require 
more support resources. Guess which is cheaper :-)


> You mentioned that switching to Cayenne  leaves 1/3 of WO, aka the 
> presentation layer, but, really, is there a future on server side interface 
> vending? 

The best way to predict the future is to create it. Is anyone cranking out a 
client interface faster and more reliably than D2W yet?  I'm all ears over here 
:-)

Ramsey


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Mike Schrag
don't make decisions based on anecdotal evidence

ms

On Jul 13, 2012, at 9:03 AM, Karl  wrote:

> Hi,
> 
> Making EOF multi-threaded is really not that desirable nor is it necessary.  
> EOF gets most of its speed and efficiency through its 'cut through' 
> single-threaded design at the Access layer.
> 
> About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
> multi-threaded.  It was about half as fast as the EOF that we know (and 
> love?).  Since then, Apple's internal version of EOF retains virtually the 
> current implementation except for the snapshot layer which is now shared by 
> multiple DB stacks.  So the solution was to remove the 1-1 relationship 
> between DB stacks and snapshots and to retain the cut-through single-threaded 
> design of EOF.
> 
> Karl
> 
> On 2012-07-13, at 3:06 PM, Farrukh Ijaz  
> wrote:
> 
>> Sorry for late response, just landed last night.
>> 
>> The idea is very simple to understand and implement. E.g. I've a third party 
>> library which has a method named with following signature:
>> 
>> String encode(String someString) {
>>  // some crappy encoding performed on someString and saved as encoded...
>>  return encoded;
>> }
>> 
>> Now this method can be private, public, protected, static, final, blah blah 
>> etc. I find that encoding is buggy, how to fix it? There are two ways:
>> 
>> 1. Get the source code, fix the method and submit patch. (This is sometimes 
>> not possible and for sure not possible in case of WebObjects)
>> 2. Use AOP
>> 
>> Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
>> one that I've tested with my Wonder apps is AspectJ. I'm not going into 
>> details as it's a vast subject but providing links which are sufficient to 
>> experiment :)
>> 
>> http://www.eclipse.org/aspectj/
>> http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
>> 
>> As far as weaving is concerned, I would suggest to use dynamic join point as 
>> they can be used to intercept calls and invoke different code rather than 
>> modifying the original classes.
>> 
>> The idea is we need to define join point for the method which is buggy or 
>> where we want to provide our own implementation. When the code is executed, 
>> the class loader reroutes the request for incoming method calls to our code. 
>> AOP is different that OOP. In contrast with OOP where methods are associated 
>> with Objects, AOP is used to classify those methods under common aspects and 
>> normally we use regular expressions for that. Two very common aspects I can 
>> explain here:
>> 
>> 1. You may have lots of methods and you want to collect execution type for 
>> each method call. (A logging aspect)
>> 2. A developer like me who put all the code in try block and catch one super 
>> Exception, someone would like to perform different operations on each 
>> sub-exception can write an aspect to catch my exceptions and do whatever he 
>> wants and then continue the original processing.
>> 
>> I'm not familiar with internals of the WebObjects but the code that's 
>> responsible for single thread can be studied and multithreaded solution can 
>> be provided using AOP. If someone is interested to work with me to on this, 
>> I'm more than happy to help where I can :)
>> 
>> Farrukh
>> 
>> On 2012-07-11, at 10:25 PM, Chuck Hill  wrote:
>> 
>>> Hi Farrukh,
>>> 
>>> I like the idea of using AOP to address bugs in WO.  Can you give us any 
>>> details on how you did that?
>>> 
>>> As for making EOF multi-threaded that is a very fundamental part of the 
>>> design.  Fixing that with AOP would be challenging.  :-)
>>> 
>>> 
>>> Chuck
>>> 
>>> 
>>> 
>>> On 2012-07-11, at 11:12 AM, Farrukh Ijaz wrote:
>>> 
 Hi,
 
 In past I've used AOP to address issues of closed source. This I believe 
 if carefully used can help convert the EOF from single to multi threaded 
 and/or solve other bottleneck problems. Having said this doesn't mean I'm 
 against Cayane. However if the current EOF issues get fixed with AOP 
 patched code would be better for those who don't want to or for some 
 reasons can't switch to Cayane.
 
 Farrukh
 
 Chuck Hill  wrote:
 
> I agree that we need to more closely examine Cayenne before jumping in 
> with both feet.  How mature are the tools?  What is the functionality 
> gap?  How important is the missing functionality?  How costly is adding 
> any needed functionality?  Will the missing functionality fit in with the 
> Cayenne architecture?  How stable is it?  How well does it scale (scaling 
> is more than multi-threaded EOF)?  And Cayenne is only 
> EOAccess/EOControl.  What do we do about the presentation layer?  Getting 
> rid of 2/3 of WO still leaves you with WO.
> 
> 
> Chuck
> 
> On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
> 
>> 
>> Hurray someone actually started

Re: Adaptor problem with SSL on Ubuntu

2012-07-13 Thread Klaus Berkling

On Jul 12, 2012, at 12:22 PM, Klaus Berkling wrote:

> Next up, debugging an apache module...

So I'm setting up an Ubuntu development environment to debug the adaptor (whoo 
hoo).

Kieran, I'm going to need that C book. :-)

Should I use the integration or master branch? Is someone doing work on the 
adaptor at the moment? Otherwise I probably makes no difference.

Thanks.


kib

"Success is not final, failure is not fatal: it is the courage to continue that 
counts."
Winston Churchill

Klaus Berkling
Web Application Dev. & Systems Administrator
DynEd International, Inc.
www.dyned.com | blog




 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem EOEditingContext

2012-07-13 Thread Theodore Petrosky

> --
> 
> Message: 7
> Date: Fri, 13 Jul 2012 09:52:40 -0700
> From: Ramsey Gurley 
> To: Maik Musall 
> Cc: WebObjects Development 
> Subject: Re: Problem EOEditingContext
> Message-ID: 
> Content-Type: text/plain; charset=us-ascii
> 
> 
> On Jul 13, 2012, at 2:23 AM, Maik Musall wrote:
> 
> > 
> > Am 13.07.2012 um 01:20 schrieb Ramsey Gurley:
> > 
> >> 
> >> On Jul 12, 2012, at 3:26 PM, Maik Musall wrote:
> >> 
> >>>

What about this?

theEC = ERXEC.newEditingContext();

categoryList = AprvVendorCategory.fetchAprvVendorCategories(theEC, 
AprvVendorCategory.AVC_IS_ACTIVE.eq(true), null);

theNewVendor = ApprovedVendor.createApprovedVendor(theEC, null, 
categoryList.objectAtIndex(0));

it has always worked fine.
 
> >>> Am 12.07.2012 um 23:58 schrieb Louis Demers:
>  User newUser =
> (User)EOUtilities.createAndInsertInstance(ec,
> User.ENTITY_NAME) ;
> >>> 
> >>> Much too wordy for my taste, and needs a cast
> on top of it. Just add a second constructor in your template
> which does ec.insertObject(this), so that you can simply
> use
> >>> 
> >>>     User newUser = new User( ec
> );
> >>> 
> >>> Do not delete the parameter-less constructor
> though, because EOF needs that internally when restoring
> objects from db. But refrain from using that anywhere in
> your app.
> >>> 
> >>> Maik
> >> 
> >> I know the rule is not followed strictly in
> WO/Wonder, but as a general rule in java, do not let 'this'
> escape the constructor.
> >> 
> >> http://www.javapractices.com/topic/TopicAction.do?Id=252
> > 
> > Indeed, you're right. Using a factory method is the
> better way. I just looked into what insertObject() actually
> does and it's really more than you would want to happen
> inside a constructor, although I never had a problem with
> this in years. Still, I'd make a factory method in the
> template to be called like
> > 
> >     User newUser = User.newInEc( ec );
> 
> I like 
> 
>     User newUser =
> User.clazz.createAndInsertObject(ec);
> 
> clazz pattern rocks :-)
> 
> > 
> > Side note: javapractices.com is good, but not
> infallible. For example, it is badly misguided
> > about spaces instead of tabs... ;-) 
>    (http://www.javapractices.com/topic/TopicAction.do?Id=244)
> > 
> > Maik
> 
> Haha,  I didn't see that one. Sacrilege indeed!
> 
> Ramsey
> 
> 
> 

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
>> Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
>> alone made me want to grab my head by the eyesockets and remove it from my 
>> torso.
> 
> That's pretty big statement, I might have agreed with you if I wasn't aware 
> of what's JPA is all about. Here is the specification detail page and I 
> believe all big giants are listed there in experts group. No more religious 
> war please :)

Not starting any religious wars, I just really didn't like the API (despite an 
honest attempt). If you like it, that's great.

- hugi
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem EOEditingContext

2012-07-13 Thread Ramsey Gurley

On Jul 13, 2012, at 2:23 AM, Maik Musall wrote:

> 
> Am 13.07.2012 um 01:20 schrieb Ramsey Gurley:
> 
>> 
>> On Jul 12, 2012, at 3:26 PM, Maik Musall wrote:
>> 
>>> 
>>> Am 12.07.2012 um 23:58 schrieb Louis Demers:
 User newUser = (User)EOUtilities.createAndInsertInstance(ec, 
 User.ENTITY_NAME) ;
>>> 
>>> Much too wordy for my taste, and needs a cast on top of it. Just add a 
>>> second constructor in your template which does ec.insertObject(this), so 
>>> that you can simply use
>>> 
>>> User newUser = new User( ec );
>>> 
>>> Do not delete the parameter-less constructor though, because EOF needs that 
>>> internally when restoring objects from db. But refrain from using that 
>>> anywhere in your app.
>>> 
>>> Maik
>> 
>> I know the rule is not followed strictly in WO/Wonder, but as a general rule 
>> in java, do not let 'this' escape the constructor.
>> 
>> http://www.javapractices.com/topic/TopicAction.do?Id=252
> 
> Indeed, you're right. Using a factory method is the better way. I just looked 
> into what insertObject() actually does and it's really more than you would 
> want to happen inside a constructor, although I never had a problem with this 
> in years. Still, I'd make a factory method in the template to be called like
> 
>   User newUser = User.newInEc( ec );

I like 

User newUser = User.clazz.createAndInsertObject(ec);

clazz pattern rocks :-)

> 
> Side note: javapractices.com is good, but not infallible. For example, it is 
> badly misguided
> about spaces instead of tabs... ;-) 
> (http://www.javapractices.com/topic/TopicAction.do?Id=244)
> 
> Maik

Haha,  I didn't see that one. Sacrilege indeed!

Ramsey
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Helmuts WOWODC slides are online

2012-07-13 Thread Helmut Tschemernjak


my WOWODC presentation is available at:

www.helios.de/heliosapp/Helmuts-WOWODC-2012-v5.pdf

I posted also a reference on Google+ under Helmut Tschemernjak

Have a good weekend.

Helmut

___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
> Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
> alone made me want to grab my head by the eyesockets and remove it from my 
> torso.

That's pretty big statement, I might have agreed with you if I wasn't aware of 
what's JPA is all about. Here is the specification detail page and I believe 
all big giants are listed there in experts group. No more religious war please 
:)

http://jcp.org/en/jsr/detail?id=220

Farrukh
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Karl
It remains so mystifying to me how the Java community produces such absolute 
garbage as JPA and their other specs.  How many versions of EJB have we been 
through? 1.0, 1.1, 1.2, 1.3 2.x, 3.xand how consistent are they (hint: not 
one bit).

I'll happily, boringly stick with EOF which seems to have been quite consistent 
since '94 (even in spite of the move to Java).

Karl

On 2012-07-13, at 4:29 PM, Hugi Thordarson  wrote:

>>> But yes, I've used Cayenne on a couple of projects. As you know it feels a 
>>> *lot* like EOF and was by far the nicest ORM I could legally use at my 
>>> previous pure java workplace. (protip: never go anywhere near JPA, it 
>>> *will* rape your dog and kill your grandmother.) Apart from the technical 
>>> similarities, Cayenne also has another important thing in common with WO: A 
>>> good community and an active mailing list full of nice and helpful people, 
>>> so you never get stuck along the way.
>> 
>> What do you mean by it feels a *lot* like EOF? Is it because the method 
>> calls look alike?
> 
> Cayenne is conceptually very similar to EOF so the API and architecture will 
> instantly feel familiar to an experienced EOF programmer. Learning Cayenne is 
> more like learning a dialect than learning a new language.
> 
> 
>> Regarding JPA, I've observed since I started working on EOF in 2010, very 
>> few know about J2EE in this community. JPA is not a standard, it's a 
>> specification. A clever WO developer can use EOF with JPA too :)
> 
> Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
> alone made me want to grab my head by the eyesockets and remove it from my 
> torso.
> 
> Cheers,
> - hugi
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/kgretton%40mac.com
> 
> This email sent to kgret...@mac.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Karl
Hi,

Making EOF multi-threaded is really not that desirable nor is it necessary.  
EOF gets most of its speed and efficiency through its 'cut through' 
single-threaded design at the Access layer.

About 4 years ago, Apple tested an internal build of WO/EOF that was fully 
multi-threaded.  It was about half as fast as the EOF that we know (and love?). 
 Since then, Apple's internal version of EOF retains virtually the current 
implementation except for the snapshot layer which is now shared by multiple DB 
stacks.  So the solution was to remove the 1-1 relationship between DB stacks 
and snapshots and to retain the cut-through single-threaded design of EOF.

Karl

On 2012-07-13, at 3:06 PM, Farrukh Ijaz  
wrote:

> Sorry for late response, just landed last night.
> 
> The idea is very simple to understand and implement. E.g. I've a third party 
> library which has a method named with following signature:
> 
> String encode(String someString) {
>   // some crappy encoding performed on someString and saved as encoded...
>   return encoded;
> }
> 
> Now this method can be private, public, protected, static, final, blah blah 
> etc. I find that encoding is buggy, how to fix it? There are two ways:
> 
> 1. Get the source code, fix the method and submit patch. (This is sometimes 
> not possible and for sure not possible in case of WebObjects)
> 2. Use AOP
> 
> Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
> one that I've tested with my Wonder apps is AspectJ. I'm not going into 
> details as it's a vast subject but providing links which are sufficient to 
> experiment :)
> 
> http://www.eclipse.org/aspectj/
> http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model
> 
> As far as weaving is concerned, I would suggest to use dynamic join point as 
> they can be used to intercept calls and invoke different code rather than 
> modifying the original classes.
> 
> The idea is we need to define join point for the method which is buggy or 
> where we want to provide our own implementation. When the code is executed, 
> the class loader reroutes the request for incoming method calls to our code. 
> AOP is different that OOP. In contrast with OOP where methods are associated 
> with Objects, AOP is used to classify those methods under common aspects and 
> normally we use regular expressions for that. Two very common aspects I can 
> explain here:
> 
> 1. You may have lots of methods and you want to collect execution type for 
> each method call. (A logging aspect)
> 2. A developer like me who put all the code in try block and catch one super 
> Exception, someone would like to perform different operations on each 
> sub-exception can write an aspect to catch my exceptions and do whatever he 
> wants and then continue the original processing.
> 
> I'm not familiar with internals of the WebObjects but the code that's 
> responsible for single thread can be studied and multithreaded solution can 
> be provided using AOP. If someone is interested to work with me to on this, 
> I'm more than happy to help where I can :)
> 
> Farrukh
> 
> On 2012-07-11, at 10:25 PM, Chuck Hill  wrote:
> 
>> Hi Farrukh,
>> 
>> I like the idea of using AOP to address bugs in WO.  Can you give us any 
>> details on how you did that?
>> 
>> As for making EOF multi-threaded that is a very fundamental part of the 
>> design.  Fixing that with AOP would be challenging.  :-)
>> 
>> 
>> Chuck
>> 
>> 
>> 
>> On 2012-07-11, at 11:12 AM, Farrukh Ijaz wrote:
>> 
>>> Hi,
>>> 
>>> In past I've used AOP to address issues of closed source. This I believe if 
>>> carefully used can help convert the EOF from single to multi threaded 
>>> and/or solve other bottleneck problems. Having said this doesn't mean I'm 
>>> against Cayane. However if the current EOF issues get fixed with AOP 
>>> patched code would be better for those who don't want to or for some 
>>> reasons can't switch to Cayane.
>>> 
>>> Farrukh
>>> 
>>> Chuck Hill  wrote:
>>> 
 I agree that we need to more closely examine Cayenne before jumping in 
 with both feet.  How mature are the tools?  What is the functionality gap? 
  How important is the missing functionality?  How costly is adding any 
 needed functionality?  Will the missing functionality fit in with the 
 Cayenne architecture?  How stable is it?  How well does it scale (scaling 
 is more than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl. 
  What do we do about the presentation layer?  Getting rid of 2/3 of WO 
 still leaves you with WO.
 
 
 Chuck
 
 On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
 
> 
> Hurray someone actually started talking about this.
> 
> 
> I want to add my two cents without starting a "this is better than that" 
> conversation.
> 
> If Cayenne is to be utilized, someone in the know must look not only at 
> the 

Re: WOWODC-2012 Git presentations

2012-07-13 Thread WebObjects TORAcom
Thanks

On 13/07/2012, at 06:21, Kieran Kelleher wrote:

> FYI,
> 
> If you are new to git.
> 
> The first 3 parts of the 5-part series derived from the "Understanding & 
> Using Git" WOWODC2012 presentation is available in this iTunes feed:
> 
>http://itunes.apple.com/us/podcast/webobjects-podcasts/id270165303
> 
> or at the bottom of this web page:
> 
>http://www.wocommunity.org/webobjects_screencasts.html
> 
> Parts 4 and 5 are slated to be published in next couple of weeks.
> 
> Regards, Kieran
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/wo%40toracom.net
> 
> This email sent to w...@toracom.net
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
>> But yes, I've used Cayenne on a couple of projects. As you know it feels a 
>> *lot* like EOF and was by far the nicest ORM I could legally use at my 
>> previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
>> rape your dog and kill your grandmother.) Apart from the technical 
>> similarities, Cayenne also has another important thing in common with WO: A 
>> good community and an active mailing list full of nice and helpful people, 
>> so you never get stuck along the way.
> 
> What do you mean by it feels a *lot* like EOF? Is it because the method calls 
> look alike?

Cayenne is conceptually very similar to EOF so the API and architecture will 
instantly feel familiar to an experienced EOF programmer. Learning Cayenne is 
more like learning a dialect than learning a new language.


> Regarding JPA, I've observed since I started working on EOF in 2010, very few 
> know about J2EE in this community. JPA is not a standard, it's a 
> specification. A clever WO developer can use EOF with JPA too :)

Yes, the JPA is a spec, I just think it is a bad spec :). The Criteria API 
alone made me want to grab my head by the eyesockets and remove it from my 
torso.

Cheers,
- hugi
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread Ted Archibald
What's your application/project named?

On Fri, Jul 13, 2012 at 7:00 AM, James Cicenia  wrote:

> Thank you for replying. The secret to get it to work was offered by Pascal
> (bless his heart). I had to "Enable Bundles" in the Eclipse preferences.
> This magically made everything work.
>
> Thank goodness for this list as a solo developer it has truly become my
> lifeline, teacher and forward looking information source.
>
> Regards,
> James
>
>
> On Fri, Jul 13, 2012 at 8:58 AM, Ralf Schuchardt  wrote:
>
>> Hi James,
>>
>> there are at least two possible reasons for this exception:
>>
>> You may call ERXExtension methods before the frameworks are completely
>> loaded, e.g. in static initializers. But if this project did run before,
>> then it is probably not the case here.
>>
>> The other reason may be an unfortunate choosing of project paths, project
>> names and Eclipse project file locations. Are these framework projects
>> opened in Eclipse when you start your app? You could try to install them
>> and then close the corresponding projects. If this succeeds then you need
>> to closely examine the project paths.
>> Your best shot would be to enable the debug output in
>> ERXApplication.Loader.debugMsg() and see if the loaded projects match your
>> expectations of what should get loaded.
>>
>> Ralf
>>
>> Am 12.07.2012 um 19:39 schrieb James Cicenia:
>>
>> Oh how I wish I could press once GoLipse button and all wonder/wo
>> frameworks would just work.
>>
>> Anyway... I did all that, git'd the Wonder Integration and imported all
>> frameworks into Eclipse.
>> Things were looking good, no compile errors, etc. but, when I try to
>> launch I get the following:
>>
>> I have moved ERExtension up and down, removed it, added, it, etc. nothing
>> changes.
>>
>> What am I missing?
>>
>> Thanks
>> James
>>
>> [2012-7-12 12:38:46 EDT]  A fatal exception occurred: ERXExtensions
>> have not been initialized. Please report the classpath and the rest of the
>> bundles to the Wonder mailing list:
>>
>> Remaining frameworks: [ERDirectToRest, ERPDFGeneration, ERCoolComponents,
>> Ajax, ERModernLook, ERRest, ERModernDirectToWeb, ERDirectToWeb,
>> ERModernDefaultSkin, WOLips, ExcelGenerator, QualifierAdditions,
>> ERExcelLook, MySQLPlugIn, ERAttachment, JavaERJDBCAdaptor, ERJavaMail,
>> JavaWOExtensions, ERPrototypes, ERExtensions, ERTaggable]
>> Classpath:
>> /Developer/Workspace/PIRefresh/PI/bin:/Developer/git/wonder/Frameworks/Core/ERExtensions/bin:/Developer/git/wonder/Frameworks/Core/JavaWOExtensions/bin:/Developer/git/wonder/Frameworks/EOAdaptors/JavaERJDBCAdaptor/bin:/Developer/git/wonder/Frameworks/Misc/ERDirectToRest/bin:/Developer/git/wonder/Frameworks/Misc/ERPDFGeneration/bin:/Developer/git/wonder/Frameworks/D2W/ERModernLook/bin:/Developer/git/wonder/Frameworks/Excel/ExcelGenerator/bin:/Developer/git/wonder/Frameworks/Ajax/ERCoolComponents/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERTaggable/bin:/Developer/git/wonder/Frameworks/Core/ERPrototypes/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDefaultSkin/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDirectToWeb/bin:/Developer/git/wonder/Frameworks/Excel/ERExcelLook/bin:/Developer/git/wonder/Frameworks/Misc/WOLips/bin:/Developer/git/wonder/Frameworks/PlugIns/MySQLPlugIn/bin:/Developer/git/wonder/Frameworks/Core/ERDirectToWeb/bin:/Developer/git/wonder/Frameworks/Ajax/Ajax/bin:/Developer/Workspace/PIRefresh/QualifierAdditions/bin:/Developer/git/wonder/Frameworks/Core/ERJavaMail/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERAttachment/bin:/Developer/git/wonder/Frameworks/EOF/ERRest/bin:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/Resources/Java/javadtwgeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/WebServerResources/Java/JavaDTWGeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/Resources/Java/javadirecttoweb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/WebServerResources/Java/JavaDirectToWeb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/Resources/Java/javaeoapplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/WebServerResources/Java/JavaEOApplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEO

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Sorry for late response, just landed last night.

The idea is very simple to understand and implement. E.g. I've a third party 
library which has a method named with following signature:

String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
}

Now this method can be private, public, protected, static, final, blah blah 
etc. I find that encoding is buggy, how to fix it? There are two ways:

1. Get the source code, fix the method and submit patch. (This is sometimes not 
possible and for sure not possible in case of WebObjects)
2. Use AOP

Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
one that I've tested with my Wonder apps is AspectJ. I'm not going into details 
as it's a vast subject but providing links which are sufficient to experiment :)

http://www.eclipse.org/aspectj/
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model

As far as weaving is concerned, I would suggest to use dynamic join point as 
they can be used to intercept calls and invoke different code rather than 
modifying the original classes.

The idea is we need to define join point for the method which is buggy or where 
we want to provide our own implementation. When the code is executed, the class 
loader reroutes the request for incoming method calls to our code. AOP is 
different that OOP. In contrast with OOP where methods are associated with 
Objects, AOP is used to classify those methods under common aspects and 
normally we use regular expressions for that. Two very common aspects I can 
explain here:

1. You may have lots of methods and you want to collect execution type for each 
method call. (A logging aspect)
2. A developer like me who put all the code in try block and catch one super 
Exception, someone would like to perform different operations on each 
sub-exception can write an aspect to catch my exceptions and do whatever he 
wants and then continue the original processing.

I'm not familiar with internals of the WebObjects but the code that's 
responsible for single thread can be studied and multithreaded solution can be 
provided using AOP. If someone is interested to work with me to on this, I'm 
more than happy to help where I can :)

Farrukh

On 2012-07-11, at 10:25 PM, Chuck Hill  wrote:

> Hi Farrukh,
> 
> I like the idea of using AOP to address bugs in WO.  Can you give us any 
> details on how you did that?
> 
> As for making EOF multi-threaded that is a very fundamental part of the 
> design.  Fixing that with AOP would be challenging.  :-)
> 
> 
> Chuck
> 
> 
> 
> On 2012-07-11, at 11:12 AM, Farrukh Ijaz wrote:
> 
>> Hi,
>> 
>> In past I've used AOP to address issues of closed source. This I believe if 
>> carefully used can help convert the EOF from single to multi threaded and/or 
>> solve other bottleneck problems. Having said this doesn't mean I'm against 
>> Cayane. However if the current EOF issues get fixed with AOP patched code 
>> would be better for those who don't want to or for some reasons can't switch 
>> to Cayane.
>> 
>> Farrukh
>> 
>> Chuck Hill  wrote:
>> 
>>> I agree that we need to more closely examine Cayenne before jumping in with 
>>> both feet.  How mature are the tools?  What is the functionality gap?  How 
>>> important is the missing functionality?  How costly is adding any needed 
>>> functionality?  Will the missing functionality fit in with the Cayenne 
>>> architecture?  How stable is it?  How well does it scale (scaling is more 
>>> than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl.  What do 
>>> we do about the presentation layer?  Getting rid of 2/3 of WO still leaves 
>>> you with WO.
>>> 
>>> 
>>> Chuck
>>> 
>>> On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
>>> 
 
 Hurray someone actually started talking about this.
 
 
 I want to add my two cents without starting a "this is better than that" 
 conversation.
 
 If Cayenne is to be utilized, someone in the know must look not only at 
 the current state of Cayenne, but at the developers. What is/was their 
 philosophy behind what they write/wrote? If we don't, it will be a very 
 short and costly marriage. Costly, because we either buck up and foot the 
 bill to rewrite Webobjects or continue in a bad relationship.
 
 I am writing this not as a diatribe but because I am concerned that in the 
 excitement of looking at Cayenne, the obvious impact of differing 
 philosophies of the original authors may be ignored. BTW, I say original 
 authors because the person that wrote the first line of code left his/her 
 imprint on the direction of all code that follows.
 
 JMHO (i mean that sincerely).
 
 Ted
 
> Message: 4
> Date: Wed, 11 Jul 2012 10:09:08 -0500
> From: John Huss 
> To: WebObjects-Dev Mailing List List 
> Subject: Migr

Who uses ERDirectToRest ?

2012-07-13 Thread Schoenenberger Dominique
I've just started to use REST with our business logic. 

I wanted to use ERDirectToRest because it seems very interesting to quickly 
delivery access to the business logic but there are a lot of warning to NOT use 
it:
  - In the read me: "This framework uses the old and deprecated REST APIs, 
avoid using it."
  - Classes are deprecated

So my questions: 
  - Can this framework be used ? 
  - Does anybody use it ? 
  - What people use instead ?

Dominique


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread James Cicenia
Thank you for replying. The secret to get it to work was offered by Pascal
(bless his heart). I had to "Enable Bundles" in the Eclipse preferences.
This magically made everything work.

Thank goodness for this list as a solo developer it has truly become my
lifeline, teacher and forward looking information source.

Regards,
James


On Fri, Jul 13, 2012 at 8:58 AM, Ralf Schuchardt  wrote:

> Hi James,
>
> there are at least two possible reasons for this exception:
>
> You may call ERXExtension methods before the frameworks are completely
> loaded, e.g. in static initializers. But if this project did run before,
> then it is probably not the case here.
>
> The other reason may be an unfortunate choosing of project paths, project
> names and Eclipse project file locations. Are these framework projects
> opened in Eclipse when you start your app? You could try to install them
> and then close the corresponding projects. If this succeeds then you need
> to closely examine the project paths.
> Your best shot would be to enable the debug output in
> ERXApplication.Loader.debugMsg() and see if the loaded projects match your
> expectations of what should get loaded.
>
> Ralf
>
> Am 12.07.2012 um 19:39 schrieb James Cicenia:
>
> Oh how I wish I could press once GoLipse button and all wonder/wo
> frameworks would just work.
>
> Anyway... I did all that, git'd the Wonder Integration and imported all
> frameworks into Eclipse.
> Things were looking good, no compile errors, etc. but, when I try to
> launch I get the following:
>
> I have moved ERExtension up and down, removed it, added, it, etc. nothing
> changes.
>
> What am I missing?
>
> Thanks
> James
>
> [2012-7-12 12:38:46 EDT]  A fatal exception occurred: ERXExtensions
> have not been initialized. Please report the classpath and the rest of the
> bundles to the Wonder mailing list:
>
> Remaining frameworks: [ERDirectToRest, ERPDFGeneration, ERCoolComponents,
> Ajax, ERModernLook, ERRest, ERModernDirectToWeb, ERDirectToWeb,
> ERModernDefaultSkin, WOLips, ExcelGenerator, QualifierAdditions,
> ERExcelLook, MySQLPlugIn, ERAttachment, JavaERJDBCAdaptor, ERJavaMail,
> JavaWOExtensions, ERPrototypes, ERExtensions, ERTaggable]
> Classpath:
> /Developer/Workspace/PIRefresh/PI/bin:/Developer/git/wonder/Frameworks/Core/ERExtensions/bin:/Developer/git/wonder/Frameworks/Core/JavaWOExtensions/bin:/Developer/git/wonder/Frameworks/EOAdaptors/JavaERJDBCAdaptor/bin:/Developer/git/wonder/Frameworks/Misc/ERDirectToRest/bin:/Developer/git/wonder/Frameworks/Misc/ERPDFGeneration/bin:/Developer/git/wonder/Frameworks/D2W/ERModernLook/bin:/Developer/git/wonder/Frameworks/Excel/ExcelGenerator/bin:/Developer/git/wonder/Frameworks/Ajax/ERCoolComponents/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERTaggable/bin:/Developer/git/wonder/Frameworks/Core/ERPrototypes/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDefaultSkin/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDirectToWeb/bin:/Developer/git/wonder/Frameworks/Excel/ERExcelLook/bin:/Developer/git/wonder/Frameworks/Misc/WOLips/bin:/Developer/git/wonder/Frameworks/PlugIns/MySQLPlugIn/bin:/Developer/git/wonder/Frameworks/Core/ERDirectToWeb/bin:/Developer/git/wonder/Frameworks/Ajax/Ajax/bin:/Developer/Workspace/PIRefresh/QualifierAdditions/bin:/Developer/git/wonder/Frameworks/Core/ERJavaMail/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERAttachment/bin:/Developer/git/wonder/Frameworks/EOF/ERRest/bin:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/Resources/Java/javadtwgeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/WebServerResources/Java/JavaDTWGeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/Resources/Java/javadirecttoweb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/WebServerResources/Java/JavaDirectToWeb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/Resources/Java/javaeoapplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/WebServerResources/Java/JavaEOApplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOControl.framework/WebServerResources/Ja

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Just a fix, I mean JPA is not a product but a specification :)

Farrukh

On 2012-07-13, at 3:41 PM, Farrukh Ijaz  
wrote:

> 
> On 2012-07-12, at 2:01 PM, Hugi Thordarson  wrote:
> 
 I think Hugi also use it.
>>> 
>>> Is that a point for or against it?  :-P
>> 
>> 
>> 
>> But yes, I've used Cayenne on a couple of projects. As you know it feels a 
>> *lot* like EOF and was by far the nicest ORM I could legally use at my 
>> previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
>> rape your dog and kill your grandmother.) Apart from the technical 
>> similarities, Cayenne also has another important thing in common with WO: A 
>> good community and an active mailing list full of nice and helpful people, 
>> so you never get stuck along the way.
> 
> What do you mean by it feels a *lot* like EOF? Is it because the method calls 
> look alike? Regarding JPA, I've observed since I started working on EOF in 
> 2010, very few know about J2EE in this community. JPA is not a standard, it's 
> a specification. A clever WO developer can use EOF with JPA too :)
> 
> http://en.wikibooks.org/wiki/Java_Persistence/What_is_JPA%3F
> 
> Farrukh

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Help... Eclipse, new install with wonder integration... ERExtensions have not been initialized?

2012-07-13 Thread Ralf Schuchardt
Hi James,

there are at least two possible reasons for this exception:

You may call ERXExtension methods before the frameworks are completely loaded, 
e.g. in static initializers. But if this project did run before, then it is 
probably not the case here.

The other reason may be an unfortunate choosing of project paths, project names 
and Eclipse project file locations. Are these framework projects opened in 
Eclipse when you start your app? You could try to install them and then close 
the corresponding projects. If this succeeds then you need to closely examine 
the project paths.
Your best shot would be to enable the debug output in 
ERXApplication.Loader.debugMsg() and see if the loaded projects match your 
expectations of what should get loaded.

Ralf

Am 12.07.2012 um 19:39 schrieb James Cicenia:

> Oh how I wish I could press once GoLipse button and all wonder/wo frameworks 
> would just work.
> 
> Anyway... I did all that, git'd the Wonder Integration and imported all 
> frameworks into Eclipse.
> Things were looking good, no compile errors, etc. but, when I try to launch I 
> get the following:
> 
> I have moved ERExtension up and down, removed it, added, it, etc. nothing 
> changes.
> 
> What am I missing?
> 
> Thanks
> James
> 
> [2012-7-12 12:38:46 EDT]  A fatal exception occurred: ERXExtensions 
> have not been initialized. Please report the classpath and the rest of the 
> bundles to the Wonder mailing list: 
> Remaining frameworks: [ERDirectToRest, ERPDFGeneration, ERCoolComponents, 
> Ajax, ERModernLook, ERRest, ERModernDirectToWeb, ERDirectToWeb, 
> ERModernDefaultSkin, WOLips, ExcelGenerator, QualifierAdditions, ERExcelLook, 
> MySQLPlugIn, ERAttachment, JavaERJDBCAdaptor, ERJavaMail, JavaWOExtensions, 
> ERPrototypes, ERExtensions, ERTaggable]
> Classpath: 
> /Developer/Workspace/PIRefresh/PI/bin:/Developer/git/wonder/Frameworks/Core/ERExtensions/bin:/Developer/git/wonder/Frameworks/Core/JavaWOExtensions/bin:/Developer/git/wonder/Frameworks/EOAdaptors/JavaERJDBCAdaptor/bin:/Developer/git/wonder/Frameworks/Misc/ERDirectToRest/bin:/Developer/git/wonder/Frameworks/Misc/ERPDFGeneration/bin:/Developer/git/wonder/Frameworks/D2W/ERModernLook/bin:/Developer/git/wonder/Frameworks/Excel/ExcelGenerator/bin:/Developer/git/wonder/Frameworks/Ajax/ERCoolComponents/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERTaggable/bin:/Developer/git/wonder/Frameworks/Core/ERPrototypes/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDefaultSkin/bin:/Developer/git/wonder/Frameworks/D2W/ERModernDirectToWeb/bin:/Developer/git/wonder/Frameworks/Excel/ERExcelLook/bin:/Developer/git/wonder/Frameworks/Misc/WOLips/bin:/Developer/git/wonder/Frameworks/PlugIns/MySQLPlugIn/bin:/Developer/git/wonder/Frameworks/Core/ERDirectToWeb/bin:/Developer/git/wonder/Frameworks/Ajax/Ajax/bin:/Developer/Workspace/PIRefresh/QualifierAdditions/bin:/Developer/git/wonder/Frameworks/Core/ERJavaMail/bin:/Developer/git/wonder/Frameworks/BusinessLogic/ERAttachment/bin:/Developer/git/wonder/Frameworks/EOF/ERRest/bin:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/Resources/Java/javadtwgeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDTWGeneration.framework/WebServerResources/Java/JavaDTWGeneration.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/Resources/Java/javadirecttoweb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaDirectToWeb.framework/WebServerResources/Java/JavaDirectToWeb.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/Resources/Java/javaeoapplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOApplication.framework/WebServerResources/Java/JavaEOApplication.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaEOControl.framework/WebServerResources/Java/JavaEOControl.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaFoundation.framework/Resources/Java/javafoundation.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaFoundation.framework/WebServerResources/Java/JavaFoundation.jar:/Library/WebObjects/Versions/WebObjects543/System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobj

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz

On 2012-07-12, at 6:32 PM, arosenzw...@clinworx.com wrote:

> Hi WOrriors, 
> 
> I still question why we are fighting so hard for Object-relational mapping. 
> If we are contemplating doing work, shouldn't we consider going straight for 
> object databases? Take out the transcription layer. Let's get more 
> productive. Only use OR-mapping for old systems that we must interface with 
> but new work should consider the advantages of being pure objects, all the 
> time. 

I don't think we've many reporting and charting tools that work directly with 
Objects. Capturing data is not an issue, the real challenge is to reuse 
captured data for BI.

Farrukh

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz

On 2012-07-12, at 2:01 PM, Hugi Thordarson  wrote:

>>> I think Hugi also use it.
>> 
>> Is that a point for or against it?  :-P
> 
> 
> 
> But yes, I've used Cayenne on a couple of projects. As you know it feels a 
> *lot* like EOF and was by far the nicest ORM I could legally use at my 
> previous pure java workplace. (protip: never go anywhere near JPA, it *will* 
> rape your dog and kill your grandmother.) Apart from the technical 
> similarities, Cayenne also has another important thing in common with WO: A 
> good community and an active mailing list full of nice and helpful people, so 
> you never get stuck along the way.

What do you mean by it feels a *lot* like EOF? Is it because the method calls 
look alike? Regarding JPA, I've observed since I started working on EOF in 
2010, very few know about J2EE in this community. JPA is not a standard, it's a 
specification. A clever WO developer can use EOF with JPA too :)

http://en.wikibooks.org/wiki/Java_Persistence/What_is_JPA%3F

Farrukh

> 
> Cayenne is still missing a lot of functionality when compared to EOF/Wonder 
> and generally feels less mature (understandably, since EOF is ancient). This 
> is perhaps not such a huge problem, since functionality can always be 
> added—but there is indeed a *lot* of work to be done to reach feature parity 
> with EOF.
> 
> It's clear that at some point most of us will have to stop using EOF in it's 
> current form. In a perfect world (that's the world where I have endless time 
> and money) I'd do a clean room implementation of EOF and live happily ever 
> after. But this is indeed not a perfect world, so helping making Cayenne 
> better and more integrated with WO seems like a more realistic goal (besides, 
> it allows more resources to be spent on a re-implementation of WO; something 
> I'd love to participate in).
> 
> - hugi
> ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
> 
> This email sent to farrukh.i...@fuegodigitalmedia.com

 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Weaving is different than Dynamic join point interception.

Farrukh

On 2012-07-11, at 10:40 PM, John Huss  wrote:

> My understanding is that AOP requires "weaving" or rewriting of the bytecode. 
>  If so, this is not allowed by the license - it prohibits modification.  But 
> people may not care about that.  Decompiling whole classes to fix bugs has 
> been done before.  It makes me quesy though.
> 
> On Wed, Jul 11, 2012 at 1:12 PM, Farrukh Ijaz 
>  wrote:
> Hi,
> 
> In past I've used AOP to address issues of closed source. This I believe if 
> carefully used can help convert the EOF from single to multi threaded and/or 
> solve other bottleneck problems. Having said this doesn't mean I'm against 
> Cayane. However if the current EOF issues get fixed with AOP patched code 
> would be better for those who don't want to or for some reasons can't switch 
> to Cayane.
> 
> Farrukh
> 
> Chuck Hill  wrote:
> 
> >I agree that we need to more closely examine Cayenne before jumping in with 
> >both feet.  How mature are the tools?  What is the functionality gap?  How 
> >important is the missing functionality?  How costly is adding any needed 
> >functionality?  Will the missing functionality fit in with the Cayenne 
> >architecture?  How stable is it?  How well does it scale (scaling is more 
> >than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl.  What do 
> >we do about the presentation layer?  Getting rid of 2/3 of WO still leaves 
> >you with WO.
> >
> >
> >Chuck
> >
> >On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
> >
> >>
> >> Hurray someone actually started talking about this.
> >>
> >>
> >> I want to add my two cents without starting a "this is better than that" 
> >> conversation.
> >>
> >> If Cayenne is to be utilized, someone in the know must look not only at 
> >> the current state of Cayenne, but at the developers. What is/was their 
> >> philosophy behind what they write/wrote? If we don't, it will be a very 
> >> short and costly marriage. Costly, because we either buck up and foot the 
> >> bill to rewrite Webobjects or continue in a bad relationship.
> >>
> >> I am writing this not as a diatribe but because I am concerned that in the 
> >> excitement of looking at Cayenne, the obvious impact of differing 
> >> philosophies of the original authors may be ignored. BTW, I say original 
> >> authors because the person that wrote the first line of code left his/her 
> >> imprint on the direction of all code that follows.
> >>
> >> JMHO (i mean that sincerely).
> >>
> >> Ted
> >>
> >>> Message: 4
> >>> Date: Wed, 11 Jul 2012 10:09:08 -0500
> >>> From: John Huss 
> >>> To: WebObjects-Dev Mailing List List 
> >>> Subject: Migrating from EOF to Cayenne
> >>> Message-ID:
> >>>
> >>> 
> >>> Content-Type: text/plain; charset="windows-1252"
> >>>
> >>> At WOWODC there was a lot of interest in migrating from EOF
> >>> to Cayenne, and
> >>> even entirely rebasing Wonder to run on top of Cayenne
> >>> instead of EOF.
> >>>
> >>> *Why would anyone want to do this?  *
> >>>
> >>>1. Cayenne is open-source and is actively
> >>> being developed
> >>>2. Cayenne has great concurrency support
> >>> which is in stark contrast to
> >>>EOF single-threaded architecture
> >>>3. Cayenne is conceptually very similar to
> >>> EOF so the transition is
> >>>fairly straightforward
> >>>
> >>> For those reasons it is a much better long term solution
> >>> than EOF, which is
> >>> now frozen in time.  Cayenne can be used inside a WO
> >>> application as an EOF
> >>> replacement while continuing to use the rest of WebObjects.
> >>>
> >>> *I'm interested. Now what?*
> >>>
> >>>- Learn about Cayenne. The best source of
> >>> information for comparing EOF
> >>>and Cayenne is on the
> >>> wiki.
> >>>In addition, you can look at the
> >>> documentationfor
> >>> Cayenne.
> >>>- Use Cayenne in your new projects.
> >>> Cayenne runs just fine inside a
> >>>WebObjects application.  Wonder has
> >>> the ERCayenne framework and
> >>>ERCayenneExample to help you get started.
> >>> I suggest working with the trunk
> >>>of the Cayenne source (and Wonder too)
> >>> since some things are just being
> >>>added to make this easier.
> >>>- Help work on easing and automating the
> >>> migration from EOF to Cayenne.
> >>>It is possible to automate a large part of
> >>> the work involved in moving from
> >>>EOF to Cayenne. But it requires effort.
> >>> ERCayenne in Wonder has a class
> >>>that will convert an EOModel to a Cayenne
> >>> model (the class is
> >>>CayenneConverter). This works well, but
> >>> could be improved. I've started
> >>>working on an Eclipse refactoring script
> >>> that will convert from one API to
> >>>the other. Yes, you may not have known (I
> >>> didn't) that Eclipse can record a
> >>>series of refactorings and save it as a
>

Re: Migrating from EOF to Cayenne

2012-07-13 Thread Farrukh Ijaz
Sorry for late response, just landed last night.

The idea is very simple to understand and implement. E.g. I've a third party 
library which has a method named with following signature:

String encode(String someString) {
// some crappy encoding performed on someString and saved as encoded...
return encoded;
}

Now this method can be private, public, protected, static, final, blah blah 
etc. I find that encoding is buggy, how to fix it? There are two ways:

1. Get the source code, fix the method and submit patch. (This is sometimes not 
possible and for sure not possible in case of WebObjects)
2. Use AOP

Forget about option 1. In Option 2 we have to use some AOP mechanism and the 
one that I've tested with my Wonder apps is AspectJ. I'm not going into details 
as it's a vast subject but providing links which are sufficient to experiment :)

http://www.eclipse.org/aspectj/
http://www.eclipse.org/aspectj/doc/released/progguide/starting-aspectj.html#the-dynamic-join-point-model

As far as weaving is concerned, I would suggest to use dynamic join point as 
they can be used to intercept calls and invoke different code rather than 
modifying the original classes.

The idea is we need to define join point for the method which is buggy or where 
we want to provide our own implementation. When the code is executed, the class 
loader reroutes the request for incoming method calls to our code. AOP is 
different that OOP. In contrast with OOP where methods are associated with 
Objects, AOP is used to classify those methods under common aspects and 
normally we use regular expressions for that. Two very common aspects I can 
explain here:

1. You may have lots of methods and you want to collect execution type for each 
method call. (A logging aspect)
2. A developer like me who put all the code in try block and catch one super 
Exception, someone would like to perform different operations on each 
sub-exception can write an aspect to catch my exceptions and do whatever he 
wants and then continue the original processing.

I'm not familiar with internals of the WebObjects but the code that's 
responsible for single thread can be studied and multithreaded solution can be 
provided using AOP. If someone is interested to work with me to on this, I'm 
more than happy to help where I can :)

Farrukh

On 2012-07-11, at 10:25 PM, Chuck Hill  wrote:

> Hi Farrukh,
> 
> I like the idea of using AOP to address bugs in WO.  Can you give us any 
> details on how you did that?
> 
> As for making EOF multi-threaded that is a very fundamental part of the 
> design.  Fixing that with AOP would be challenging.  :-)
> 
> 
> Chuck
> 
> 
> 
> On 2012-07-11, at 11:12 AM, Farrukh Ijaz wrote:
> 
>> Hi,
>> 
>> In past I've used AOP to address issues of closed source. This I believe if 
>> carefully used can help convert the EOF from single to multi threaded and/or 
>> solve other bottleneck problems. Having said this doesn't mean I'm against 
>> Cayane. However if the current EOF issues get fixed with AOP patched code 
>> would be better for those who don't want to or for some reasons can't switch 
>> to Cayane.
>> 
>> Farrukh
>> 
>> Chuck Hill  wrote:
>> 
>>> I agree that we need to more closely examine Cayenne before jumping in with 
>>> both feet.  How mature are the tools?  What is the functionality gap?  How 
>>> important is the missing functionality?  How costly is adding any needed 
>>> functionality?  Will the missing functionality fit in with the Cayenne 
>>> architecture?  How stable is it?  How well does it scale (scaling is more 
>>> than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl.  What do 
>>> we do about the presentation layer?  Getting rid of 2/3 of WO still leaves 
>>> you with WO.
>>> 
>>> 
>>> Chuck
>>> 
>>> On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
>>> 
 
 Hurray someone actually started talking about this.
 
 
 I want to add my two cents without starting a "this is better than that" 
 conversation.
 
 If Cayenne is to be utilized, someone in the know must look not only at 
 the current state of Cayenne, but at the developers. What is/was their 
 philosophy behind what they write/wrote? If we don't, it will be a very 
 short and costly marriage. Costly, because we either buck up and foot the 
 bill to rewrite Webobjects or continue in a bad relationship.
 
 I am writing this not as a diatribe but because I am concerned that in the 
 excitement of looking at Cayenne, the obvious impact of differing 
 philosophies of the original authors may be ignored. BTW, I say original 
 authors because the person that wrote the first line of code left his/her 
 imprint on the direction of all code that follows.
 
 JMHO (i mean that sincerely).
 
 Ted
 
> Message: 4
> Date: Wed, 11 Jul 2012 10:09:08 -0500
> From: John Huss 
> To: WebObjects-Dev Mailing List List 
> Subject: Migr

Re: WOWODC-2012 Git presentations

2012-07-13 Thread Ted Archibald
Yay!

On Fri, Jul 13, 2012 at 5:21 AM, Kieran Kelleher wrote:

> FYI,
>
> If you are new to git.
>
> The first 3 parts of the 5-part series derived from the "Understanding &
> Using Git" WOWODC2012 presentation is available in this iTunes feed:
>
> http://itunes.apple.com/us/podcast/webobjects-podcasts/id270165303
>
> or at the bottom of this web page:
>
> http://www.wocommunity.org/webobjects_screencasts.html
>
> Parts 4 and 5 are slated to be published in next couple of weeks.
>
> Regards, Kieran
>  ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> https://lists.apple.com/mailman/options/webobjects-dev/ted.archibald%40gmail.com
>
> This email sent to ted.archib...@gmail.com
>
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


WOWODC-2012 Git presentations

2012-07-13 Thread Kieran Kelleher
FYI,

If you are new to git.

The first 3 parts of the 5-part series derived from the "Understanding & Using 
Git" WOWODC2012 presentation is available in this iTunes feed:

http://itunes.apple.com/us/podcast/webobjects-podcasts/id270165303

or at the bottom of this web page:

http://www.wocommunity.org/webobjects_screencasts.html

Parts 4 and 5 are slated to be published in next couple of weeks.

Regards, Kieran
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
 I think Hugi also use it.
>>> 
>>> Is that a point for or against it?  :-P
>> 
>> 
> 
> Ah ha!  So you ARE still reading the list!  :-)  Good to see you around!

Haha, thanks :). Oddly enough, I always read the lists religiously, even when I 
wasn't using WO that much.

- hugi
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Hugi Thordarson
I believe the takeaway here is that Cayenne is indeed under active development, 
which is nice :).

- hugi


On 12.7.2012, at 17:07, John Huss wrote:

> On Thu, Jul 12, 2012 at 9:45 AM, Hugi Thordarson  wrote:
> >> Cayenne is still missing a lot of functionality when compared to 
> >> EOF/Wonder and generally feels less mature (understandably, since EOF is 
> >> ancient). This is perhaps not such a huge problem, since functionality can 
> >> always be added—but there is indeed a *lot* of work to be done to reach 
> >> feature parity with EOF.
> >
> > That seems like an overstatement to me.  What things is it missing that you 
> > need?
> 
> Well, it isn't exactly "big things" that are missing, but rather an 
> aggregation of a lot of small things. Things I can live without, but would 
> rather not. EOF, Foundation, Wonder and the tools have 20 years of refinement 
> and integration in their design so moving from EOF to Cayenne feels a little 
> like moving from a Mercedes to a Wolkswagen Bug.
> 
> Lack of IDE support,
> 
> There is an Eclipse plugin, but it is not totally baked yet.
>  
> no prototypes,
> 
> Cayenne already does the "switching databases" part of prototypes. The 
> "faster model creation" part would be a nice add perhaps, but you get part of 
> it (the java type assigment) already in Cayenne by auto-generating the 
> ObjEntity from the DbEntity.
> 
> no KVC
> 
> This is already in ERCayenne
>  
> , "getAccessor" (ugh)
> 
> The templates in ERCayenne don't use the get prefix
>  
> , limited support for inheritance,
> 
> True
>  
> no ERXKey means no type safe queries and strings everywhere,
> 
> ERXKey is in ERCayenneExample and I'll be committing a version Cayenne itself 
> in the next few days.
>  
> somewhat buggy modeler
> 
> I fixed a couple of the more annoying problems last week.  Other than that 
> I'm not aware of any behaviors that are truly bugs. But usability could 
> certainly be improved.
>  
> with no support for cross-model relationships
> 
> This is not true anymore if it was before.  3.1 includes the idea of a 
> default node (basically a connection dictionary), so you can load models that 
> are generic, framework level and use them along with your own model.
>  
> , no crossing relationships in raw row fetches (which makes it harder to 
> create reports from huge object graphs)
> 
> True, this is the biggest gap I've come across - I have an app that does 
> exactly that.  However, there are a few built-in alternatives, namely 
> SQLTemplate and EJBQLQuery. But if you have a lot of this in your app, you'll 
> probably want to wait to consider migrating.
>  
> , no Project Wonder EO stuff etc. etc.
> 
> I have some Cayenne implementations of the specific utilities that I used 
> from Wonder, but yes, this represents work to be done. 
> 
> Now, I know this comparison is unfair to Cayenne which is in fact great, and 
> Andrus and the others have done an amazing job. EOF is just hard to beat, 
> because EOF is very, very good. And as I said, Cayenne will no doubt get 
> there, I just believe it will take a lot of work.
> 
> Just a little work I think.  The things that have to be done are almost all 
> approachable by average developers.
>  
> > The only reasonable way to do a re-implementation of EOF would be to start 
> > with Cayenne.  It doesnt have the same API as EOF, but that could be done; 
> > that hard work has already been done, only the API would need change.  But 
> > I think there are advantages in trying to merge with the Cayenne community 
> > rather than taking it and forking it.
> 
> I agree. If they're compatible it's probably the way to go.
> 
> - hugi
> 


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Anyone like to transcripti WOWODC podcasts via Mechanical Turk?

2012-07-13 Thread Ted Archibald
You can use MTurk by using crowdflower.com outside the US.  I'm in Canada
and I use WO app that submits jobs and pulls data from MTurk via
crowdflower.  I highly suggest it.  It makes MTurk far easier to use as
well.

That being said, wouldn't it be easier just to shoot the files to a
transcription company?  Especially since there's alot of domain specific
terminology.

The biggest pain I've had with crowd-sourcing is getting your error rate
down.  You can brute force it with high cost jobs or job repetition (which
crowdflower does beautiful).  Or you need to manually review everything.
 Or you can do it with trial and error, and how your job is designed.  I
only got the hang of it after submitting 6-12k jobs per month for at least
4 months before I was really happy.

On Fri, Jul 13, 2012 at 2:56 AM, Amy Worrall  wrote:

> On Fri, Jul 13, 2012 at 9:11 AM, Johan Henselmans 
> wrote:
> > Some people reported having transcripts done this way. Unfortunately, I
> am not allowed to use this tool, as I am not a citizen of the US of A.
>
> I've used it (from Britain) via those companies that offer a service
> where they submit the audio to Mechanical Turk and collate the
> results. It wasn't too expensive and it was a lot better than having
> to transcribe it myself!
>  ___
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
>
> https://lists.apple.com/mailman/options/webobjects-dev/ted.archibald%40gmail.com
>
> This email sent to ted.archib...@gmail.com
>
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Problem EOEditingContext

2012-07-13 Thread Cheong Hee (Gmail)
Once upon a time, there is a default constructor class generated in this 
way:


   public User(EOEditingContext context, EOClassDescription classDesc, 
EOGlobalID gid) {

   super(context, classDesc, gid);
   }

Not sure why it is removed after in wolips.  Is this something similar to 
your newUser(ec) or User(ec).


- Original Message - 
From: "Maik Musall" 

To: "WebObjects Development" 
Sent: Friday, July 13, 2012 5:23 PM
Subject: Re: Problem EOEditingContext




Am 13.07.2012 um 01:20 schrieb Ramsey Gurley:



On Jul 12, 2012, at 3:26 PM, Maik Musall wrote:



Am 12.07.2012 um 23:58 schrieb Louis Demers:
User newUser = (User)EOUtilities.createAndInsertInstance(ec, 
User.ENTITY_NAME) ;


Much too wordy for my taste, and needs a cast on top of it. Just add a 
second constructor in your template which does ec.insertObject(this), so 
that you can simply use


User newUser = new User( ec );

Do not delete the parameter-less constructor though, because EOF needs 
that internally when restoring objects from db. But refrain from using 
that anywhere in your app.


Maik


I know the rule is not followed strictly in WO/Wonder, but as a general 
rule in java, do not let 'this' escape the constructor.


http://www.javapractices.com/topic/TopicAction.do?Id=252


Indeed, you're right. Using a factory method is the better way. I just 
looked into what insertObject() actually does and it's really more than 
you would want to happen inside a constructor, although I never had a 
problem with this in years. Still, I'd make a factory method in the 
template to be called like


User newUser = User.newInEc( ec );

Side note: javapractices.com is good, but not infallible. For example, it 
is badly misguided
about spaces instead of tabs... ;-) 
(http://www.javapractices.com/topic/TopicAction.do?Id=244)


Maik
___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/chng34%40gmail.com

This email sent to chn...@gmail.com 


___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread Henrique Gomes

On Jul 12, 2012, at 8:06 PM, Chuck Hill wrote:

>> 
>> You want to know the biggest unfixable problem with WO for me? WO apps can't 
>> be deployed on any mobile platform.  That really sucks.
> 
> For that, you need to change the paradigm from interface vending servers to 
> servers that vend data and processing.  Use a mobile client technology like 
> Sencha or Montage.  Or write D2iOS.  :-)
> 
> (..)
> Chuck

I actually think that's the way to go. You mentioned that switching to Cayenne  
leaves 1/3 of WO, aka the presentation layer, but, really, is there a future on 
server side interface vending? 
I have been very happy with WO, but if/when I switch it will be for HTML5 
native apps. 

Just my 2 € cents

Henrique Gomes


 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: Problem EOEditingContext

2012-07-13 Thread Maik Musall

Am 13.07.2012 um 01:20 schrieb Ramsey Gurley:

> 
> On Jul 12, 2012, at 3:26 PM, Maik Musall wrote:
> 
>> 
>> Am 12.07.2012 um 23:58 schrieb Louis Demers:
>>> User newUser = (User)EOUtilities.createAndInsertInstance(ec, 
>>> User.ENTITY_NAME) ;
>> 
>> Much too wordy for my taste, and needs a cast on top of it. Just add a 
>> second constructor in your template which does ec.insertObject(this), so 
>> that you can simply use
>> 
>>  User newUser = new User( ec );
>> 
>> Do not delete the parameter-less constructor though, because EOF needs that 
>> internally when restoring objects from db. But refrain from using that 
>> anywhere in your app.
>> 
>> Maik
> 
> I know the rule is not followed strictly in WO/Wonder, but as a general rule 
> in java, do not let 'this' escape the constructor.
> 
> http://www.javapractices.com/topic/TopicAction.do?Id=252

Indeed, you're right. Using a factory method is the better way. I just looked 
into what insertObject() actually does and it's really more than you would want 
to happen inside a constructor, although I never had a problem with this in 
years. Still, I'd make a factory method in the template to be called like

User newUser = User.newInEc( ec );

Side note: javapractices.com is good, but not infallible. For example, it is 
badly misguided
about spaces instead of tabs... ;-) 
(http://www.javapractices.com/topic/TopicAction.do?Id=244)

Maik
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Anyone like to transcripti WOWODC podcasts via Mechanical Turk?

2012-07-13 Thread Amy Worrall
On Fri, Jul 13, 2012 at 9:11 AM, Johan Henselmans  wrote:
> Some people reported having transcripts done this way. Unfortunately, I am 
> not allowed to use this tool, as I am not a citizen of the US of A.

I've used it (from Britain) via those companies that offer a service
where they submit the audio to Mechanical Turk and collate the
results. It wasn't too expensive and it was a lot better than having
to transcribe it myself!
 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com


Re: Migrating from EOF to Cayenne

2012-07-13 Thread ISHIMOTO Ken
Like it

On 2012/07/11, at 20:12, Farrukh Ijaz wrote:

> Hi,
> 
> In past I've used AOP to address issues of closed source. This I believe if 
> carefully used can help convert the EOF from single to multi threaded and/or 
> solve other bottleneck problems. Having said this doesn't mean I'm against 
> Cayane. However if the current EOF issues get fixed with AOP patched code 
> would be better for those who don't want to or for some reasons can't switch 
> to Cayane.
> 
> Farrukh
> 
> Chuck Hill  wrote:
> 
>> I agree that we need to more closely examine Cayenne before jumping in with 
>> both feet.  How mature are the tools?  What is the functionality gap?  How 
>> important is the missing functionality?  How costly is adding any needed 
>> functionality?  Will the missing functionality fit in with the Cayenne 
>> architecture?  How stable is it?  How well does it scale (scaling is more 
>> than multi-threaded EOF)?  And Cayenne is only EOAccess/EOControl.  What do 
>> we do about the presentation layer?  Getting rid of 2/3 of WO still leaves 
>> you with WO.
>> 
>> 
>> Chuck
>> 
>> On 2012-07-11, at 11:29 AM, Theodore Petrosky wrote:
>> 
>>> 
>>> Hurray someone actually started talking about this.
>>> 
>>> 
>>> I want to add my two cents without starting a "this is better than that" 
>>> conversation.
>>> 
>>> If Cayenne is to be utilized, someone in the know must look not only at the 
>>> current state of Cayenne, but at the developers. What is/was their 
>>> philosophy behind what they write/wrote? If we don't, it will be a very 
>>> short and costly marriage. Costly, because we either buck up and foot the 
>>> bill to rewrite Webobjects or continue in a bad relationship.
>>> 
>>> I am writing this not as a diatribe but because I am concerned that in the 
>>> excitement of looking at Cayenne, the obvious impact of differing 
>>> philosophies of the original authors may be ignored. BTW, I say original 
>>> authors because the person that wrote the first line of code left his/her 
>>> imprint on the direction of all code that follows.
>>> 
>>> JMHO (i mean that sincerely).
>>> 
>>> Ted
>>> 
 Message: 4
 Date: Wed, 11 Jul 2012 10:09:08 -0500
 From: John Huss 
 To: WebObjects-Dev Mailing List List 
 Subject: Migrating from EOF to Cayenne
 Message-ID:
 
 
 Content-Type: text/plain; charset="windows-1252"
 
 At WOWODC there was a lot of interest in migrating from EOF
 to Cayenne, and
 even entirely rebasing Wonder to run on top of Cayenne
 instead of EOF.
 
 *Why would anyone want to do this?  *
 
   1. Cayenne is open-source and is actively
 being developed
   2. Cayenne has great concurrency support
 which is in stark contrast to
   EOF single-threaded architecture
   3. Cayenne is conceptually very similar to
 EOF so the transition is
   fairly straightforward
 
 For those reasons it is a much better long term solution
 than EOF, which is
 now frozen in time.  Cayenne can be used inside a WO
 application as an EOF
 replacement while continuing to use the rest of WebObjects.
 
 *I'm interested. Now what?*
 
   - Learn about Cayenne. The best source of
 information for comparing EOF
   and Cayenne is on the
 wiki.
   In addition, you can look at the
 documentationfor
 Cayenne.
   - Use Cayenne in your new projects. 
 Cayenne runs just fine inside a
   WebObjects application.  Wonder has
 the ERCayenne framework and
   ERCayenneExample to help you get started.
 I suggest working with the trunk
   of the Cayenne source (and Wonder too)
 since some things are just being
   added to make this easier.
   - Help work on easing and automating the
 migration from EOF to Cayenne.
   It is possible to automate a large part of
 the work involved in moving from
   EOF to Cayenne. But it requires effort.
 ERCayenne in Wonder has a class
   that will convert an EOModel to a Cayenne
 model (the class is
   CayenneConverter). This works well, but
 could be improved. I've started
   working on an Eclipse refactoring script
 that will convert from one API to
   the other. Yes, you may not have known (I
 didn't) that Eclipse can record a
   series of refactorings and save it as a
 script. The bulk of the migration
   work is creating refactoring scripts in
 Eclipse by performing refactorings
   on a stubbed out version of the EOF API to
 convert the API into the
   equivalent Cayenne API. After performing
 the refactorings, a script can be
   exported using Refactor->"Create
 Script". For EOF methods that do not have
   a direct Cayenne equivalent, helper
 methods (or classes) will need to be
   written that can serve as a dir

Anyone like to transcripti WOWODC podcasts via Mechanical Turk?

2012-07-13 Thread Johan Henselmans

Last week, I have done some experiments with transcribing podcasts, as it 
seemed a good idea to make information in the podcasts more accessible. (I do 
not like scrolling through podcasts of an hour of which I can read the 
transcript in 15 minutes). 

I have tried Mac Speech Scribe with a presentation of Chuck Hill (Best 
Practices in WO, 2008) and of David Leber (Troubleshooting  D2wRules, 2009)

The way stiff stuff works is that you first train the application with a 
section of the text of the specific person, and then start transcribing it. The 
results, even after training, were …interesting.

It seems David and Chuck both have a lot of interest in Iran, Cuba, moral, 
sections, and other anti-terror stuff.

So after the first run through I then copied the transcript in transcripter 
software of Atze Spohr, to do corrections and add time indication (the app does 
that automatically). 

It takes about 30 minutes to do 10 minutes of podcast. 

David Holt pointed me to the Mechanical Turk, where you can ask people to do 
work for you: https://www.mturk.com/mturk/welcome

Some people reported having transcripts done this way. Unfortunately, I am not 
allowed to use this tool, as I am not a citizen of the US of A. So my question 
is:

Can anybody in located in the United States try to get a podcast transcribed to 
see if the quality is OK? (preferably  one of the harder ones: Pascal because 
of his Quebec-english accent or Chuck because of the speed of his speak). 

It might be a rather cheap solution to have the podcasts transcribed (provided 
you don't mind having people working for you on sub-MacDonald's wages). 

Johan Henselmans
jo...@netsense.nl




 ___
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list  (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com