WOLips Problem Occured

2008-07-08 Thread Gennady Kushnir
Hello, List
I have problems with my Eclipse IDE (3.3.2) with WOLips 3.3.5047
Every time I configure frameworks it shows me Problem Occured error message:

}  WOLips Include Files Updates
}  Attempted to beginRule: R/, does not match outer scope rule: P/Rujel

I don't get what it means. But as a result those frameworks are not
included in classpath files when I ant-build my project...
Also I suspect that when I update my frameworks and than run my
project it still enployes old frameworks (I wonder where he stores
them).

For more info: I also include those frameworks projects into my buildPath.

Gennady
 ___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: EOFetchSpecification text to number conversion

2008-07-08 Thread Pierre Bernard


On 7 Jul 2008, at 18:55, Chuck Hill wrote:


I can't think of any.  This is yet another reason to never use  
qualifierWithQualifierFormat.  If you had used EOKeyValueQualifier,  
you would not have this problem.  Just say no to magic strings.


Does EOF again apply automatic coercion?
I found this feature was lost when moving from 4.5 to 5.0.

That's why I wrote 
http://code.google.com/p/houdah-webobjects-frameworks/source/browse/trunk/HoudahEOAccess/src/com/houdah/eoaccess/coercion/QualifierAttributeCoercion.java

Pierre

--
Pierre Bernard
http://www.bernard-web.com/pierre
http://www.houdah.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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: empty relationship qualifier question

2008-07-08 Thread Michael Bushkov
Hi, Pierre! Thanks for the answer.
I've actually tried using EOKeyValueQualifier(tracks,
EOQualifier.QualifierOperatorEquals, NSKeyValueCoding.NullValue). It
generates the following sql, which is just wrong:
SELECT RTRIM(t0.artist), t0.guitarProSongId, t0.id, RTRIM(t0.title)
FROM Song t0 WHERE t0.id is NULL

Considering, ExistsInRelationshipQualifier - does it support sql
generation (I didn't see it in its code)?

On Sat, Jul 5, 2008 at 1:17 AM, Pierre Bernard [EMAIL PROTECTED] wrote:
 Hi!

 Actually, EOKeyValueQualifier(tracks, EOQualifier.QualifierOperatorEquals,
 NSKeyValueCoding.NullValue) should work just fine.

 Please report back if it doesn't. I'd like to know.

 An alternative - usually used only for more complex cases - would be to use
 the ExistsInRelationshipQualifier from my Houdah WebObjects frameworks
 project.

 Best,
 Pierre Bernard
 Houdah Software s.à r.l.

 On 4 Jul 2008, at 10:32, Michael Bushkov wrote:

 Hi,
 I have quite simple task, but I don't see any proper solution. The
 task is as follows:
 I have 2 entities - Song and Track. Song has a one-to-many
 relationship to Track (Song-tracks). And I need to fetch all songs
 which have no tracks. That's all - plain and simple.

 I've looked through the list of available qualifiers and even started
 to write one by myself, but it looks like an overkill for such a
 simple task. The straightforward solution, that I see is to cache
 number of tracks in Song entity (make a Song-tracksNumber field). But
 it looks like modifying model for implementation purposes (this
 however can be very effective on large datasets, because such database
 structure doesn't require using subqueries to find songs with no
 tracks).

 Any suggestions are greatly appreciated )

 --
 With best regards,
 Michael Bushkov
 ___
 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:

 http://lists.apple.com/mailman/options/webobjects-dev/webobjects-dev%40houdah.com

 This email sent to [EMAIL PROTECTED]

 ---
 Pierre Bernard
 http://www.bernard-web.com/pierre
 http://www.houdah.com







-- 
With best regards,
Michael Bushkov
 ___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: DB uniqueness constraints and dealing with them

2008-07-08 Thread Florijan Stamenkovic

A slightly modified version of Chuck's db specific stuff, for OpenBase:


public class OpenBaseExInterpreter implements ExInterpreter{

private Pattern
column = Pattern.compile(column \\'(.*)\\' is not unique),
table = Pattern.compile(SQL\\: INSERT INTO (\\w*));

public String columnNameForUniquenessRestraintFailure(
EOGeneralAdaptorException ex){
return column.matcher(ex.getMessage()).group(1);
}

	public boolean isUniquenessRestraintFailure 
(EOGeneralAdaptorException ex){

return column.matcher(ex.getMessage()).find();
}

	public String tableNameForUniquenessRestraintFailure 
(EOGeneralAdaptorException ex){

return table.matcher(ex.getMessage()).group(1);
}
}


This will extract the relevant info from OpenBase style uniqueness  
failure feedback, such as:


...   Next exception:SQL State:42000 -- error code: 0 -- msg: ERROR -  
Value for column 'NAME' is not unique.
SQL: INSERT INTO USER(UID, PERMISSIONS, PASSWORD, USER_ID,  
CONTACT_ID, NAME) VALUES (230, '7faaa000', 'sfasfdasdfasd', 39, 2,  
'flor385')


You can't get a restraint name because OpenBase does not use  
restraints to define uniqueness, but an index flag (per field).


F


On Jul 05, 2008, at 00:03, Chuck Hill wrote:


I guess I will play show and tell too :-)

It all starts in an EOEditingContext subclass, with the saveChanges  
method:


public void saveChanges()
{
try
{
super.saveChanges();
}
catch (EOGeneralAdaptorException e)
{
throw  interpretEOGeneralAdaptorException(e);
}
}


The exception is interpreted with

/**
 * Examines the exception and dispatches it to one of the more  
specific interpret...Exception methods.

 *
 * @param theException the exception as raised from saveChanges()
 * @return an exception with a localized error message and a  
customized userInfo dictionary

 */
public RuntimeException interpretEOGeneralAdaptorException 
(EOGeneralAdaptorException theException)

{
/** require [valid_param] theException != null; **/

// In case we can not interpret this exception, ensure that  
it is returned as is.

RuntimeException interpretedException = theException;

if (NSExceptionAdditions.isOptimisticLockingFailure 
(theException))

{
interpretedException = interpretOptimisticLockingFailure 
(theException);

}
else if (NSExceptionAdditions.isIntegrityConstraintViolation 
(theException))

{
interpretedException =  
interpretIntegrityConstraintViolation(theException);

}
else if  
(NSExceptionAdditions.isAdaptorOperationFailureException 
(theException))

{
int failedOperator =  
NSExceptionAdditions.failedAdaptorOperator(theException);


switch (failedOperator)
{
// case EODatabaseOperation.EOAdaptorLockOperator :  
interpretedException = interpretLockingFailureFromException 
(theException); break;


// This should never happen with integrity  
constraint violations handled above and barring model exception

case EODatabaseOperation.AdaptorInsertOperator :
interpretedException =  
interpretInsertFailureFromException(theException);

break;

// case  
EODatabaseOperation.EOAdaptorUpdateOperator : interpretedException  
= interpretUpdateFailureFromException(theException); break;


// case   
EODatabaseOperation.EOAdaptorDeleteOperator : interpretedException  
= interpretDeleteFailureFromException(theException); break;


// case   
EODatabaseOperation.EOAdaptorStoredProcedureOperator :  
interpretedException = interpretStoredProcedureFailureFromException 
(theException); break;

default:
// Later, once the other cases are implemented  
we can do this:

//default :
//interpretedException =  
new RuntimeException(Unknown Adaptor Operator ( + failedOperator  
+));

}
}

if (interpretedException instanceof EOFValidationException)
{
((EOFValidationException) 
interpretedException).setOriginalException(theException);

}

return interpretedException;
}


The relevant part of this is:

f (NSExceptionAdditions.isIntegrityConstraintViolation(theException))
{
interpretedException =  
interpretIntegrityConstraintViolation(theException);

}


The NSExceptionAdditions class has these relevant methods:

static public boolean isIntegrityConstraintViolation 
(EOGeneralAdaptorException exception)

{
/** require [valid_param] exception != null;**/
return 

Re: WOCollapsibleComponentContent is broken on Leopard

2008-07-08 Thread Xia, Wen
It works.  Thanks a lot for your help!


On 7/7/08 5:12 PM, Lachlan Deck [EMAIL PROTECTED] wrote:

 Hi Wen,
 
 On 08/07/2008, at 3:58 AM, Xia, Wen wrote:
 
 Seems like projects with WOCollapsibleComponentContent are broken
 after
 deploying to Leopard server (works on local Leopard).
 Error: java.lang.ClassNotFoundException exception
 Reason:
 java.lang.ClassNotFoundException: Cannot find class or component named
 WOCollapsibleComponentContent in runtime or in a loadable bundle
 
 I checked the component exists in the framework, don¹t understand
 why it
 can¹t find it.  Please help.  Thank you.
 
 Try embedding your frameworks in the application to ensure that your
 runtime environment is the same as development.
 http://wiki.objectstyle.org/confluence/display/WOL/Tutorials
 http://wiki.objectstyle.org/confluence/display/WOL/Embedding+WOFrameworks
 
 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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


D2W and Qualifying Relationships

2008-07-08 Thread David Avendasora

Hi all,

I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to-many:

ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible options on  
the WorkCenter popup to only the ones that are also related to the  
Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel file,  
or otherwise qualify the NSArray that populates the popup? I've been  
digging through the D2W API and I can't seem to figure it out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread Guido Neitzer
If you have them on the same page, you need to do an Ajax call to set  
the manufacturingLine and than limit the other one with the  
restrictedChoiceKey in the rules. Never tried that though.


cug

On 08.07.2008, at 12:55, David Avendasora wrote:


I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to-many:

ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible options  
on the WorkCenter popup to only the ones that are also related to  
the Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel  
file, or otherwise qualify the NSArray that populates the popup?  
I've been digging through the D2W API and I can't seem to figure it  
out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40event-s.net

This email sent to [EMAIL PROTECTED]


--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


WOXMLDecoder and NSData

2008-07-08 Thread Steve Peery
I am upgrading a WO Application to version 5.4 and everywhere I use
WOXMLDecoder to decode a NSData object it generates a NullPointerException.
It worked fine before. Any clues?

Steve


 ___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread David Avendasora

restrictedChoiceKey

Hmmm

Ahg! WOnder. Figures. :)

I was hopping for a WO-only solution.

Thanks for the quick reply though!

Dave

On Jul 8, 2008, at 3:45 PM, Guido Neitzer wrote:

If you have them on the same page, you need to do an Ajax call to  
set the manufacturingLine and than limit the other one with the  
restrictedChoiceKey in the rules. Never tried that though.


cug

On 08.07.2008, at 12:55, David Avendasora wrote:


I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to- 
many:


ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible options  
on the WorkCenter popup to only the ones that are also related to  
the Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel  
file, or otherwise qualify the NSArray that populates the popup?  
I've been digging through the D2W API and I can't seem to figure it  
out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40event-s.net

This email sent to [EMAIL PROTECTED]


--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread Alan Ward


On Jul 8, 2008, at 2:09 PM, Chuck Hill wrote:



On Jul 8, 2008, at 1:07 PM, David Avendasora wrote:


restrictedChoiceKey

Hmmm

Ahg! WOnder. Figures. :)

I was hopping for a WO-only solution.

Thanks for the quick reply though!


I thought The First Rule of D2W was D2W without Wonder is a  
deadlock waiting to happen


I thought it was more like it's a deadlock that already happened ;-)

Alan



Chuck



On Jul 8, 2008, at 3:45 PM, Guido Neitzer wrote:

If you have them on the same page, you need to do an Ajax call to  
set the manufacturingLine and than limit the other one with the  
restrictedChoiceKey in the rules. Never tried that though.


cug

On 08.07.2008, at 12:55, David Avendasora wrote:


I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to- 
many:


ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible  
options on the WorkCenter popup to only the ones that are also  
related to the Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel  
file, or otherwise qualify the NSArray that populates the popup?  
I've been digging through the D2W API and I can't seem to figure  
it out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/lists% 
40event-s.net


This email sent to [EMAIL PROTECTED]


--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/chill% 
40global-village.net


This email sent to [EMAIL PROTECTED]



--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/award% 
40apple.com


This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: WOXMLDecoder and NSData

2008-07-08 Thread Daryl Lee

Do you have a stacktrace?  WO 5.4 was upgraded to use the sax2 parser.

On Jul 8, 2008, at 1:05 PM, Steve Peery wrote:


I am upgrading a WO Application to version 5.4 and everywhere I use
WOXMLDecoder to decode a NSData object it generates a  
NullPointerException.

It worked fine before. Any clues?

Steve


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/dlee%40apple.com

This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread David Avendasora


On Jul 8, 2008, at 4:09 PM, Chuck Hill wrote:



On Jul 8, 2008, at 1:07 PM, David Avendasora wrote:


restrictedChoiceKey

Hmmm

Ahg! WOnder. Figures. :)

I was hopping for a WO-only solution.

Thanks for the quick reply though!


I thought The First Rule of D2W was D2W without Wonder is a  
deadlock waiting to happen


Well, I was being slightly disingenuous. Replace W with JC and  
you'll be closer to the truth of the question.


But I figured if there was a way to do it in D2W then I could do it in  
D2JC since they use the same rule engine and I was far more likely to  
get a response on a D2W question.


And, for what it's worth, I haven't run into any deadlock problems  
with D2JC.


Time to dig through the Wonder D2W stuff and figure out if I can apply  
it to D2JC too...


Don't hold your breath though. :-)

Dave



Chuck



On Jul 8, 2008, at 3:45 PM, Guido Neitzer wrote:

If you have them on the same page, you need to do an Ajax call to  
set the manufacturingLine and than limit the other one with the  
restrictedChoiceKey in the rules. Never tried that though.


cug

On 08.07.2008, at 12:55, David Avendasora wrote:


I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to- 
many:


ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible  
options on the WorkCenter popup to only the ones that are also  
related to the Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel  
file, or otherwise qualify the NSArray that populates the popup?  
I've been digging through the D2W API and I can't seem to figure  
it out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40event-s.net

This email sent to [EMAIL PROTECTED]


--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [EMAIL PROTECTED]



--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread Guido Neitzer

On 08.07.2008, at 14:18, Alan Ward wrote:

I thought The First Rule of D2W was D2W without Wonder is a  
deadlock waiting to happen


I thought it was more like it's a deadlock that already happened ;-)


That's probably pretty close ...

cug

--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: D2W and Qualifying Relationships

2008-07-08 Thread Chuck Hill


On Jul 8, 2008, at 1:24 PM, David Avendasora wrote:



On Jul 8, 2008, at 4:09 PM, Chuck Hill wrote:



On Jul 8, 2008, at 1:07 PM, David Avendasora wrote:


restrictedChoiceKey

Hmmm

Ahg! WOnder. Figures. :)

I was hopping for a WO-only solution.

Thanks for the quick reply though!


I thought The First Rule of D2W was D2W without Wonder is a  
deadlock waiting to happen


Well, I was being slightly disingenuous. Replace W with JC and  
you'll be closer to the truth of the question.


Sigh.  And here I thought you were branching out into new areas of pain!

:-P


But I figured if there was a way to do it in D2W then I could do it  
in D2JC since they use the same rule engine and I was far more  
likely to get a response on a D2W question.


And, for what it's worth, I haven't run into any deadlock problems  
with D2JC.


Time to dig through the Wonder D2W stuff and figure out if I can  
apply it to D2JC too...


Don't hold your breath though. :-)

Dave



Chuck



On Jul 8, 2008, at 3:45 PM, Guido Neitzer wrote:

If you have them on the same page, you need to do an Ajax call to  
set the manufacturingLine and than limit the other one with the  
restrictedChoiceKey in the rules. Never tried that though.


cug

On 08.07.2008, at 12:55, David Avendasora wrote:


I have two to-one relationships on my Routing entity:

Routing - ManufacturingLine
Routing - WorkCenter

ManufacturingLine and WorkCenter are also related with a many-to- 
many:


ManufacturingLine - WorkCenter

On the form for Routing, I'd like to restrict the possible  
options on the WorkCenter popup to only the ones that are also  
related to the Routing's selected ManufacturingLine.


Is there a way to do that by writing a rule in the  d2w.d2wmodel  
file, or otherwise qualify the NSArray that populates the popup?  
I've been digging through the D2W API and I can't seem to figure  
it out.


I think it was Guido that mentioned doing this during a between- 
session conversation at WOWODC this year, I just can't remember.


Dave
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/lists%40event-s.net

This email sent to [EMAIL PROTECTED]


--
http://www.event-s.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:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [EMAIL PROTECTED]



--

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/products/practical_webobjects












--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: WOXMLDecoder and NSData

2008-07-08 Thread Jake MacMullin
Speaking of using the SAX parser (and other XML apis), is there a good  
reason WebObjects contains a bunch of 3rd party libraries in the java- 
xml .jar? Couldn't these just be expressed as dependencies in the  
Maven project?


Including specific versions of these libraries in one of the WO  
libraries means that they can potentially conflict with later versions  
we might want to use in our applications and we can't easily provide  
more recent versions.


Cheers,

Jake



On 08/07/2008, at 9:19 PM, Daryl Lee wrote:


Do you have a stacktrace?  WO 5.4 was upgraded to use the sax2 parser.

On Jul 8, 2008, at 1:05 PM, Steve Peery wrote:


I am upgrading a WO Application to version 5.4 and everywhere I use
WOXMLDecoder to decode a NSData object it generates a  
NullPointerException.

It worked fine before. Any clues?

Steve


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/dlee 
%40apple.com


This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/jmacmullin%40mac.com

This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: DB uniqueness constraints and dealing with them

2008-07-08 Thread Florijan Stamenkovic
Uhm sorry, that was partly bad. Matcher will not find any groups  
unless one of the matching methods is invoked on it first... The  
working version of the code is:


public class OpenBaseExInterpreter implements ExInterpreter{

private Pattern
column = Pattern.compile(column \\'(.*)\\' is not unique),
table = Pattern.compile(SQL\\: INSERT INTO (\\w*));

public String columnNameForUniquenessConstraintFailure(
EOGeneralAdaptorException ex){
Matcher m = column.matcher(ex.getMessage());
if(m.find())
return m.group(1);
else
throw new IllegalStateException();
}

	public boolean isUniquenessConstraintFailure 
(EOGeneralAdaptorException ex){

return column.matcher(ex.getMessage()).find();
}

	public String tableNameForUniquenessConstraintFailure 
(EOGeneralAdaptorException ex){

Matcher m = table.matcher(ex.getMessage());
if(m.find())
return m.group(1);
else
throw new IllegalStateException();
}
}

And a lesson to me to test first, post later.

F

On Jul 08, 2008, at 11:14, Florijan Stamenkovic wrote:

A slightly modified version of Chuck's db specific stuff, for  
OpenBase:



public class OpenBaseExInterpreter implements ExInterpreter{

private Pattern
column = Pattern.compile(column \\'(.*)\\' is not unique),
table = Pattern.compile(SQL\\: INSERT INTO (\\w*));

public String columnNameForUniquenessRestraintFailure(
EOGeneralAdaptorException ex){
return column.matcher(ex.getMessage()).group(1);
}

	public boolean isUniquenessRestraintFailure 
(EOGeneralAdaptorException ex){

return column.matcher(ex.getMessage()).find();
}

	public String tableNameForUniquenessRestraintFailure 
(EOGeneralAdaptorException ex){

return table.matcher(ex.getMessage()).group(1);
}
}


This will extract the relevant info from OpenBase style uniqueness  
failure feedback, such as:


...   Next exception:SQL State:42000 -- error code: 0 -- msg: ERROR  
- Value for column 'NAME' is not unique.
SQL: INSERT INTO USER(UID, PERMISSIONS, PASSWORD, USER_ID,  
CONTACT_ID, NAME) VALUES (230, '7faaa000', 'sfasfdasdfasd', 39, 2,  
'flor385')


You can't get a restraint name because OpenBase does not use  
restraints to define uniqueness, but an index flag (per field).


F


On Jul 05, 2008, at 00:03, Chuck Hill wrote:


I guess I will play show and tell too :-)

It all starts in an EOEditingContext subclass, with the  
saveChanges method:


public void saveChanges()
{
try
{
super.saveChanges();
}
catch (EOGeneralAdaptorException e)
{
throw  interpretEOGeneralAdaptorException(e);
}
}


The exception is interpreted with

/**
 * Examines the exception and dispatches it to one of the more  
specific interpret...Exception methods.

 *
 * @param theException the exception as raised from saveChanges()
 * @return an exception with a localized error message and a  
customized userInfo dictionary

 */
public RuntimeException interpretEOGeneralAdaptorException 
(EOGeneralAdaptorException theException)

{
/** require [valid_param] theException != null; **/

// In case we can not interpret this exception, ensure  
that it is returned as is.

RuntimeException interpretedException = theException;

if (NSExceptionAdditions.isOptimisticLockingFailure 
(theException))

{
interpretedException =  
interpretOptimisticLockingFailure(theException);

}
else if  
(NSExceptionAdditions.isIntegrityConstraintViolation(theException))

{
interpretedException =  
interpretIntegrityConstraintViolation(theException);

}
else if  
(NSExceptionAdditions.isAdaptorOperationFailureException 
(theException))

{
int failedOperator =  
NSExceptionAdditions.failedAdaptorOperator(theException);


switch (failedOperator)
{
// case  
EODatabaseOperation.EOAdaptorLockOperator : interpretedException =  
interpretLockingFailureFromException(theException); break;


// This should never happen with integrity  
constraint violations handled above and barring model exception

case EODatabaseOperation.AdaptorInsertOperator :
interpretedException =  
interpretInsertFailureFromException(theException);

break;

// case  
EODatabaseOperation.EOAdaptorUpdateOperator : interpretedException  
= interpretUpdateFailureFromException(theException); break;


// 

Re: WOXMLDecoder and NSData

2008-07-08 Thread Daryl Lee


On Jul 8, 2008, at 1:27 PM, Jake MacMullin wrote:

Speaking of using the SAX parser (and other XML apis), is there a  
good reason WebObjects contains a bunch of 3rd party libraries in  
the java-xml .jar? Couldn't these just be expressed as dependencies  
in the Maven project?


If everyone was using Maven, maybe this would be less of an issue.   
Due to version/API dependencies on specific versions of libraries  
(Axis for instance), we've had bundle things this way.





Including specific versions of these libraries in one of the WO  
libraries means that they can potentially conflict with later  
versions we might want to use in our applications and we can't  
easily provide more recent versions.


We've been discussing ways to allow people to insert their custom  
classpaths early on in the bootstrap process.  Perhaps there could be  
some custom properties passed to the WOBootstrapper.





Cheers,

Jake



On 08/07/2008, at 9:19 PM, Daryl Lee wrote:

Do you have a stacktrace?  WO 5.4 was upgraded to use the sax2  
parser.


On Jul 8, 2008, at 1:05 PM, Steve Peery wrote:


I am upgrading a WO Application to version 5.4 and everywhere I use
WOXMLDecoder to decode a NSData object it generates a  
NullPointerException.

It worked fine before. Any clues?

Steve


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/dlee%40apple.com

This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/jmacmullin%40mac.com

This email sent to [EMAIL PROTECTED]




___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: WOXMLDecoder and NSData

2008-07-08 Thread Chuck Hill


On Jul 8, 2008, at 3:26 PM, Daryl Lee wrote:



On Jul 8, 2008, at 1:27 PM, Jake MacMullin wrote:

Speaking of using the SAX parser (and other XML apis), is there a  
good reason WebObjects contains a bunch of 3rd party libraries in  
the java-xml .jar? Couldn't these just be expressed as dependencies  
in the Maven project?


If everyone was using Maven, maybe this would be less of an issue.   
Due to version/API dependencies on specific versions of libraries  
(Axis for instance), we've had bundle things this way.


Could they go in /Library/WebObjects/Extensions?  Though that would  
leave build time classpath problems...










Including specific versions of these libraries in one of the WO  
libraries means that they can potentially conflict with later  
versions we might want to use in our applications and we can't  
easily provide more recent versions.


We've been discussing ways to allow people to insert their custom  
classpaths early on in the bootstrap process.  Perhaps there could  
be some custom properties passed to the WOBootstrapper.





Cheers,

Jake



On 08/07/2008, at 9:19 PM, Daryl Lee wrote:

Do you have a stacktrace?  WO 5.4 was upgraded to use the sax2  
parser.


On Jul 8, 2008, at 1:05 PM, Steve Peery wrote:


I am upgrading a WO Application to version 5.4 and everywhere I use
WOXMLDecoder to decode a NSData object it generates a  
NullPointerException.

It worked fine before. Any clues?

Steve


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/dlee%40apple.com

This email sent to [EMAIL PROTECTED]


___
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:
http://lists.apple.com/mailman/options/webobjects-dev/jmacmullin%40mac.com

This email sent to [EMAIL PROTECTED]




___
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:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [EMAIL PROTECTED]



--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


SimpleDateFormat vs [Deprecated] NSTimestampFormatter

2008-07-08 Thread Gennady Kushnir
Hello list!
As mentioned in WO 5.4 documentation NSTimestampFormatter class is now
deprecated.
They recommend using java.text.SimpleDateFormat instead. Pattern
formats for NSTimestampFormatter and SimpleDateFormat a different.
But when binding WOString and WOTextFiend it still takes patterns for
dateFormat in old NSTimestampFormatter style.

I want to store and reuse some global setting for date format pattern.
But now I have to either use different patterns for WOD bindings and
programmatic use
or rely on deprecated NSTimestampFormatter and get warnings each time.

Gennady
 ___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: SimpleDateFormat vs [Deprecated] NSTimestampFormatter

2008-07-08 Thread Chuck Hill


On Jul 8, 2008, at 3:59 PM, Gennady Kushnir wrote:


Hello list!
As mentioned in WO 5.4 documentation NSTimestampFormatter class is now
deprecated.
They recommend using java.text.SimpleDateFormat instead. Pattern
formats for NSTimestampFormatter and SimpleDateFormat a different.
But when binding WOString and WOTextFiend it still takes patterns for
dateFormat in old NSTimestampFormatter style.

I want to store and reuse some global setting for date format pattern.
But now I have to either use different patterns for WOD bindings and
programmatic use
or rely on deprecated NSTimestampFormatter and get warnings each time.



NSTimestampFormatter  also understands the SimpleDateFormat pattern  
symbols.  Just use the SimpleDateFormat symbols for both.


Also note that unlike NSTimestampFormatter, SimpleDateFormat is not  
thread safe.  At least NSTimestampFormatter is not documented to be  
non-thread safe.



Chuck

--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: empty relationship qualifier question

2008-07-08 Thread Gennady Kushnir
Очень похоже на ошибку в модели.
Check your relationship tracks to be toMany
is NULL behavior is usually for toOne relationships.

2008/7/8 Michael Bushkov [EMAIL PROTECTED]:
 Hi, Pierre! Thanks for the answer.
 I've actually tried using EOKeyValueQualifier(tracks,
 EOQualifier.QualifierOperatorEquals, NSKeyValueCoding.NullValue). It
 generates the following sql, which is just wrong:
 SELECT RTRIM(t0.artist), t0.guitarProSongId, t0.id, RTRIM(t0.title)
 FROM Song t0 WHERE t0.id is NULL
 ___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: SimpleDateFormat vs [Deprecated] NSTimestampFormatter

2008-07-08 Thread Gennady Kushnir
 NSTimestampFormatter  also understands the SimpleDateFormat pattern symbols.
  Just use the SimpleDateFormat symbols for both.
Does it work only for 5.4 or also for earler versions of WO?

Gennady

2008/7/9 Chuck Hill [EMAIL PROTECTED]:

 On Jul 8, 2008, at 3:59 PM, Gennady Kushnir wrote:

 Hello list!
 As mentioned in WO 5.4 documentation NSTimestampFormatter class is now
 deprecated.
 They recommend using java.text.SimpleDateFormat instead. Pattern
 formats for NSTimestampFormatter and SimpleDateFormat a different.
 But when binding WOString and WOTextFiend it still takes patterns for
 dateFormat in old NSTimestampFormatter style.

 I want to store and reuse some global setting for date format pattern.
 But now I have to either use different patterns for WOD bindings and
 programmatic use
 or rely on deprecated NSTimestampFormatter and get warnings each time.


 NSTimestampFormatter  also understands the SimpleDateFormat pattern symbols.
  Just use the SimpleDateFormat symbols for both.

 Also note that unlike NSTimestampFormatter, SimpleDateFormat is not thread
 safe.  At least NSTimestampFormatter is not documented to be non-thread
 safe.


 Chuck

 --

 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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: SimpleDateFormat vs [Deprecated] NSTimestampFormatter

2008-07-08 Thread Chuck Hill


On Jul 8, 2008, at 4:10 PM, Gennady Kushnir wrote:

NSTimestampFormatter  also understands the SimpleDateFormat pattern  
symbols.

Just use the SimpleDateFormat symbols for both.

Does it work only for 5.4 or also for earler versions of WO?


NSTimestampFormatter  has always understood the SimpleDateFormat  
pattern symbols.  This is not new.







Gennady

2008/7/9 Chuck Hill [EMAIL PROTECTED]:


On Jul 8, 2008, at 3:59 PM, Gennady Kushnir wrote:


Hello list!
As mentioned in WO 5.4 documentation NSTimestampFormatter class is  
now

deprecated.
They recommend using java.text.SimpleDateFormat instead. Pattern
formats for NSTimestampFormatter and SimpleDateFormat a different.
But when binding WOString and WOTextFiend it still takes patterns  
for

dateFormat in old NSTimestampFormatter style.

I want to store and reuse some global setting for date format  
pattern.

But now I have to either use different patterns for WOD bindings and
programmatic use
or rely on deprecated NSTimestampFormatter and get warnings each  
time.



NSTimestampFormatter  also understands the SimpleDateFormat pattern  
symbols.

Just use the SimpleDateFormat symbols for both.

Also note that unlike NSTimestampFormatter, SimpleDateFormat is not  
thread
safe.  At least NSTimestampFormatter is not documented to be non- 
thread

safe.


Chuck

--

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/products/practical_webobjects










--

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/products/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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: WOLips Problem Occured

2008-07-08 Thread Lachlan Deck

On 08/07/2008, at 5:03 PM, Gennady Kushnir wrote:


Hello, List
I have problems with my Eclipse IDE (3.3.2) with WOLips 3.3.5047
Every time I configure frameworks it shows me Problem Occured  
error message:


}  WOLips Include Files Updates
}  Attempted to beginRule: R/, does not match outer scope rule: P/ 
Rujel


I don't get what it means. But as a result those frameworks are not
included in classpath files when I ant-build my project...
Also I suspect that when I update my frameworks and than run my
project it still enployes old frameworks (I wonder where he stores
them).

For more info: I also include those frameworks projects into my  
buildPath.


Sounds annoying. You could experiment by either creating a new project  
and/or new workspace and see if the problem persists.


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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Maven Optimism

2008-07-08 Thread Pierce T . Wetter III


 Last week, I posted a thread titled Maven Skepticism to the  
WOProject list. It was about my misgivings about Maven, and the issues  
I was having getting started with it.


 So the last few days I've been playing with Maven.

 I am no longer skeptical.

 So I thought I would post about my newfound optimism with Maven. I  
feel I owe it to Henrique and Lachlan for their help. (Thanks guys) I  
also think the current maven evangelism documentation is written a  
little too formally to be comprehensive.


 Background:

 I've been programming since I was 12, which means nearly 30 years  
now. I have a saying:


  Every generation thinks they invented sex, and every generation  
tries to reinvent make.


 Consequently, I hate Ant. I think its implementation is completely  
fubar. I've ranted about it before. I also hate our current build  
process at work, which is basically to hope/pray that the ant build we  
do nightly for deployment/packaging matches the developer builds we do  
in Eclipse.


  Now that I've finally gotten my team on svn, its time to fix the  
build process and reorganize our projects. Hence the interest in  
Maven, basically precipitated by Apple publishing their nightly builds  
as a Maven repository.


  To get started with Maven, I sat down with the Wonder sources, and  
tweaked the existing pom.xml files that had been broken since the  
great re-org to work. (pom.xml are the only and only type of file that  
Maven uses for building)


 What I found:

 Maven is a lot closer to how I would design a build system then it  
is to Ant. In that, its a lot more similar to how typical modern IDEs  
work: If Maven sees a .java file in the right place, it will compile  
it and put in in the jar. If it sees a file in the right place, it  
will treat it as a resource file, and put it in the appropriate  
location.


  In short, for most projects, you don't have to specify a bunch of  
stuff,  you just have to put them in the right place. Additionally,  
unlike ant builds, there's very little redundant information in a  
maven pom file.


  To give you some examples, for the current Wonder Ant builds,  
between build.xml files, generic.xml, build.properties  
files, .classpath and .patternset files, there are 5320 lines of build  
configuration information in the current Wonder build. The equivalent  
pom files are 2447 lines, which is not only more efficient, but  
includes more information to help avoid the jarmeggedon/jarhell problem.


 Jarmeggedon/jarhell

 It seems like one of the greatest tools in a Java programmers  
arsenal is Google, or rather, 3rd party libraries. If you look at the  
Wonder source, there are 65 different .jar files included, about 1 per  
project on average. Many of these jar files are duplicates of each  
other, or even worse, different versions of the same jar, like there  
is a version of commons-logging.jar in ERJGroupsSynchronizer and  
another one in EROpenID. Meanwhile, commons-logging is up to version  
1.1.1.


 To my way of thinking, the Wonder ant builds are already broken if  
EROpenID is building against commons-logging-1.03, but then deployed  
with 1.1.1...


  Maven's solution goes by the fancy name of dependency management.  
What that means in practice is that most of the information in the  
pom.xml is just a list of what other projects in your source tree a  
given project depends on, and what jars you need by name/version. In  
return, maven:


1. Finds and downloads any jars you're missing.
2. Finds and downloads any jars that those jars use!
3. Builds any inter-project dependencies.
4. Generates the correct classpath.
5. Packages jars as needed in the appropriate place.

   A dependency looks like the following:

dependency
groupIdcommons-logging/groupId
artifactIdcommons-logging/artifactId
version1.1.1/version
/dependency

   Most of the pom.xml file consists of these dependencies, and the  
site http://mvnrepository.com will even generate them for you.  
Moreover, if you put a dependencyManagement section in your top  
level pom as follows:


dependencyManagement
dependencies
dependency
groupIdcommons-logging/groupId
artifactIdcommons-logging/artifactId
version1.1.1/version
/dependency
/dependencies
/dependencyManagement

Then you can leave out the version specifier for your individual  
projects entirely:


dependency
groupIdcommons-logging/groupId
artifactIdcommons-logging/artifactId
/dependency

Which means you only have to change a single file when you want  
to use version 1.1.2 or something.


 It works unbelievably well. How well? Well, in the course of  

Re: EOFetchSpecification text to number conversion

2008-07-08 Thread Lachlan Deck

On 08/07/2008, at 6:24 PM, Pierre Bernard wrote:


On 7 Jul 2008, at 18:55, Chuck Hill wrote:


I can't think of any.  This is yet another reason to never use  
qualifierWithQualifierFormat.  If you had used EOKeyValueQualifier,  
you would not have this problem.  Just say no to magic strings.


Does EOF again apply automatic coercion?


I didn't allow my friend jad to talk for very long, but he did appear  
to mention something along those lines - though I wouldn't know how  
well it could be relied upon without actually testing.



I found this feature was lost when moving from 4.5 to 5.0.

That's why I wrote 
http://code.google.com/p/houdah-webobjects-frameworks/source/browse/trunk/HoudahEOAccess/src/com/houdah/eoaccess/coercion/QualifierAttributeCoercion.java


You'd be in a better position, I'd imagine, to compare the two  
outcomes... assuming you've got unit tests :-)


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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Maven Optimism

2008-07-08 Thread Lachlan Deck

On 09/07/2008, at 10:05 AM, Pierce T.Wetter III wrote:


...
So I thought I would post about my newfound optimism with Maven. I  
feel I owe it to Henrique and Lachlan for their help. (Thanks guys)  
I also think the current maven evangelism documentation is written a  
little too formally to be comprehensive.


...
To get started with Maven, I sat down with the Wonder sources, and  
tweaked the existing pom.xml files that had been broken since the  
great re-org to work. (pom.xml are the only and only type of file  
that Maven uses for building)


Not quite the only, but the primary. i.e., in many cases nothing else  
is needed - but it can be supplemented by profiles.xml, settings.xml,  
assemblies and so forth.



...
Jarmeggedon/jarhell

It seems like one of the greatest tools in a Java programmers  
arsenal is Google, or rather, 3rd party libraries. If you look at  
the Wonder source, there are 65 different .jar files included, about  
1 per project on average. Many of these jar files are duplicates of  
each other, or even worse, different versions of the same jar, like  
there is a version of commons-logging.jar in ERJGroupsSynchronizer  
and another one in EROpenID. Meanwhile, commons-logging is up to  
version 1.1.1.


To be fair, this is not so much a problem with ant per-se. It just  
means that someone hasn't gone to the trouble of putting shared jars  
in a shared location and bundled with the app upon build. But  
certainly maven does help reduce redundancy (e.g., not having to  
declare a lib dependency both in ant + eclipse). Care needs to be  
taken with both systems of course to ensure that what you get in the  
build is what's expected. Andrus and Henrique have both commented on  
this.


To my way of thinking, the Wonder ant builds are already broken if  
EROpenID is building against commons-logging-1.03, but then deployed  
with 1.1.1...


Maven's solution goes by the fancy name of dependency management.  
What that means in practice is that most of the information in the  
pom.xml is just a list of what other projects in your source tree a  
given project depends on, and what jars you need by name/version. In  
return, maven:


 1. Finds and downloads any jars you're missing.


Naturally, not every jar in the world is available by default means.  
So defining additional repositories is sometimes needed (e.g., for  
woproject stuff).



...
I have a ways to go with my maven knowledge, but given that I was  
able to get Wonder building without really knowing that much about  
mvn, and without knowing all the ins-outs of the Wonder  
interelationships, I think that speaks well for Maven.


there's lots to learn for sure and there's lots of possibilities  
available (via plugins) which I like.


It's worth saying, however, Don't throw caution to the wind. It's  
pretty cool, sure, but FWIW I'm still keeping my eyes and ears open  
given the experiences from both Henrique and Andrus - both of whom  
have been in the maven game longer than I.


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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Maven Optimism

2008-07-08 Thread Mike Schrag
Many of these jar files are duplicates of each other, or even worse,  
different versions of the same jar, like there is a version of  
commons-logging.jar in ERJGroupsSynchronizer and another one in  
EROpenID. Meanwhile, commons-logging is up to version 1.1.1.


 To my way of thinking, the Wonder ant builds are already broken if  
EROpenID is building against commons-logging-1.03, but then deployed  
with 1.1.1...
 It works unbelievably well. How well? Well, in the course of  
setting up pom.xml files for Wonder, I found out that Wonder was  
missing a secondary dependency, because it used a certain jar file,  
which used another jar file which wasn't included.


Please log bugs in the Wonder Jira for problems like this that you find.

ms

___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


NPE on project import

2008-07-08 Thread Patrick Robinson
I asked about this last week on the WOLips list, but that was maybe  
the wrong place.


I have eclipse 3.3.2 and the newest stable wolips (3.3.5311) on two  
machines (a powermac G5, and a Mac Book Pro), both still running Tiger.


I have a project on my G5 that I need to import into eclipse on my  
laptop, but the import operation fails - it throws a  
NullPointerException.  Subsequently, the project won't open; it just  
throws a different NPE.


There was a thread (That dreaded eclipse NPE again) on this list  
(around a month ago) about this issue, but there was no resolution.   
Has anyone else experienced this?  Would you think there's something  
strange about my project that's causing this?


Here's what appears in the exported Error Log from the failed import  
(I'll show the trace from the failed project open after that):


--
!ENTRY org.eclipse.core.resources 4 2 2008-07-08 22:16:02.020
!MESSAGE Problems occurred when invoking code from plug-in:  
org.eclipse.core.resources.

!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.compiler.util.HashtableOfObjectToInt.get 
(HashtableOfObjectToInt.java:71)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.saveNewId(JavaModelManager.java:3453)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.saveClasspathEntry 
(JavaModelManager.java:3407)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.saveClasspathEntries 
(JavaModelManager.java:3402)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.saveContainers 
(JavaModelManager.java:3444)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.saveProjects(JavaModelManager.java: 
3508)
	at org.eclipse.jdt.internal.core.JavaModelManager 
$VariablesAndContainersSaveHelper.save(JavaModelManager.java:3336)
	at  
org.eclipse.jdt.internal.core.JavaModelManager.saveVariablesAndContainer 
s(JavaModelManager.java:3239)
	at org.eclipse.jdt.internal.core.JavaModelManager.saving 
(JavaModelManager.java:3551)
	at org.eclipse.core.internal.resources.SaveManager.executeLifecycle 
(SaveManager.java:343)
	at org.eclipse.core.internal.resources.SaveManager$1.run 
(SaveManager.java:160)

at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.resources.SaveManager.broadcastLifecycle 
(SaveManager.java:163)
	at org.eclipse.core.internal.resources.SaveManager.save 
(SaveManager.java:982)
	at org.eclipse.core.internal.resources.DelayedSnapshotJob.run 
(DelayedSnapshotJob.java:44)

at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
--

And here's what I see when I try to open the project:

--
!ENTRY org.eclipse.jface 4 2 2008-07-08 22:16:39.697
!MESSAGE Problems occurred when invoking code from plug-in:  
org.eclipse.jface.

!STACK 0
java.lang.NullPointerException
	at  
org.eclipse.jdt.internal.ui.packageview.ClassPathContainer.getChildren 
(ClassPathContainer.java:138)
	at  
org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.g 
etContainerPackageFragmentRoots(PackageExplorerContentProvider.java:334)
	at  
org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.g 
etChildren(PackageExplorerContentProvider.java:269)
	at  
org.objectstyle.wolips.jdt.ui.WOPackageExplorerContentProvider.getChildr 
en(WOPackageExplorerContentProvider.java:105)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren 
(AbstractTreeViewer.java:1320)
	at org.eclipse.jface.viewers.TreeViewer.getRawChildren 
(TreeViewer.java:378)
	at  
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.hasFilteredChi 
ldren(ProblemTreeViewer.java:250)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart 
$PackageExplorerProblemTreeViewer.isFiltered(PackageExplorerPart.java: 
287)
	at org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.filter 
(ProblemTreeViewer.java:269)
	at  
org.eclipse.jdt.internal.ui.viewsupport.ProblemTreeViewer.getFilteredChi 
ldren(ProblemTreeViewer.java:258)
	at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren 
(AbstractTreeViewer.java:581)
	at org.eclipse.jface.viewers.AbstractTreeViewer$1.run 
(AbstractTreeViewer.java:778)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java: 
67)
	at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren 
(AbstractTreeViewer.java:755)
	at org.eclipse.jface.viewers.TreeViewer.createChildren 
(TreeViewer.java:627)
	at org.eclipse.jface.viewers.AbstractTreeViewer.setExpandedState 
(AbstractTreeViewer.java:2363)
	at  
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handl 
eDoubleClick(PackageExplorerActionGroup.java:299)
	at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart 
$4.doubleClick(PackageExplorerPart.java:607)
	at org.eclipse.jface.viewers.StructuredViewer$1.run 
(StructuredViewer.java:799)

at 

Re: Maven Optimism

2008-07-08 Thread Anjo Krank


Am 09.07.2008 um 02:05 schrieb Pierce T.Wetter III:

  To give you some examples, for the current Wonder Ant builds,  
between build.xml files, generic.xml, build.properties  
files, .classpath and .patternset files, there are 5320 lines of  
build configuration information in the current Wonder build. The  
equivalent pom files are 2447 lines, which is not only more  
efficient, but includes more information to help avoid the  
jarmeggedon/jarhell problem.


Rubbish.

First, the build files are *way* lighter:

macbook:build ak$ wc build-doc.xml build.xml default.properties ~/ 
Wonder/build.xml generic.xml

 158 3837291 build-doc.xml
 8142168   40453 build.xml
  23  64 524 default.properties
  88 2413358 /Volumes/Home/Wonder/build.xml
 5021547   24262 generic.xml
15854403   75888 total

All other files are simply a convenience in case some nut wants to  
build the individual jars. In particular, all individual build files  
are only symlinks to Build/build/build-type.xml and derive their  
values from a build.properties in that directory.


Also, you shouldn't *really* count the ~/Wonder/build.xml which is  
again only a convenience that allows you to build only the stages you  
want without using ant -f Build/build/generic.xml foo.bar foo.baz


These 1500 lines build *all* of Wonder in the way you specify, with  
the values you specify and the order you specify. *And* they allow you  
to specify your own builds with just a build property and a symlink to  
a build file. You could also use includes or or add your own  
customizations, but the tasks they do are very light.


Attached below is an example.

Second, the individual build files build way more projects:

macbook:Wonder ak$ find . -name build.xml|wc
  67  672775
macbook:Wonder ak$ find . -name pom.xml|wc
  56  562121

So while the difference is only 600 lines:

macbook:Wonder ak$ wc `find . -name pom.xml`|tail -1
21522438   66007 total

It's still more than zero (if someone would consider this a measure at  
all).


Thirdly from what I've seen, someone needs to change all these files  
whenever we bump a version. All of Ulrichs commits so far where these  
xml fixes. All *I* need to do is set one property.


Fourth, adding a project typically requires five lines in Build/build/ 
build.xml to add it to the correct group and some props. I might  
consider moving these props from the build file to a build.properties  
and making Build/build/build.xml only specify the inter-related deps.


I'll grant you one point for the commons-logging versions, but I use  
neither ERJGroups or EROpenID. If I were and I'd be bothered, I'd  
figure out a way to keep them using only one.


So far we've seen that maven is neither more terse nor more powerful  
(at least in a way that would mean something to me).


The other issues I have with it is that I actually *need* the  
flexibility in deployment structure. In some projects I *don't* want  
all-embedded builds as that stuff goes out of hand with 7 apps*all the  
frameworks. The resulting release tops 250M. So I want some of them  
embed only some jars. Show me how this works with maven *without*  
writing any goals or mojos.


So in summary, maven may or may not be nice. But I've been building  
Wonder with the build files for 7 years now and they haven't really  
changed a lot in this time. They do the roughly the same as some 20MB  
tool chain where you *still* have to write java plugins for.


I'll leave the conclusions to you.

Cheers, Anjo

Example:

project name=FrameworkBuild default=all basedir=.
xmlproperty file=.project/
property name=project.name value=${projectDescription.name} /
property file=build.properties /

target name=clean
ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

property name=build.action value=clean /
/ant
/target
target name=build
ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

property name=build.action value=build /
/ant
/target
target name=install
ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

property name=build.action value=install /
/ant
/target
target name=web
ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

property name=build.action value=web /
/ant
/target
target name=all depends=clean, build, install, web /
/project
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Maven Optimism

2008-07-08 Thread Anjo Krank


Am 09.07.2008 um 06:16 schrieb Anjo Krank:



Am 09.07.2008 um 02:05 schrieb Pierce T.Wetter III:

 To give you some examples, for the current Wonder Ant builds,  
between build.xml files, generic.xml, build.properties  
files, .classpath and .patternset files, there are 5320 lines of  
build configuration information in the current Wonder build. The  
equivalent pom files are 2447 lines, which is not only more  
efficient, but includes more information to help avoid the  
jarmeggedon/jarhell problem.


Rubbish.


Oh, I forgot: will someone please fix the maven descriptions so they  
dual-build Wonder with 5.4 and 5.3. I mean, like we're doing now?


:P

Cheers, Anjo
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Maven Optimism

2008-07-08 Thread Chuck Hill

Anjo: 1   Maven:  0

:-P


On Jul 8, 2008, at 9:16 PM, Anjo Krank wrote:



Am 09.07.2008 um 02:05 schrieb Pierce T.Wetter III:

 To give you some examples, for the current Wonder Ant builds,  
between build.xml files, generic.xml, build.properties  
files, .classpath and .patternset files, there are 5320 lines of  
build configuration information in the current Wonder build. The  
equivalent pom files are 2447 lines, which is not only more  
efficient, but includes more information to help avoid the  
jarmeggedon/jarhell problem.


Rubbish.

First, the build files are *way* lighter:

macbook:build ak$ wc build-doc.xml build.xml default.properties ~/ 
Wonder/build.xml generic.xml

158 3837291 build-doc.xml
8142168   40453 build.xml
 23  64 524 default.properties
 88 2413358 /Volumes/Home/Wonder/build.xml
5021547   24262 generic.xml
   15854403   75888 total

All other files are simply a convenience in case some nut wants to  
build the individual jars. In particular, all individual build files  
are only symlinks to Build/build/build-type.xml and derive their  
values from a build.properties in that directory.


Also, you shouldn't *really* count the ~/Wonder/build.xml which is  
again only a convenience that allows you to build only the stages  
you want without using ant -f Build/build/generic.xml foo.bar  
foo.baz


These 1500 lines build *all* of Wonder in the way you specify, with  
the values you specify and the order you specify. *And* they allow  
you to specify your own builds with just a build property and a  
symlink to a build file. You could also use includes or or add your  
own customizations, but the tasks they do are very light.


Attached below is an example.

Second, the individual build files build way more projects:

macbook:Wonder ak$ find . -name build.xml|wc
 67  672775
macbook:Wonder ak$ find . -name pom.xml|wc
 56  562121

So while the difference is only 600 lines:

macbook:Wonder ak$ wc `find . -name pom.xml`|tail -1
   21522438   66007 total

It's still more than zero (if someone would consider this a measure  
at all).


Thirdly from what I've seen, someone needs to change all these files  
whenever we bump a version. All of Ulrichs commits so far where  
these xml fixes. All *I* need to do is set one property.


Fourth, adding a project typically requires five lines in Build/ 
build/build.xml to add it to the correct group and some props. I  
might consider moving these props from the build file to a  
build.properties and making Build/build/build.xml only specify the  
inter-related deps.


I'll grant you one point for the commons-logging versions, but I use  
neither ERJGroups or EROpenID. If I were and I'd be bothered, I'd  
figure out a way to keep them using only one.


So far we've seen that maven is neither more terse nor more powerful  
(at least in a way that would mean something to me).


The other issues I have with it is that I actually *need* the  
flexibility in deployment structure. In some projects I *don't* want  
all-embedded builds as that stuff goes out of hand with 7 apps*all  
the frameworks. The resulting release tops 250M. So I want some of  
them embed only some jars. Show me how this works with maven  
*without* writing any goals or mojos.


So in summary, maven may or may not be nice. But I've been building  
Wonder with the build files for 7 years now and they haven't really  
changed a lot in this time. They do the roughly the same as some  
20MB tool chain where you *still* have to write java plugins for.


I'll leave the conclusions to you.

Cheers, Anjo

Example:

project name=FrameworkBuild default=all basedir=.
   xmlproperty file=.project/
   property name=project.name value=${projectDescription.name} /
   property file=build.properties /

   target name=clean
   ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

   property name=build.action value=clean /
   /ant
   /target
   target name=build
   ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

   property name=build.action value=build /
   /ant
   /target
   target name=install
   ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

   property name=build.action value=install /
   /ant
   /target
   target name=web
   ant antFile=Build/build/build.xml target=$ 
{project.name}.all dir=../../../

   property name=build.action value=web /
   /ant
   /target
   target name=all depends=clean, build, install, web /
/project
___
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:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [EMAIL PROTECTED]



--