From jdmv at mail.com Sat Jul 1 06:51:51 2000 From: jdmv at mail.com (Jean-Denis Muys-Vasovic) Date: Sat Jul 1 05:51:51 2000 Subject: C# vs Objective-C In-Reply-To: References: <3578268343.20000630175135@aresco.com> <03cc01bfe2d6$1a419e90$1501aa0a@seafax.com> Message-ID: At 18:20 -0500 6/30/00, Chris Hanson wrote: >At 4:59 PM -0400 6/30/00, Eric Hermanson wrote: >>The problem is that Apple is betting their future on a language >>(Java) which is immature, and at best has a 50/50 shot of surviving given >>the upcoming competiton. > >Who in this industry has the power to promote such a language? > >* Sun > >* Microsoft > >* AOL > >* Oracle (who has hitched their cart to Java for now) > >* IBM (who has hitched their cart to Java for now) > >* Apple (maybe, but they've hitched their cart to Java for now) Apple: probably not. Actually, Apple tried with Dylan. The Dylan project was started before Java became the craze. When the project was killed, the language design was complete, and there was an experimental implementation. Dylan, short for DYnamic LANguage, is a very high level language, very dynamic, yet designed to be easy to compile to efficient object code. It was also designed to support C-like syntaxes. It was inspired by LISP. The only that was missing, critical IMHO, is that it was not built around a virtual machine like Java. Before that, Apple took a minority share in General Magic, a company with a very ambitious project for a wide area network language called Telescript. This one was clearly ahead of its time. Back to the topic, I don't think any of the companies you listed has the power to impose a new language, with the possible exception of Microsoft. To make a success out of a programming language requires talent and luck, not power (usually: the C# attempt will prove me right or wrong). The academic community already imposed successful languages, many of which are from the Unix heritage (awk, sed, lex, yacc), but not always (Perl, Python). But all these languages, while successful, are not successful as general purpose programming languages. Jean-Denis > >* The free software community (where debates still rage about >whether object-oriented programming and graphical human interfaces >are good ideas) > >I don't think Apple has much to worry about with basing WebObjects on Java. > >-- >Chris Hanson >bDistributed.com, Inc. >cmh@bDistributed.com >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From george at xobox.com Sat Jul 1 09:50:34 2000 From: george at xobox.com (George) Date: Sat Jul 1 08:50:34 2000 Subject: popup window from browser? In-Reply-To: "Shannon Rundquist"'s message of "Fri, 30 Jun 2000 18:05:02 -0700" Message-ID: <200007011550.IAA14984@scyther.omnigroup.com> Charles, The only way I know to close a window is by using JavaScript. Close Window Take care, George Begin forwarded message: > From: clread@mindspring.com (Charles L. Read) > Date: 2000-07-01 00:27:16 -0400 > To: "Shannon Rundquist" > Subject: Re: popup window from browser? > Cc: > In-Reply-To: "Shannon Rundquist"'s message of "Fri, 30 Jun 2000 18:05:02 > -0700" > List-Id: Discussions of Apple's WebObjects > > X-Mailman-Version: 2.0beta3 > X-BeenThere: webobjects@omnigroup.com > X-Mailer: Gnus v5.6.45/Emacs 20.3 > Lines: 49 > > > Thanks! > > Once the window has popped up, is > there a way to close it from a link? > > > > > "Shannon Rundquist" writes: > > > Using target="_blank" in the .wod file on the link they click will bring > > up a new browser window. > > > > ----- Original Message ----- > > From: "Charles L. Read" > > To: > > Sent: Friday, June 30, 2000 3:38 PM > > Subject: popup window from browser? > > > > > > > > > > > > > Is there a WO component that will > > > cause a new window to be popped up > > > from your browser in order to display > > > some related content? > > > > > > > > > NOTE I've read the postings on `mouseover' > > > popups -- and that is not what I'm trying > > > to do. > > > > > > Regards, > > > Charlie > > > _______________________________________________ > > > WebObjects mailing list > > > WebObjects@omnigroup.com > > > http://www.omnigroup.com/mailman/listinfo/webobjects > > > > > > > _______________________________________________ > > WebObjects mailing list > > WebObjects@omnigroup.com > > http://www.omnigroup.com/mailman/listinfo/webobjects > > -- > Charles L. Read > PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects > > From kieren_macmillan at mac.com Sat Jul 1 10:32:56 2000 From: kieren_macmillan at mac.com (Kieren Richard MacMillan) Date: Sat Jul 1 09:32:56 2000 Subject: adding third-party classes (.jar, .zip, etc.) to a project Message-ID: Hello, all! In building my statistics program, rather than reinvent the wheel, I scoured the 'net and found the JSci.* classes, which include several necessary methods (e.g. Chi-Squared Distribution). Now I would like to add this set of classes to my WOProject. I've searched the archive, as well as read the article on the subject at . However, I still have questions, so I hope someone can help... 0. I think I have both .jar and .zip (source) files -- which is recommended? 1. My applet source is in Subproject --> ClientSideJava.subproj, but the classes are supposed to be put into Subproject --> CommonJava.subproj. Do imports across such path boundaries work automagically, or do I have to add the class to my ClientSideJava.subproj as well? 2. If I've followed the instruction in the TIL article (including setting the NSJavaUserPath in the CustomInfo.plist file and modifying the OTHER_CLASSPATH line in the Makefile.preamble file), is there anything to worry about when I move to deploy on another machine? 3. When I call the new method in my applet code, I get an error. Do I have to use "import JSci.maths.statistics.*" in my code, or should it be there automatically? 4. Any other words of advice? Thanks a (new Integer(1,000,000))!! Kieren. From Dave at Yost.com Sat Jul 1 11:41:43 2000 From: Dave at Yost.com (Dave Yost) Date: Sat Jul 1 10:41:43 2000 Subject: Weird problems with backtracked too far and session timed out Message-ID: --============_-1249649198==_ma============ Content-Type: text/plain; charset="us-ascii" ; format="flowed" $100 instant cash (PayPal) to the first person who helps me fix this. I'm doing standard stuff. nextPage = pageWithName("Page2"); return nextPage; The usual. Browser is IE 5.0.1 Windows NT sp6a. WO 4.5 unlimited. WO starts with Page1 OK via the usual mechanism of its name being invoked in defaultAction(). Page1 has a simple WOForm with one text field and a WOActiveImage button. Page2 has another one to Page3. Scenario 1 Enter some text on Page1. Click to Page2. You get to Page2 OK. Then when you click the image to get to Page3, WO gives the "you've backtracked too far" complaint. Weird. Then when you click the browser's back button the result looks OK. Scenario 2 Enter some text on Page1. Click to Page2. You get to Page2 OK. Click Browser's Back button. All looks well, but it isn't. Click again to Page2. Your session has timed out. Cache is 120 pages. Timeout is the default. Dave --============_-1249649198==_ma============ Content-Type: text/html; charset="us-ascii" Weird problems with backtracked too far and session ti
$100 instant cash (PayPal) to the first person who helps me fix this.

I'm doing standard stuff.
  nextPage = pageWithName("Page2");
  return nextPage;
The usual.  Browser is IE 5.0.1 Windows NT sp6a.  WO 4.5 unlimited.

WO starts with Page1 OK via the usual mechanism of its name being invoked in defaultAction().  Page1 has a simple WOForm with one text field and a WOActiveImage button.  Page2 has another one to Page3.

Scenario 1

Enter some text on Page1.  Click to Page2.  You get to Page2 OK.  Then when you click the image to get to Page3, WO gives the "you've backtracked too far" complaint.  Weird.  Then when you click the browser's back button the result looks OK.

Scenario 2

Enter some text on Page1.  Click to Page2.  You get to Page2 OK.  Click Browser's Back button.  All looks well, but it isn't.  Click again to Page2.  Your session has timed out.

Cache is 120 pages.  Timeout is the default.

Dave
--============_-1249649198==_ma============-- From bigdog at bulldogbeach.com Sat Jul 1 18:44:21 2000 From: bigdog at bulldogbeach.com (Gary Teter) Date: Sat Jul 1 17:44:21 2000 Subject: Multiple framework versions? Message-ID: I've got a WebObjects 4.5 application written in Java that's heavily dependent on some frameworks which are also written in Java, and I'd like to deploy multiple versions of the frameworks as I refine them. So I've got some hopefully easy-to-answer questions that I just can't find documentation on anywhere: Is framework versioning ("deploy as A/B/C") still broken on NT? On Solaris and OS X Server, is framework versioning broken with respect to finding resources within frameworks? In particular, I'm concerned about eomodels, but also web server resources, plists, etc. How do I tell an application that it should use version B of a framework instead of version A (or the current version)? Is it possible to version an application ("deploy as A/B/C")? ...Or should I just bite the bullet and rename my frameworks every single time I rev them? This is the worst possible option, of course, because I'll have to go through all my .wods and re-set the "framework" parameter on all my woimages, for example. :( -- Gary Teter, Big Dog Bulldog Beach Interactive http://www.bulldogbeach.com There's always an excuse, and it usually involves coffee. From clread at mindspring.com Sat Jul 1 20:16:07 2000 From: clread at mindspring.com (Charles L. Read) Date: Sat Jul 1 19:16:07 2000 Subject: EOKeyBinding warning - regarding capitalized key Message-ID: <878zvl4cqm.fsf@mindspring.com> I have a few `keys' (or instance variables) that start with a capital letter - Eg, CCName. When I compile the Java code containing these keys, I get the following warning: "EOKeyBinding Warning: .... was accessed using a capitalized key 'CCName'. Keys should normally start with a lowercase character. A typographical error like this could cause a crash or an infinite loop. ..." To Apple: isn't it just a bit extreme to program a software package to crash or enter into an infinite loop based on the case of an instance variable? Is this really something I should worry about? -- Charles L. Read PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 From rtthomas at mediaone.net Sat Jul 1 20:48:25 2000 From: rtthomas at mediaone.net (Todd Thomas) Date: Sat Jul 1 19:48:25 2000 Subject: Multiple framework versions? Message-ID: <200007020252.VAA01794@elmls01.ce.mediaone.net> HelveticaOn Saturday, July 1, 2000, at 07:43 = PM, Gary Teter wrote: I've got a WebObjects 4.5 application written in Java that's = heavily0000,0000,0000 dependent on some frameworks which are = also written in Java, and I'd like = to0000,0000,0000 deploy multiple versions of the = frameworks as I refine them. So I've = got0000,0000,0000 some hopefully easy-to-answer questions = that I just can't find = documentation0000,0000,0000 on = anywhere:0000,0000,0000 Is framework versioning ("deploy as = A/B/C") still broken on NT?0000,0000,0000 Can't answer this one.. On Solaris and OS X Server, is = framework versioning broken with = respect0000,0000,0000 to finding resources within frameworks? = In particular, I'm concerned = about0000,0000,0000 eomodels, but also web server = resources, plists, etc.0000,0000,0000 Or this one either...=20 How do I tell an application that = it should use version B of a = framework0000,0000,0000 instead of version A (or the current = version)?0000,0000,0000 It uses whatever version it was linked against when your app was built.. = in the AppKit.framework/AppKit if that's a symlink to = AppKit.framework/Versions/C/AppKit then that's what your app will use. Is it possible to version an = application ("deploy as = A/B/C")?0000,0000,0000 /Local/Applications/MyApp/Version_1.2/Blah.app /Local/Applications/MyApp/Version_1.3/Blah.app :-) ....Or should I just bite the bullet = and rename my frameworks every = single0000,0000,0000 time I rev them? This is the worst = possible option, of course, because = I'll0000,0000,0000 have to go through all my .wods and = re-set the "framework" parameter on = all0000,0000,0000 my woimages, for example. = :(0000,0000,0000 Where I used to work we had frameworks we deployed across OPENSTEP/Mach = and OPENSTEP/NT. For both OSes we used paths for versioning... So we had = something like: /Local/Library/Frameworks/MyStuff/Ver_01/MyFoundation.framework = Ver_01/MyAppKit.framework = Ver_02/MyFoundation.framework ...etc It worked well on both platforms and you don't have to play around with = major/minor version number framework stuff. I also think that would = solve any of the problems you listed above if they aren't already fixed = in 4.5. todd Lucida = Grande--- Todd = Thomas = rtthomas@= mediaone.net= From mgoodwin at mjgc.net Sat Jul 1 22:34:23 2000 From: mgoodwin at mjgc.net (Michael Goodwin) Date: Sat Jul 1 21:34:23 2000 Subject: Backtracked too far on "forward" links? Message-ID: <200007020434.VAA05161@scyther.omnigroup.com> I'm having the "You backtracked too far. The application backtracking limit of 30 has been exceeded." message on forward links. It can happen within 4 actions after starting the application (submit login, link, link, submit), so there couldn't be 30 queued up. What am I missing? Thanks! Michael From araxia at pacbell.net Sun Jul 2 00:09:51 2000 From: araxia at pacbell.net (Seth Milliken) Date: Sat Jul 1 23:09:51 2000 Subject: Unexplained Exception listed in Monitor log. In-Reply-To: <0006231623.AA087441@trinity.sunion.arizona.edu> References: <0006231623.AA087441@trinity.sunion.arizona.edu> Message-ID: Steve, FWIW, in a non-D2W WO 4.5 application I just deployed, I've been getting similar errors: *** -[NSConcreteMutableArray objectAtIndex:]: index (0) beyond bounds (0) Seth On 4:23 PM -0700, 6/23/00, steve stout wrote: >I have an app that uses D2W on WO 4.0.1 and I keep getting entries in the >Death/Exception log on Monitor like the one below: > >*** -[NSConcreteMutableArray objectAtIndex:]: index (7) beyond bounds (3) > >I'm only using NSMutableArrays in two places in my code and I can't seem to >throw the exception myself, but according to the Monitor log it happens >quite often. I was wondering if anyone knows if this is a bug in D2W. Or >is there some way that I can get more log info? -- _____________________________________________________ Seth Milliken araxia@pacbell.net San Francisco PGP Public Key Available _____________________________________________________ From devery at powerschool.com Sun Jul 2 06:42:36 2000 From: devery at powerschool.com (David K. Every) Date: Sun Jul 2 05:42:36 2000 Subject: Backtracked too far on "forward" links? In-Reply-To: <200007020434.VAA05161@scyther.omnigroup.com> Message-ID: on 7/1/00 9:37 PM, Michael Goodwin at mgoodwin@mjgc.net wrote: > I'm having the "You backtracked too far. The application backtracking > limit of 30 has been exceeded." message on forward links. It can happen > within 4 actions after starting the application (submit login, link, > link, submit), so there couldn't be 30 queued up. > > What am I missing? How many subcomponents on each page? Or are you using frames? (I'm just guessing there)... -- David K. Every www.MacKiDo.com From clread at mindspring.com Sun Jul 2 10:38:07 2000 From: clread at mindspring.com (Charles L. Read) Date: Sun Jul 2 09:38:07 2000 Subject: improve constructor for EOGenericRecord generated from EOModeler Message-ID: <87ya3k38tu.fsf@mindspring.com> One Entity in my EOModel is a `Customer'. The Java code auto-generated from the EOModeler supplies this constructor: public Customer() { super(); } So, elsewhere, when I decide to use a Customer object, the natural way to program is: declaration: protected Customer cust; creation: cust = new Customer(); That's what I would do in any normal Java programming environment. However, in WO 4.5, that is not good enough. Instead, you have to find the documentation for EOGenericRecord and there find the relevant specs for creating an instance of your Entity. So in my case, the creation code becomes: EOClassDescription description = EOClassDescription.classDescriptionForEntityName("Customer"); customer = (Customer)description.createInstanceWithEditingContext(null, null); Now, I will agree that this lends some flexibility to Entity-creation, but it is absolutely non-intuitive. Why can't someone at Apple simply add a (static) virtual constructor to the EOGenericRecord class? Just call it "EOGenericRecord.createEntity()", or whatever. Regards, -- Charles L. Read PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 From dneumann at apple.com Sun Jul 2 13:22:13 2000 From: dneumann at apple.com (David Neumann) Date: Sun Jul 2 12:22:13 2000 Subject: improve constructor for EOGenericRecord generated from EOModeler Message-ID: <200007021922.MAA12007@scv2.apple.com> The reason for the indirection in creating an EO instance vs. other objects is that many different entities might actually at runtime map to the exact same class. There is not a one-to-one class to entity thing here. So just creating an object isn't enough ... to tell the system what entity will manage its persistence. Anyway I always use DataSources to create objects. So whether it is an EOGenericRecrod or custom subclass, the creation in my code is always like this: obj = ds.createObject() If I start with EOGenericRecord and later move to using a custom subclass, my code doesn't have to change. Once you create a datasource you can leave it around and reuse it... Take a look at the costructor/class for EODatabaseDataSource. Also look at a convenience class called EOUtilities. d ---------- >From: clread@mindspring.com (Charles L. Read) >To: webobjects@omnigroup.com >Subject: improve constructor for EOGenericRecord generated from EOModeler >Date: Sun, Jul 2, 2000, 9:28 AM > > > One Entity in my EOModel is a `Customer'. > The Java code auto-generated from the EOModeler > supplies this constructor: > > public Customer() { > super(); > } > > So, elsewhere, when I decide to use a Customer > object, the natural way to program is: > > declaration: protected Customer cust; > > creation: cust = new Customer(); > > That's what I would do in any normal Java > programming environment. > > > However, in WO 4.5, that is not good enough. > Instead, you have to find the documentation > for EOGenericRecord and there find the relevant > specs for creating an instance of your Entity. > > So in my case, the creation code becomes: > > EOClassDescription description = > EOClassDescription.classDescriptionForEntityName("Customer"); > customer = (Customer)description.createInstanceWithEditingContext(null, null); > > > Now, I will agree that this lends some flexibility > to Entity-creation, but it is absolutely non-intuitive. > > > Why can't someone at Apple simply add a (static) > virtual constructor to the EOGenericRecord class? > Just call it "EOGenericRecord.createEntity()", or > whatever. > > > Regards, > -- > Charles L. Read > PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From michael at stb.nccom.com Sun Jul 2 13:32:40 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Sun Jul 2 12:32:40 2000 Subject: Weird problems with backtracked too far and session timed out References: Message-ID: <395F989E.699CFD42@getasia.com> That is weird. Hmm... > I'm doing standard stuff. > nextPage = pageWithName("Page2"); > return nextPage; > The usual. Browser is IE 5.0.1 Windows NT sp6a. WO 4.5 unlimited. > > WO starts with Page1 OK via the usual mechanism of its name being > invoked in defaultAction(). Page1 has a simple WOForm with one text > field and a WOActiveImage button. Page2 has another one to Page3. > > Scenario 1 > > Enter some text on Page1. Click to Page2. You get to Page2 OK. Then > when you click the image to get to Page3, WO gives the "you've > backtracked too far" complaint. Weird. Then when you click the > browser's back button the result looks OK. > > Scenario 2 > > Enter some text on Page1. Click to Page2. You get to Page2 OK. > Click Browser's Back button. All looks well, but it isn't. Click > again to Page2. Your session has timed out. > > Cache is 120 pages. Timeout is the default. First, I know it's not the nicest solution, but what happens if you drop the cache to zero? Other than that, did you install over 4.0? Michael From bigdog at bulldogbeach.com Sun Jul 2 13:46:02 2000 From: bigdog at bulldogbeach.com (Gary Teter) Date: Sun Jul 2 12:46:02 2000 Subject: improve constructor for EOGenericRecord generated from EOModeler In-Reply-To: <87ya3k38tu.fsf@mindspring.com> Message-ID: on 7/2/00 7:28 AM, Charles L. Read at clread@mindspring.com wrote: > One Entity in my EOModel is a `Customer'. > The Java code auto-generated from the EOModeler > supplies this constructor: > > public Customer() { > super(); > } > > So, elsewhere, when I decide to use a Customer > object, the natural way to program is: > > declaration: protected Customer cust; > > creation: cust = new Customer(); > > That's what I would do in any normal Java > programming environment. Actually this works fine. I use it all the time. But sometimes you won't know which class you need to create so you need to use the classDescription constructor method. For example, let's say you have a (contrived) inheritance hierarchy of objects like so: Person (abstract) Customer (concrete) Employee (concrete) Address (abstract) CustomerAddress (concrete) EmployeeAddress (concrete) And Person has a to-many relationship defined to Address. Now let's say you want to write a generic routine in your control layer that adds an Address to a Person object. You could do it this way: public WOComponent addAddressToPerson() { if (person() instanceof Customer) { CustomerAddress address = new CustomerAddress(); session().defaultEditingContext().insertObject(address); // add to both sides of relationship, etc. } else if (person() instanceof Employee) { EmployeeAddress address = new EmployeeAddress(); // etc. } // etc. } but it's easier to do it this way (and you don't have to update your code when you add a new subclass of Person): public WOComponent addAddressToPerson() { EOClassDescription classDescription = person().classDescriptionForDestinationKey("addresses"); EOEnterpriseObject address = classDescription.createInstanceWithEditingContext(null,null); session().defaultEditingContext().insertObject(address); person().addObjectToBothSidesOfRelationshipWithKey( address,"addresses"); // etc. } -- Gary Teter, Big Dog Bulldog Beach Interactive http://www.bulldogbeach.com There's always an excuse, and it usually involves coffee. From michael at stb.nccom.com Sun Jul 2 13:46:33 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Sun Jul 2 12:46:33 2000 Subject: Now that's what I call a sticky situation! References: <200006292044.NAA03842@holly.hexdreams.com> Message-ID: <395F9BE0.E56F8E52@getasia.com> Kenny Leung wrote: > > Hi Micheal > > > If the update is done with takeStoredValue, then this probably isn't a > > good idea (overhead). > > If it's done with takeValue, then this is ok. > > > > What you need to do is implement a new takeValue that compares the > > incoming array with the existing array, and modifies it piece by piece. > > The problem is that when updating to-many relationships, EOF does > NOT set and reset the entire relationship. Instead it just swizzles > the objects contained inside it. Then perhaps I'm missing something -- wasn't this exactly what was wanted? > > > I think the real solution would be to fix keyValueCoding to use the > > > addTo... and removeFrom... methods for to-many's, but does anybody > > > have a solution to this? > > > > Odd -- on the EOF group, the idea/conclusion was to use 'valueForKey:' > > and 'addObject:toBothSidesOfRelationshipWithKey:' as the low level > > primitives to avoid any problems with key/value and relationships. > > You can't really override > addObject:toBothSidesOfRelationshipWithKey: because you don't know > which object it will be called on -- the one in question, or the one > on the opposite side of the relationship. > > -Kenny The idea here isn't so much that you override addObject:toBothSidesOfRelationshipWithKey:, but that you use it instead of using takeValue:forKey:. It correctly handles the case of removing an object out of one relationship and putting it into another. If I have a to many with a to-one inverse, and if I have object X <=> collection C1, and then move it into collection C2, the [C2 addObject: X toBothSidesOfRelationshipWithKey: @"key"] call will add X to C2's array, point X back to C2, see that X was pointing to C1 before, and then remove it from the C1 array. AddObject:... works fine even down to a simple non-relationship key, as it does everything in terms of takeValue... . Incidently, the documentation states that the addObject:toPropertyWithKey and removeObject:... calls use the addTo... and removeFrom... methods, just like the original poster wanted. From sb at well.com Sun Jul 2 15:49:31 2000 From: sb at well.com (Stefan Berreth) Date: Sun Jul 2 14:49:31 2000 Subject: custom EOFaultHandler - howto? Message-ID: dear all, I am trying to figure out how to write an own EOFaulthandler and register it with my own EO class so i can control what happens when -completeInitializationOfObject: is messaged to the EOFault object that corresponds to my EO class. Could anybody familiar with that mechanism possible let me know how to approach this? Maybe with some few lines of pseudo-code? I have been reading the documentation for EOFault and EOFaultHandler for some time already and it smells as if all i need to know is written there already - but I still don't see what i have to do. It is still unclear to me how I would tell EOF it should use my newly written EOFaulaultHandler subclass when turning my specific EO class instance into an EOFault. Thanks a lot - Stefan PS: Some background: I ran into this challange while researching the behaviour of the LDAPAdaptor example that came with (WO)EOF 4.5. I have created a small test project with two models, one with an adaptor for an ORACLE DRBMS and the other one to an ORACLELDAP server. When I try to traverse a relationship (to many) from an entity on the RDBMS model to an entity in the LDAP model i run into an exception that advised me to implement -[EOAccessDeferredFaultHandler completeInitialisationOfObject:] . This is what I am trying to achieve now. s t e f a n . b e r r e t h - sb@well.com pgp key fingerprint: AB14 A3F2 E163 ADA2 6444 9AC6 2942 518E 3F78 4FAF pgp = pretty good privacy, see http://www.pgpi.org/ From clread at mindspring.com Sun Jul 2 16:57:21 2000 From: clread at mindspring.com (Charles L. Read) Date: Sun Jul 2 15:57:21 2000 Subject: saving to DB -- saveChanges() Message-ID: <87r99c2r9s.fsf@mindspring.com> I have a Customer class (in Java) that corresponds to an Entity (of the same name) in my EOModel. In one component, I bind several properties to elements in the GUI. When the user presses submit, the WO app saves these properties to the DB, in the usual way: session().defaultEditingContext().saveChanges(); Unfortunately, no new record is created in the DB table, according to the data viewer from the EOModel, the off-line sql interpreter (using `select * from Customer'), or the FrontBase content editor. This particular component is not using WODisplayGroups, so that is not an issue here. Any ideas why the saveChanges() is not working? [NOTE I have verified that the DB is read/write, so it does not appear to be a permissions problem.] -- Charles L. Read PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 From axislux at pacbell.net Sun Jul 2 19:21:06 2000 From: axislux at pacbell.net (Joshua 'Tool User' Marker) Date: Sun Jul 2 18:21:06 2000 Subject: Accessing elements of Session.java In-Reply-To: <39539AA6.5B3745CD@apple.com> Message-ID: We make an abstract superclass (MyWoComponent.java) and have all our components descend from it. It includes: private Session mySession() { return (Session) session(); } The win here is that mySession shows up in WOB, allowing access to session methods and variables from within that app. This is slightly less obnoxious than littering my code with ((Session)session()).mySessionMethod(foo, bar); all the time. I still feel dirty, but. . . you gotta love java! (Why do ya gotta? 'cause it's the only show in town!) You see, session() returns the WOSession, and you need to cast (a java term - it makes your code feel not unlike a fractured, twisted limb; hence 'cast') the returned object to Session 'cause java is a bit nervous about trying out methods willy-nilly on objects it's not sure can take it. -j (who has been writing ObjC again lately -- did you guess?) on 12/24/99 10:29 AM, david m. richter at drichter@apple.com wrote: >> I have added some variables to Session.java with hopes that they would >> be global to all screens in a project. The screen designer uses these >> variables just fine. My problem is--how do you access these variables >> from a different java file (for example Main.java). If I use (Session) >> this.session(), it doesn't work. All of my custom variables come back >> as null since this.session returns type WOSession, not Session. >> > > Hi there, > That's a good question; what you want to do is make sure that > you can get at those custom variables, obviously. For this, make > sure that your cast is working properly--check out how you used > it. For instance, if you're in a given different .java file (say, > MyCustomComponent.java) and you want access to some String > in that's in the session (and has the appropriate accessor), you'd say: > ... > Session s = (Session)session(); > String localString = s.sessionString(); > ... > You already seem to know that a given WOComponent will > know how to give you back a reference to its current Session > instance, and you can read a bit more about it in WOInfoCenter > or the JavaBrower. `this' isn't needed. From mgoodwin at mjgc.net Sun Jul 2 23:37:42 2000 From: mgoodwin at mjgc.net (Michael Goodwin) Date: Sun Jul 2 22:37:42 2000 Subject: saving to DB -- saveChanges() Message-ID: <200007030537.WAA15846@scyther.omnigroup.com> Charles, I'm just learning this myself, but in my project I added: session().defaultEditingContext().insertObject(); prior to the saveChanges() call. I currently have it in the action member from the calling page which handles the "new" selection. This may need to go in the actual "save" action member along with the saveChanges() call to avoid saving extra records, but I haven't gotten that far yet. Right now, it's saving the records though.... Hope this helps! Michael 7/2/00 1:47 PM Charles L. Read > >I have a Customer class (in Java) that corresponds >to an Entity (of the same name) in my EOModel. > >In one component, I bind several properties to >elements in the GUI. When the user presses submit, >the WO app saves these properties to the DB, in >the usual way: > > session().defaultEditingContext().saveChanges(); > >Unfortunately, no new record is created in the >DB table, according to the data viewer from the >EOModel, the off-line sql interpreter (using >`select * from Customer'), or the FrontBase >content editor. > >This particular component is not using WODisplayGroups, >so that is not an issue here. > >Any ideas why the saveChanges() is not working? > > >[NOTE I have verified that the DB is read/write, >so it does not appear to be a permissions problem.] > >-- >Charles L. Read >PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From info at selbstdenker.de Mon Jul 3 00:37:35 2000 From: info at selbstdenker.de (=?ISO-8859-1?Q?Stephan=20F=FCrnrohr?=) Date: Sun Jul 2 23:37:35 2000 Subject: [OT] Auto restart OSX Server after power failure?? In-Reply-To: <200006301418.KAA11813@mail.byte-productions.com> References: <200006301418.KAA11813@mail.byte-productions.com> Message-ID: <20000703063829.27791@smtp.www-service.de> On Fre, 30. Jun 2000, Rob Vezina wrote: >Is there a setting in OSX Server that will restart the box after a power >failure like there is in OS9?? Hi! It worked when we started the server into "normal" MacOS (all our MacOSXSs have a little partition with MacOS 8.6 or so) and set the preferences in the Energy-Saver (?) controlpanel. (There is a menu in the menubar where you can set your server-preferences). Ciao, Stephan -- STEPHAN SELBSTDENKER Kommunikationsdesign - Grafik - Fotografie Tel.: 0941 - 5839195 E-mail: stephan@selbstdenker.de Web: http://www.selbstdenker.de From carlos.gonzalez at bancoval.es Mon Jul 3 02:46:48 2000 From: carlos.gonzalez at bancoval.es (Carlos Gonzalez Sanchez) Date: Mon Jul 3 01:46:48 2000 Subject: Cannot connect to Sybase Message-ID: <3960527A.DA51C2B9@bancoval.es> I have made the deployment of a very simple WebObjects Application that should access to a Sybase database. Development machine is NT, and deployment is HP-UX. I compiled the application with "make install", following the instructions of linking statically the Sybase libs. with it. I created an instance of it with Monitor, executed and it has to make to connection in order to retrieve a result set, it fails with the following exception: Error: EOGeneralAdaptorException Reason: Exception occured while evaluating xxxxxDisplayGroup.qualifyDataSource', on target:
: Sybase: ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failed Socket connect failed - errno 0 It seems like it does not find the database server machine. Maybe it is just a problem of environment variables. I tried almost everything with no luck. ¿Can anybody help me? Thanks From cnyap at imageres.demon.co.uk Mon Jul 3 03:44:09 2000 From: cnyap at imageres.demon.co.uk (Chih Nam Yap) Date: Mon Jul 3 02:44:09 2000 Subject: Deployment issue, please advise Message-ID: <012101bfe4d3$2680c970$2d01a8c0@tech3> Hi there, We are going to deploy our product to our first customer. Can anyone tell us what files should be deleted once our product is deployed. Currently, we think we should delete all the .java files, is there any other kind of files we should delete. Thanks. Chih Nam Yap ************************************************ The information in this e-mail (which includes any files transmitted with it) is confidential and may also be legally privileged. It is intended for the addressee only. Access to this e-mail by anyone else is unauthorised. It is not to be relied upon by any person other than the addressee except with our prior written approval. If no such approval is given, we will not accept any liability (in negligence or otherwise) arising from any third party acting, or refraining from acting, on such information. Unauthorised recipients are required to maintain confidentiality. If you have received this e-mail in error please notify us immediately, destroy any copies and delete it from your computer system. Any use, dissemination, forwarding, printing or copying of this e-mail is prohibited. Copyright in this e-mail and any document created by us and sent as an attachment to this e-mail will be and remain vested in us and will not be transferred to you. We assert the right to be identified as the author of and to object to any misuses of the contents of this e-mail or such documents. Whilst we run anti-virus software on all internet e-mails we are not liable for any loss or damage. The recipient is advised to run their own anti-virus software. Nothing in this e-mail or any attachment shall be an acceptance of any offer previously made nor shall be itself an offer capable of acceptance to form a legally binding contract *********************************************** From mmalc at stepwise.com Mon Jul 3 03:50:55 2000 From: mmalc at stepwise.com (mmalcolm crawford) Date: Mon Jul 3 02:50:55 2000 Subject: EOKeyBinding warning - regarding capitalized key In-Reply-To: <878zvl4cqm.fsf@mindspring.com> Message-ID: Charles L. Read wrote: > To Apple: isn't it just a bit extreme to program a software > package to crash or enter into an infinite loop based > on the case of an instance variable? > (Obviously not replying on Apple's behalf...) Given the flexibility you get when you adopt the convention, no, not really. > Is this really something I should worry about? > Yes. mmalc. From mmalc at stepwise.com Mon Jul 3 03:53:31 2000 From: mmalc at stepwise.com (mmalcolm crawford) Date: Mon Jul 3 02:53:31 2000 Subject: Problem saving information In-Reply-To: <200007010040.RAA24587@scyther.omnigroup.com> Message-ID: Michael Goodwin wrote: > I'm getting an EOGeneralAdaptorException in my application when I try to > save new or updated records to the underlying database. > Inserts and updates result in an EOAdaptorOptimisticLockingFailure. This > had been working, and I haven't made any configuration or other changes > that would have caused this. > Restarting the application, and rebooting the machine won't clear it up. > Have you toggled any of the conflict detection switches (the things that look like handbags, or locks) in your EOModel? In particular the one for the primary key? Or unset the primary key? mmalc. From mmalc at stepwise.com Mon Jul 3 03:58:34 2000 From: mmalc at stepwise.com (mmalcolm crawford) Date: Mon Jul 3 02:58:34 2000 Subject: saving to DB -- saveChanges() In-Reply-To: <87r99c2r9s.fsf@mindspring.com> Message-ID: Charles L. Read wrote: > session().defaultEditingContext().saveChanges(); > Unfortunately, no new record is created in the > DB table > Have you inserted the new objects into the editing context? When you're beginning with EOF it's usually safest if you always pair EO creation with EO insertion, just so you know you've done exactly the right thing. EOEnterpriseObject newCustomer = new Customer(); theEditingContextWhereverItComesFrom_probablyTheSessionsDefaultEC. insertObject(newCustomer); mmalc. From Alexander.Lamb at dim.hcuge.ch Mon Jul 3 04:27:58 2000 From: Alexander.Lamb at dim.hcuge.ch (Alexander Lamb) Date: Mon Jul 3 03:27:58 2000 Subject: Discussion about characters encoding, Java and XML parsing Message-ID: <00ac01bfe4d8$ed9ab070$a81ec381@CIHDM50> Hello list, I thought I would let this list share something I partly solved this morning. It is the issue of sending non ASCII characters through HTTP to be decoded by the XML decoder on a server application. The situation is: I have a WO application which listens to DirectAction calls which simply are logs from other apps (WO or not) sent in XML format. I decode the XML using the WOXMLDecoder and a mapping model and insert the message into a database. Simple? Well, yes until I realized the decoder would raise an exception when reading esoteric characters such as "é" or "à" :-) To send the message (from a WO Java app) I was doing: String message = logCoder.encodeRootObjectForKey(values, "LOG"); this gave me a String sometimes containing non ASCII characters. Then I converted it to an NSData: NSData requestContent = new NSData(message.getBytes()); Then I open a connection and send the whole thing: WOHTTPConnection connection = new WOHTTPConnection(serverName, serverPort); WORequest request = new WORequest("POST", serverAction, httpVersion, null, requestContent, null); On the receiving side (in my DirectAction) I did: NSData logContent = this.request().content(); message = myDecoder.decodeRootObject(logContent); Well, this works fine until you send those non ASCII characters :-) At which point the decoder raises a message! So, I started looking into character encoding, and found that on the Java side, you could ask for the bytes of a String specifying an encoding. However, IMPOSSIBLE to find anywhere in the Java documentation the list of available encodings. Therefore, I simply tried with the following: NSData requestContent = new NSData(message.getBytes("Unicode")); And guess what... it worked! The rest of the code could stay the same. It sort of recognizes on the decoding side that the NSData in the message content is actually Unicode and not plain ASCII, even though I didn't append somehing like: In my XML stream. Am I the first one on this list to have trouble with encoding? Is there some documentation somewhere which would summarize better what I simply discovered through trial and error? In perticular: - Where can I find the list of available encodings in Java (the actual name Java uses, for example "Unicode"). - Is it necessary to encode in Unicode since our language here will be French, maybe UTF8 should be enough? - Do the WOXMLCoder WOXMLDecoder use the encoding and xml version given on the first line of an XML stream? How does the decoder know what encoding is used? Alexander ________________________________ Alexander Lamb Groupe Serveurs Applicatifs Division d'Informatique Médicale Hôpitaux Universitaires de Genève alamb@dim.hcuge.ch +41-22-372-48-46 From gregory.bernard at groupemultimedia.com Mon Jul 3 06:40:14 2000 From: gregory.bernard at groupemultimedia.com (Gregory Bernard) Date: Mon Jul 3 05:40:14 2000 Subject: How to reference a WO website ? Message-ID: Dear users, How would you proceed to reference a web site that uses WebObjects ? The first page of our site is dynamicŠ  We've got problem to have a high ranking level on the various search engines. Any idea will be welcome. ________________________________________________ «?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Grégory Bernard 10, rue vauvilliers Directeur Internet 75001 Paris France Groupe Multimédia tel : +(33) 1 40 26 79 85 ________________________________________________ «?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ From sb at well.com Mon Jul 3 06:51:29 2000 From: sb at well.com (Stefan Berreth) Date: Mon Jul 3 05:51:29 2000 Subject: How to reference a WO website ? In-Reply-To: References: Message-ID: *This message was transferred with a trial version of CommuniGate(tm) Pro* The german company Conrad (http://www.condat.de) once had a framework that helped web spiders to traverse a WO generated website and reference it the right way. However, i haven'd tried it out myself. You might want to have a look at that. It's called WoFindMe. See: http://www.condat.de/english/produkte/wo_find_me.shtml - Stefan >Dear users, > > >How would you proceed to reference a web site that uses WebObjects ? > >The first page of our site is dynamicŠ > >We've got problem to have a high ranking level on the various search >engines. > > >Any idea will be welcome. > >________________________________________________ >«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ >¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ >Grégory Bernard 10, rue vauvilliers >Directeur Internet 75001 Paris France >Groupe Multimédia tel : +(33) 1 40 26 79 85 >________________________________________________ >«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ >¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ > >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects s t e f a n . b e r r e t h - sb@well.com pgp key fingerprint: AB14 A3F2 E163 ADA2 6444 9AC6 2942 518E 3F78 4FAF pgp = pretty good privacy, see http://www.pgpi.org/ From fischer at kraftup.com Mon Jul 3 07:40:04 2000 From: fischer at kraftup.com (Ingo Fischer) Date: Mon Jul 3 06:40:04 2000 Subject: save decimal number to oracle db Message-ID: <396097ED.1DB085A3@kraftup.com> Hello, I try to enter a decimal number in a oracle db. I use BigDecimal and I set the scale to two. In the model I choosed External Type : Number Internal Type : Decimal Number External Precision : 6 External Scale : 2 The SQL-Statement is: Number(6,2). If I save a number (e.g. 4.15 ) to the db, the error 'Invalid Value' comes up. Where is the error? How can I save a number like 4.15 to an oracle db? Thanks a lot Ingo From fischer at kraftup.com Mon Jul 3 07:40:16 2000 From: fischer at kraftup.com (Ingo Fischer) Date: Mon Jul 3 06:40:16 2000 Subject: save decimal number to oracle db Message-ID: <396097F9.50B8AC5D@kraftup.com> Hello, I try to enter a decimal number in a oracle db. I use BigDecimal and I set the scale to two. In the model I choosed External Type : Number Internal Type : Decimal Number External Precision : 6 External Scale : 2 The SQL-Statement is: Number(6,2). If I save a number (e.g. 4.15 ) to the db, the error 'Invalid Value' comes up. Where is the error? How can I save a number like 4.15 to an oracle db? Thanks a lot Ingo From fischer at kraftup.com Mon Jul 3 07:44:27 2000 From: fischer at kraftup.com (Ingo Fischer) Date: Mon Jul 3 06:44:27 2000 Subject: save decimal number to oracle db Message-ID: <396098F7.E3D2F67E@kraftup.com> Hello, I try to enter a decimal number in a oracle db. I use BigDecimal and I set the scale to two. In the model I choosed External Type : Number Internal Type : Decimal Number External Precision : 6 External Scale : 2 The SQL-Statement is: Number(6,2). If I save a number (e.g. 4.15 ) to the db, the error 'Invalid Value' comes up. Where is the error? How can I save a number like 4.15 to an oracle db? Thanks a lot Ingo From carlos.gonzalez at bancoval.es Mon Jul 3 08:05:58 2000 From: carlos.gonzalez at bancoval.es (Carlos Gonzalez Sanchez) Date: Mon Jul 3 07:05:58 2000 Subject: Cannot connect to Sybase References: <3960527A.DA51C2B9@bancoval.es> <200007030915.AA19119@onestep.co.uk> Message-ID: <39609D3E.E15055FC@bancoval.es> I actually can connect using isql from the deployment machine. And the connection dictionary has a hostname that is included in the "interfaces" file of Sybase. For some reason, I think WebObjects does not reach the interfaces file. But I have the SYBASE_HOME variable pointing to the right path. ¿What else can I try? David Andrew Knight wrote: > Hi, > > You wrote: > > Error: > > EOGeneralAdaptorException > > Reason: > > Exception occured while evaluating > > xxxxxDisplayGroup.qualifyDataSource', on target:
: > > Sybase: ct_connect(): network packet layer: internal net library > > error: Net-Lib protocol driver call to connect two endpoints failed > > Socket connect failed - errno 0 > > Have you actually tested you can connect to the database server from the > deployment machine ?, using isql or something. > > Once you can prove the machine can connect to the database server you should > then check the EOModel, is the connection dictionary correct, maybe the > machine had an alias under NT that is not available on the HP system. > > --- > Regards David Knight | OneStep Solutions Plc | Solutions > | | Workstations > Innovative Solutions | UK phone: 01702 426400 | Servers > For MacOS X, Windows NT | fax: 01702 426420 | Security > OPENSTEP and Solaris | Int'l prefix: +44 1702 | Networks > using Yellow Box and | | Maintenance > WebObjects technologies | http://www.onestep.co.uk | Support From Filippo.Macchiettini at concept.it Mon Jul 3 08:53:45 2000 From: Filippo.Macchiettini at concept.it (Filippo Macchiettini) Date: Mon Jul 3 07:53:45 2000 Subject: NSGregorianDate gregorianUnitsSinceDate() problem in Java Message-ID: <200007031453.QAA10870@mindseal.comm2000.it> Hi, I have this strange problem with NSGregorianDate.gregorianUnitsSinceDate() in java on MacOSX: I compute the difference between two dates in days with these lines of code: NSGregorianDate myStartDate // assume this exists NSGregorianDate myStopDate // assume this exists NSGregorianDate.IntRef gregorianDays=new NSGregorianDate.IntRef(); myStopDate.gregorianUnitsSinceDate(myStartDate, null, null, gregorianDays,null, null, null); and it works fine if the difference is, let's say, less than 100 days (or something like that). If the difference is more than 100 days (or something like that:) the gregorianUnitsSinceDate() method hangs and, after a bit, the MacOSX starts swapping, as it was recursively calling something. But if I insert an object to store the difference in months: NSGregorianDate.IntRef gregorianMonths=new NSGregorianDate.IntRef(); myStartDate.gregorianUnitsSinceDate(myStopDate, null, gregorianMonths, gregorianDays,null, null, null); everything works fine. any clue? bye Filippo From jon at holicow.com Mon Jul 3 09:03:52 2000 From: jon at holicow.com (Jon Nolan) Date: Mon Jul 3 08:03:52 2000 Subject: EOKeyBinding warning - regarding capitalized key In-Reply-To: References: <878zvl4cqm.fsf@mindspring.com> Message-ID: >Charles L. Read wrote: > >> To Apple: isn't it just a bit extreme to program a software >> package to crash or enter into an infinite loop based >> on the case of an instance variable? My *guess* is that is has something to do with key value coding mechanisms possibly creating an infinite loop. I don't know exactly how but I'd count on the fact that the warning isn't just there to bug you. If you feel your code is safe in this regard there is a WOApplication method that will suppress the warnings. See the 4.5 release notes. Jon Nolan Web Dynamics, Inc. 476 Heritage Park Blvd., Suite 215 Layton, Utah 84041 Phone: 801-927-1008 Email: jon@holicow.com From joh2002 at med.cornell.edu Mon Jul 3 09:12:09 2000 From: joh2002 at med.cornell.edu (John Huang) Date: Mon Jul 3 08:12:09 2000 Subject: EOKeyBinding warning - regarding capitalized key In-Reply-To: References: <878zvl4cqm.fsf@mindspring.com> Message-ID: <4.2.0.58.20000702110844.00a3ae10@pop.med.cornell.edu> I also get this warning when I call the REPORTMILL API functions to get the data for my report. I put this line EOKeyValueCoding.KeyBinding.suppressCapitalizedKeyWarning(); in applcation.java. I am not sure if it is safe to prevent my application from carshing or entering an infinite loop. Any hint. John At 09:03 AM 7/3/00 -0600, Jon Nolan wrote: > >Charles L. Read wrote: > > > >> To Apple: isn't it just a bit extreme to program a software > >> package to crash or enter into an infinite loop based > >> on the case of an instance variable? > >My *guess* is that is has something to do with key value coding mechanisms >possibly creating an infinite loop. I don't know exactly how but I'd count >on the fact that the warning isn't just there to bug you. If you feel your >code is safe in this regard there is a WOApplication method that will >suppress the warnings. See the 4.5 release notes. > >Jon Nolan > >Web Dynamics, Inc. >476 Heritage Park Blvd., Suite 215 >Layton, Utah 84041 >Phone: 801-927-1008 >Email: jon@holicow.com >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From clread at mindspring.com Mon Jul 3 09:41:04 2000 From: clread at mindspring.com (Charles L. Read) Date: Mon Jul 3 08:41:04 2000 Subject: core dump - related to setup for WODisplayGroups? Message-ID: <873dlr2vdf.fsf@mindspring.com> I have the following Main.java program (appended beneath). I have streamlined parts that I believe are not relevant. Observations: 0. The WODisplayGroups here fetch from a `Product' table. 1. In setupAccountInfo(), if I comment out the call to session().defaultEditingContext().insertObject(customer); things work ok, but in the CustomerAccountInfo component, changes to the Customer object are not saved when I call session().defaultEditingContext().saveChanges(); 2. If I comment out reference to the category1 WODispayGroup (ie, the code where category1 products are fetched), but execute the line session().defaultEditingContext().insertObject(customer); then things work ok. IE, changes to the Customer are object are saved. (Of course, we no longer have available references to the category1 products...) 3. The problem: if I run everything as is -- in particular, as soon as the 2nd WODisplayGroup, category1, enters into the code, the WO app dumps core as soon as the action method setupAccountInfo() is invoked. Inserting debugString()'s shows that setupAccountInfo() actually completes. So, I am suspicious there the coredump happens somewhere in the initialization for CustomerAccountInfo. Questions: A. Why should the call to session().defaultEditingContext().insertObject(customer); trigger a coredump? Eg, if that line is absent, things work ok (though nothing is saved to DB). B. When fetching N WODisplayGroups from the same table, is there any special work you need to do to setup the table before re-fetching for each new WODisplayGroup? Thanks! Charlie -- public class Main extends WOComponent { /** @TypeInfo Product */ protected Product product; // Holds list of products that customer has checked. protected NSMutableSet productCheckedList; // We create a display group for each category of product. protected WODisplayGroup category0DisplayGroup; protected WODisplayGroup category1DisplayGroup; public Main() { super(); category0DisplayGroup.setDelegate(new ProductDelegate("Product", "category", EOQualifier.QualifierOperatorLike, new String("Category0*"))); category0DisplayGroup.fetch(); category1DisplayGroup.setDelegate(new ProductDelegate("Product", "category", EOQualifier.QualifierOperatorLike, new String("Category1*"))); category1DisplayGroup.fetch(); } public Product product() { return product; } public void setProduct(Product p) { product = p; } public CustomerAccountInfo setupAccountInfo() { Customer customer = new Customer(); session().defaultEditingContext().insertObject(customer); CustomerAccountInfo nextPage = (CustomerAccountInfo)pageWithName("CustomerAccountInfo"); // Initialize your component here nextPage.setCustomer(customer); return nextPage; } } From mario at cyantic.com Mon Jul 3 09:46:33 2000 From: mario at cyantic.com (Mario Ruggiero) Date: Mon Jul 3 08:46:33 2000 Subject: NSGregorianDate gregorianUnitsSinceDate() problem in Java In-Reply-To: <200007031453.QAA10870@mindseal.comm2000.it> References: <200007031453.QAA10870@mindseal.comm2000.it> Message-ID: <200007031546.LAA08312@persepolis.cyantic.com> We have encountered a number of problems in NSGregorianDate where the code appears to go into an infinite loop, leaking significant amounts of memory in each iteration. This usually occurs when the date is near a daylight savings time change, but not necessarily at the date of the change. We have not found any way to avoid the problem, other than to not use the offending methods. We also saw a similar problem in dateByAddingGregorianUnits. The problem was supposed to have been fixed in 4.5, but we have seen it even in that release. Mario Ruggiero Cyantic Systems Corp. Filippo Macchiettini wrote: > I have this strange problem with > NSGregorianDate.gregorianUnitsSinceDate() in java on MacOSX: > > I compute the difference between two dates in days with these lines > of code: > > > NSGregorianDate myStartDate // assume this exists > NSGregorianDate myStopDate // assume this exists > > NSGregorianDate.IntRef gregorianDays=new NSGregorianDate.IntRef(); > > myStopDate.gregorianUnitsSinceDate(myStartDate, null, null, > gregorianDays,null, null, null); > > > and it works fine if the difference is, let's say, less than 100 > days (or something like that). > If the difference is more than 100 days (or something like that:) > the gregorianUnitsSinceDate() > method hangs and, after a bit, the MacOSX starts swapping, as it was > recursively calling > something. > > But if I insert an object to store the difference in months: > > NSGregorianDate.IntRef gregorianMonths=new > NSGregorianDate.IntRef(); > > myStartDate.gregorianUnitsSinceDate(myStopDate, null, > gregorianMonths, gregorianDays,null, null, null); > > > everything works fine. > > > any clue? > > bye Filippo > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > Message-ID: <3960B6C5.CBA82CAA@getasia.com> Ok, what is gained by using this convention? Keep in mind that previously, every table I've built has used IDFoo for the keys for table Foo. This has the advantage that all of the keys (primary, foreign, etc) get placed together. They normally are not class properties, but every once in a while, ... mmalcolm crawford wrote: > > Charles L. Read wrote: > > > To Apple: isn't it just a bit extreme to program a software > > package to crash or enter into an infinite loop based > > on the case of an instance variable? > > > (Obviously not replying on Apple's behalf...) > > Given the flexibility you get when you adopt the convention, no, not really. > > > Is this really something I should worry about? > > > Yes. > > mmalc. > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From j-rochkind at nwu.edu Mon Jul 3 10:00:09 2000 From: j-rochkind at nwu.edu (Jonathan Rochkind) Date: Mon Jul 3 09:00:09 2000 Subject: use WOImage to make a submit button? In-Reply-To: <395D3A5A.7353FB92@global-village.net> References: <87lmzm6dbr.fsf@mindspring.com> Message-ID: <4.2.2.20000703110126.021125d8@hecky.acns.nwu.edu> You can use WOActiveImage instead of WOImage. This translates into HTML like , which is the HTML way to do an image submit button. Probably easier than doing javascript tricks. At 05:24 PM 6/30/2000 -0700, you wrote: >Sort of. You can > >1. Wrap the WOImage in a WOHyperlink >2. Bind the WOHyperlink action to any method (it will not get called). >3. Add an onClick = "ChangePasswordForm.submit(); return false;"; >binding the WOHyperLink >4. Bind the action of the WOForm to whatever you want called. > > >I've had sporadic luck with this. I can not recall the exact problems >with NS/IE but I recall it messing up keyboard or mouse navigation in >one of them. Maybe someone else has some suggestions as to when this >does not work. > >Chuck > > >"Charles L. Read" wrote: > > > > Can you use a WOImage to make a submit button? > > > > (I have not seen this done in HTML, so I assume > > the answer is No. But if there is any evidence > > to the contrary, please post!) > > > > Regards, > > -- > > Charles L. Read > > PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 > > _______________________________________________ > > WebObjects mailing list > > WebObjects@omnigroup.com > > http://www.omnigroup.com/mailman/listinfo/webobjects > >-- > >Chuck Hill chill@global-village.net >Global Village Consulting Inc. http://www.global-village.net >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From j-rochkind at nwu.edu Mon Jul 3 10:01:45 2000 From: j-rochkind at nwu.edu (Jonathan Rochkind) Date: Mon Jul 3 09:01:45 2000 Subject: popup window from browser? In-Reply-To: Message-ID: <4.2.2.20000703110244.02138ed0@hecky.acns.nwu.edu> If you just bind the "TARGET" attribute of a WOHyperlink to "_blank", then a new window will be opened when the user cliks on that hyperlink. With whatever content you specify according to other attributes of the WOHyperLink. Or you can set the target to some name, and a new window will be opened with that name, and all future targets of that same name will open in that same window. --Jonathan At 05:38 PM 6/30/2000 -0500, you wrote: >Is there a WO component that will >cause a new window to be popped up >from your browser in order to display >some related content? > > >NOTE I've read the postings on `mouseover' >popups -- and that is not what I'm trying >to do. > >Regards, >Charlie >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From j-rochkind at nwu.edu Mon Jul 3 10:06:25 2000 From: j-rochkind at nwu.edu (Jonathan Rochkind) Date: Mon Jul 3 09:06:25 2000 Subject: improve constructor for EOGenericRecord generated from EOModeler In-Reply-To: <87ya3k38tu.fsf@mindspring.com> Message-ID: <4.2.2.20000703110655.018dd638@hecky.acns.nwu.edu> Hmm. I don't understand. I create 4.5 EOGenericRecord-descended Java EOs all the time with the straight no argument constructor, and it works fine. I've never had to much with anything in EOClassDescription. You do have to insert the EO into some editing context after you've created it. Custom customer = new Customer(); session().defaultEditingContext().insertObject(customer); always works fine for me. --Jonathan At 09:28 AM 7/2/2000 -0500, you wrote: >One Entity in my EOModel is a `Customer'. >The Java code auto-generated from the EOModeler >supplies this constructor: > > public Customer() { > super(); > } > >So, elsewhere, when I decide to use a Customer >object, the natural way to program is: > > declaration: protected Customer cust; > > creation: cust = new Customer(); > >That's what I would do in any normal Java >programming environment. > > >However, in WO 4.5, that is not good enough. >Instead, you have to find the documentation >for EOGenericRecord and there find the relevant >specs for creating an instance of your Entity. > >So in my case, the creation code becomes: > > EOClassDescription description = > EOClassDescription.classDescriptionForEntityName("Customer"); > customer = > (Customer)description.createInstanceWithEditingContext(null, null); > > >Now, I will agree that this lends some flexibility >to Entity-creation, but it is absolutely non-intuitive. > > >Why can't someone at Apple simply add a (static) >virtual constructor to the EOGenericRecord class? >Just call it "EOGenericRecord.createEntity()", or >whatever. > > >Regards, >-- >Charles L. Read >PGP fingerprint = 5F 94 2C B6 36 35 64 A9 CF F5 3D 70 C1 DF 5F 65 >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From gino at btconnect.com Mon Jul 3 10:10:15 2000 From: gino at btconnect.com (Gino Pacitti) Date: Mon Jul 3 09:10:15 2000 Subject: WO GS Question Message-ID: <3960BADC.9460EA1F@btconnect.com> If anyone has a second would someone browse to page 125 of the 4.5 Getting Started Manual and plese give me the correct statement: In the book it has - public void awakeFromInsertion(EOEditingContext context){ super.wakeFromInsertion(context); //following is the strange line roleName = "New Role"; //end the strange line } This is giving me a compile error? There is no roleName attribute to the class and the error in the compiler tells me that I am trying to reference a method - of which there is - with the same name. From mmalc at stepwise.com Mon Jul 3 10:10:54 2000 From: mmalc at stepwise.com (mmalcolm crawford) Date: Mon Jul 3 09:10:54 2000 Subject: EOKeyBinding warning - regarding capitalized key In-Reply-To: <3960B6C5.CBA82CAA@getasia.com> Message-ID: Michael Gersten wrote: > Ok, what is gained by using this convention? > EOKeyValueCoding works as advertised, as do a number of other bindings (e.g. in WOBuilder). > Keep in mind that previously, every table I've built has used IDFoo for > the keys for table Foo. This has the advantage that all of the keys > (primary, foreign, etc) get placed together. They normally are not class > properties, but every once in a while, ... > I'm not sure why what you call the table is relevant? mmalc. From mmalc at stepwise.com Mon Jul 3 10:30:40 2000 From: mmalc at stepwise.com (mmalcolm crawford) Date: Mon Jul 3 09:30:40 2000 Subject: EOKeyBinding warning - regarding capitalized key In-Reply-To: Message-ID: I wrote: >> Ok, what is gained by using this convention? >> > EOKeyValueCoding works as advertised, as do a number of other bindings (e.g. > in WOBuilder). > cf: file:/System/Documentation/Developer/WebObjects/DeltaDoc/EOF.html Enforcing Lowercase Key Names EOF expects keys to begin with a lowercase letter. It now logs a warning if that restriction is violated. For backwards compatibility with previous releases which did not strictly check capitalization, you can use the EOKeyValueCoding.KeyBinding static method suppressCapitalizedKeyWarning to suppress the warning for capitalized keys (EOKeyBinding class method in Objective-C). However, note that this method is deprecated and will be removed in a future release. mmalc. From amy at afe.net Mon Jul 3 10:34:53 2000 From: amy at afe.net (Amy Reynolds) Date: Mon Jul 3 09:34:53 2000 Subject: lost data Message-ID: All, We are running a webobjects application in combination with an OpenBase database and red hat linux web server. In the admin section of the site, we list 15 products per page and allow 3 fields of the 10 on the page to be edited. Our admins NEVER use the back button (by penalty of death), but nonetheless the price field on a couple products in the list of 15 will zero out occasionally when changes are saved. We are in the process of carefully combing through our code and the SQL generated, etc. My question for the group is -- has anyone experienced something similar, especially those of you using OpenBase? This problem is proving very tricky to pinpoint. Any information regarding similar occurrences could prove helpful. Thanks, Amy From michael at stb.nccom.com Mon Jul 3 10:50:50 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Mon Jul 3 09:50:50 2000 Subject: EOKeyBinding warning - regarding capitalized key References: Message-ID: <3960BD5C.F90E31F3@getasia.com> > > Ok, what is gained by using this convention? > > > EOKeyValueCoding works as advertised, as do a number of other bindings (e.g. > in WOBuilder). And why doesn't EOKeyValueCoding work with upper case letters? Do upper case letters mean something else (not obviously documented?) This argument sounds like "EOKeyValueCoding will work better if you follow the convention because it won't work at all if you don't.". > > Keep in mind that previously, every table I've built has used IDFoo for > > the keys for table Foo. This has the advantage that all of the keys > > (primary, foreign, etc) get placed together. They normally are not class > > properties, but every once in a while, ... > > > I'm not sure why what you call the table is relevant? > > mmalc. It's not the table name. IDCustomer begins with an upper case I. EOModeler gives a consistency warning on it even though it isn't a class property. And, on rare occasions, that IDblah does need to be a class property (a three-way join table, for a M/M relationship involving three tables). From mhinca at hotpop.com Mon Jul 3 10:59:08 2000 From: mhinca at hotpop.com (Michael Henderson) Date: Mon Jul 3 09:59:08 2000 Subject: How to reference a WO website ? Message-ID: Hi, This the way I started at one client's site, but never completed. If anyone else has other ideas I'd like to hear them. 1. Read about robots at: http://info.webcrawler.com/mak/projects/robots/robots.html - great reference material. 2. buy BrowserHawk from www.cyscape.com - it will make detecting robots (and lots more) much easier. - it does not directly support WebObjects but it can be made to work (it's a jar file after all!) 3. Work out which parts of your site are suitable for indexing by a robot 4. Configure your web-server to get rid of the cgi-bin from the URLs in your WOApp (most robots will only follow 'static' URLs) 5. Don't use form submission for navigation from the robot's start page to the pages you want indexed. (most robots won't follow form submissions). 6. Design your app so that meta keywords are inserted in the head section which are appropriate for the page. - better indexing of your pages. 7. Make sure that your app can deal with user's clicking through from a search engine results page on a WO URL with an abandoned session (referer header anyone?). 8. Download an open-source robot & search-engine, such as htdig from www.htdig.org set it up and index your own site - you might even be able to keep it in your site and integrate a full text search Regards, Michael Henderson Web Application Construction with WebObjects www: http://www.behindthesite.com email: mhenderson@behindthesite.com -----Original Message----- From: webobjects-admin@omnigroup.com [mailto:webobjects-admin@omnigroup.com]On Behalf Of Gregory Bernard Sent: Monday, July 03, 2000 1:40 PM To: WebObjects Mailing list Subject: How to reference a WO website ? Dear users, How would you proceed to reference a web site that uses WebObjects ? The first page of our site is dynamicŠ  We've got problem to have a high ranking level on the various search engines. Any idea will be welcome. ________________________________________________ «?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Grégory Bernard 10, rue vauvilliers Directeur Internet 75001 Paris France Groupe Multimédia tel : +(33) 1 40 26 79 85 ________________________________________________ «?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§«?»¥«?»§ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ _______________________________________________ WebObjects mailing list WebObjects@omnigroup.com http://www.omnigroup.com/mailman/listinfo/webobjects From ghopson at novazen.com Mon Jul 3 11:21:40 2000 From: ghopson at novazen.com (Geoff Hopson) Date: Mon Jul 3 10:21:40 2000 Subject: Barcode font?? Message-ID: <200007031721.KAA16258@scyther.omnigroup.com> Does anyone have a working barcode font that will work in WebObjects apps, plus ReportMill? Thanks in advance, Geoff From info at iSOLUTION.de Mon Jul 3 11:31:05 2000 From: info at iSOLUTION.de (Alexander Schneider) Date: Mon Jul 3 10:31:05 2000 Subject: Problems with installing Deployment on Solaris Message-ID: Hello, I have seen that Bruce Fancher (way back) too had problems installing WO-Deployment on Solaris. I have Solaris 8 for Intel installed on a box and now I am trying to install deployment WO 4.5. I get the following error when I try to install either from CD or from local drive: ------------------------------------ Please enter license string: xxxxx ./pdo_licensekey: syntax error at line 1: ´(´ unexpected Please try again. ------------------------------------ But if I try again the same happens again. Anyone knows a solution? Regards Alexander Schneider -- __________________________________ iSOLUTION - Alexander Schneider Rathausallee 10 53757 Sankt Augustin T 02241 921 567-0 F 02241 921 567-89 as@iSOLUTION.de www.iSOLUTION.de From kieren_macmillan at mac.com Mon Jul 3 11:39:26 2000 From: kieren_macmillan at mac.com (Kieren Richard MacMillan) Date: Mon Jul 3 10:39:26 2000 Subject: [REPOST] adding third-party classes (.jar, .zip, etc.) to a project In-Reply-To: Message-ID: Hey Sorry for the repost, but this issue is getting critical quickly -- I haven't been able to get this to work, and it looks like adding third-party classes will be increasingly necessary in this project... Thanks for any quick responses anyone can give! Kieren. ---------- Hello, all! In building my statistics program, rather than reinvent the wheel, I scoured the 'net and found the JSci.* classes, which include several necessary methods (e.g. Chi-Squared Distribution). Now I would like to add this set of classes to my WOProject. I've searched the archive, as well as read the article on the subject at . However, I still have questions, so I hope someone can help... 0. I think I have both .jar and .zip (source) files -- which is recommended? 1. My applet source is in Subproject --> ClientSideJava.subproj, but the classes are supposed to be put into Subproject --> CommonJava.subproj. Do imports across such path boundaries work automagically, or do I have to add the class to my ClientSideJava.subproj as well? 2. If I've followed the instruction in the TIL article (including setting the NSJavaUserPath in the CustomInfo.plist file and modifying the OTHER_CLASSPATH line in the Makefile.preamble file), is there anything to worry about when I move to deploy on another machine? 3. When I call the new method in my applet code, I get an error. Do I have to use "import JSci.maths.statistics.*" in my code, or should it be there automatically? 4. Any other words of advice? Thanks a (new Integer(1,000,000))!! Kieren. From bmarquis at ogse.com Mon Jul 3 11:53:05 2000 From: bmarquis at ogse.com (Brian P. Marquis) Date: Mon Jul 3 10:53:05 2000 Subject: WO compiling on HP-UX Message-ID: I've made some progress! Added /usr/lib at the end of LPATH and I can now get the WO Examples to compile. I'm now getting: ld: /disk5/tempECDemo/ogcommerce-java/ogcommerce.build/objects-optimized/NSFrame work_ogcommerce.o: Not a valid object file (invalid system id) when I try to compile my framework. > -----Original Message----- > From: Pezzi, Robbyn J CA [SMTP:Robbyn.Pezzi@js.ca.ngb.army.mil] > Sent: Monday, July 03, 2000 12:05 PM > To: 'Brian P. Marquis' > Subject: RE: WO compiling on HP-UX > > Brian, > > Unfortunately, the two systems I had been using are TU at the moment. > However, below is something that may help you. It is from the "HP-UX > Post-Installation Steps" in the apple documentation (info-center). I know > I appended the LPATH to include all of the ones they show below in the > documentation. > > Also think you should be able to do a : > find / -name libpdo* > And it will tell you the file is located at. Then you would also know > what directory needs to be in the path. > > Tell me if things still are not going well. > > robbyn > > --------------- > Setting the LPATH and SHLIB_PATH Environment Variables > Set the LPATH environment variable to an appropriate value for your > installation, with the following prepended to it (enter the following all > on one line): > > $NEXT_ROOT/Local/Developer/Libraries:$NEXT_ROOT/Developer/Libraries:$NEXT_ > ROOT/Local/Library/Executables:$NEXT_ROOT/Library/Executables:$NEXT_ROOT/ > Library/JDK/lib > > Also set the SHLIB_PATH to the value of LPATH with: > > setenv SHLIB_PATH "$LPATH" > -------------- > From dwestner at apple.com Mon Jul 3 11:53:11 2000 From: dwestner at apple.com (Dominik Westner) Date: Mon Jul 3 10:53:11 2000 Subject: Problems with installing Deployment on Solaris In-Reply-To: Message-ID: WebObjects does only run on Solaris for SPARC not on the Intel platform. Greetings Dominik > From: Alexander Schneider > Date: Mon, 03 Jul 2000 19:30:42 +0200 > To: webobjects@omnigroup.com > Subject: Problems with installing Deployment on Solaris > > Hello, > > I have seen that Bruce Fancher (way back) too had problems installing > WO-Deployment on Solaris. > > I have Solaris 8 for Intel installed on a box and now I am trying to > install deployment WO 4.5. > > I get the following error when I try to install either from CD or > from local drive: > > ------------------------------------ > Please enter license string: xxxxx > > ./pdo_licensekey: syntax error at line 1: ´(´ unexpected > > Please try again. > ------------------------------------ > > But if I try again the same happens again. > > Anyone knows a solution? > > Regards > Alexander Schneider > -- > __________________________________ > iSOLUTION - Alexander Schneider > Rathausallee 10 53757 Sankt Augustin > T 02241 921 567-0 F 02241 921 567-89 > as@iSOLUTION.de www.iSOLUTION.de > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects > From scott at openbase.com Mon Jul 3 12:04:58 2000 From: scott at openbase.com (Scott Keith) Date: Mon Jul 3 11:04:58 2000 Subject: lost data Message-ID: <200007031805.OAA19148@nantucket.net> > but nonetheless > the price field on a couple products in the list of 15 will zero out > occasionally when changes are saved. Make sure the update is followed by a successful commit. Otherwise it may automatically rollback. This is probably what is happening. You may want to try turning on the SQL output. You can do this by using the -print_sql argument when you run your WebObjects application. You should see the SQL when you update & commit. Send this to me and I'll be happy to help you figure out what is going on. BTW, We haven't released OpenBase on Linux (WebObjects 4.5 doesn't run there either). What exactly are you running and how? - Scott ----------------------------- Scott Keith OpenBase International Ltd. scott@openbase.com v: 603.547.8404 f:603.547.2423 From bmarquis at ogse.com Mon Jul 3 12:05:47 2000 From: bmarquis at ogse.com (Brian P. Marquis) Date: Mon Jul 3 11:05:47 2000 Subject: WO compiling on HP-UX Message-ID: Got it to compile! I removed the .build and .framework directories and ran make (after getting the LPATH stuff fixed!). Thanks to all who replied to me, both on the list and privately! ----------------------------------- Brian Marquis Internet Programmer Orion Group Software Engineers 219-233-3401 Fax: 219-239-3348 http://www.ogse.com mailto:bmarquis@ogse.com ----------------------------------- > -----Original Message----- > From: Brian P. Marquis [SMTP:bmarquis@ogse.com] > Sent: Monday, July 03, 2000 12:59 PM > To: 'rpezzi@fix.net' > Cc: Multiple recipients of list (E-mail) > Subject: RE: WO compiling on HP-UX > > I've made some progress! Added /usr/lib at the end of LPATH and I can now > get the WO Examples to compile. > > I'm now getting: > > ld: > /disk5/tempECDemo/ogcommerce-java/ogcommerce.build/objects-optimized/NSFra > me > work_ogcommerce.o: Not a valid object file (invalid system id) > > when I try to compile my framework. > > > -----Original Message----- > > From: Pezzi, Robbyn J CA [SMTP:Robbyn.Pezzi@js.ca.ngb.army.mil] > > Sent: Monday, July 03, 2000 12:05 PM > > To: 'Brian P. Marquis' > > Subject: RE: WO compiling on HP-UX > > > > Brian, > > > > Unfortunately, the two systems I had been using are TU at the moment. > > However, below is something that may help you. It is from the "HP-UX > > Post-Installation Steps" in the apple documentation (info-center). I > know > > I appended the LPATH to include all of the ones they show below in the > > documentation. > > > > Also think you should be able to do a : > > find / -name libpdo* > > And it will tell you the file is located at. Then you would also know > > what directory needs to be in the path. > > > > Tell me if things still are not going well. > > > > robbyn > > > > --------------- > > Setting the LPATH and SHLIB_PATH Environment Variables > > Set the LPATH environment variable to an appropriate value for your > > installation, with the following prepended to it (enter the following > all > > on one line): > > > > > $NEXT_ROOT/Local/Developer/Libraries:$NEXT_ROOT/Developer/Libraries:$NEXT_ > > > ROOT/Local/Library/Executables:$NEXT_ROOT/Library/Executables:$NEXT_ROOT/ > > Library/JDK/lib > > > > Also set the SHLIB_PATH to the value of LPATH with: > > > > setenv SHLIB_PATH "$LPATH" > > -------------- > > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From igsolt at yahoo.com Mon Jul 3 12:11:25 2000 From: igsolt at yahoo.com (Igor) Date: Mon Jul 3 11:11:25 2000 Subject: NSAPI adaptor recompiling for iPlanet Message-ID: <007501bfe519$f1bece20$b19b0dd0@quickintl.com> This is a multi-part message in MIME format. ------=_NextPart_000_0072_01BFE4F8.6A3DA370 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi, Does anyone know how to recompile WO 4.0.1 NSAPI adaptor on Solaris for = Netscape Enterprise Server 4.0(iPlanet). There is a documentation how to do it for Netscape 3.5 which doesn't = work for iPlanet. Your help would be greatly appreciated. Thanks in advance. ------=_NextPart_000_0072_01BFE4F8.6A3DA370 Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
Hi,
Does anyone know how to recompile WO = 4.0.1 NSAPI=20 adaptor on Solaris for Netscape Enterprise Server = 4.0(iPlanet).
There is a documentation how to do it = for Netscape=20 3.5 which doesn't work for iPlanet.
 
Your help would be greatly=20 appreciated.
Thanks in advance.
 
------=_NextPart_000_0072_01BFE4F8.6A3DA370-- __________________________________________________ Do You Yahoo!? Talk to your friends online with Yahoo! Messenger. http://im.yahoo.com From bmarquis at ogse.com Mon Jul 3 12:36:13 2000 From: bmarquis at ogse.com (Brian P. Marquis) Date: Mon Jul 3 11:36:13 2000 Subject: No net in shared library path on HP-UX Message-ID: I am getting the following exception when I try to instantiate a subclass of java.net.Socket on HPUX version 11. java.lang.UnsatisfiedLinkError: no net in shared library path at java.lang.Runtime.loadLibrary(Runtime.java) at java.lang.System.loadLibrary(System.java) at at at mcbaSocket.(mcbaSocket.java:9) at Session.getSocket(Session.java:37) at Main.processLogin(Main.java:25) ************* import java.net.*; import java.io.*; public class mcbaSocket extends java.net.Socket { mcbaSocket( String host, int port ) throws IOException, UnknownHostException { super(host,port); System.out.print("Connected to "+host+":"+String.valueOf(port)); } public String process(String datatosend) throws IOException { DataOutputStream hpout; BufferedReader hpin; hpout = new DataOutputStream(new BufferedOutputStream(getOutputStream())); hpin = new BufferedReader(new InputStreamReader(getInputStream())); hpout.writeBytes( datatosend + "\n"); hpout.flush(); return hpin.readLine(); } } From ehermanson at gofish.com Mon Jul 3 13:10:37 2000 From: ehermanson at gofish.com (Eric Hermanson) Date: Mon Jul 3 12:10:37 2000 Subject: Spell Checker, Zip Code Lookup Message-ID: <001d01bfe521$d55a0030$1501aa0a@seafax.com> This is a multi-part message in MIME format. ------=_NextPart_000_001A_01BFE500.4DB5BD20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, Does anyone know of an Obj-C interface to 'ispell' (or other full = featured public domain spell checker)? Or an Obj-C ZipCode --> City/State lookup system? (either freeware or commercial)? - Eric ------=_NextPart_000_001A_01BFE500.4DB5BD20 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
 
Does anyone know of an = Obj-C=20 interface to 'ispell' (or other full featured public domain spell=20 checker)?
 
Or an Obj-C ZipCode --> City/State = lookup=20 system?
 
(either freeware or = commercial)?
 
- Eric
 
------=_NextPart_000_001A_01BFE500.4DB5BD20-- From leon at drakeassociates.com Mon Jul 3 14:32:21 2000 From: leon at drakeassociates.com (Leon Amdour) Date: Mon Jul 3 13:32:21 2000 Subject: N elements -- one action Message-ID: <4.3.2.7.1.20000703132630.00b08dc0@drakeassociates.com> Hi, evreyone. I'd like to ask for your advice. I have a list of hyperlinks on my page. Number of links is unkown at design time (values come from database; I use repetition). After user clicks on any of them I need to go to another page (same for all links), but initialized with different values depending on the clicked link. Basically, I need to pass on to the new page an ID. What's the best way to do without using JavaScript? (I could set value of an ainvisible field to ID of the clicked link and read in my action method). Solutions involving action methods as well as going directly to the new page are acceptable. Thanks in advance. Leon From richard at csarc.otago.ac.nz Mon Jul 3 14:36:44 2000 From: richard at csarc.otago.ac.nz (Richard Lewis-Shell) Date: Mon Jul 3 13:36:44 2000 Subject: Deployment system problem (shell script) Message-ID: <007601bfe52e$50c35c60$01010101@mirrim> Hi all, We have a simple script we want to use to start an instance of our app, and restart it when necessary - it's very similar to the recently posted script from the thread "Replacing Monitor & 4.5 scheduling problems". For long and boring reasons, when it comes to killing the apps manually, we are unable to reliably detect the name of the app using ps, so the best solution would seem to be to kill the script and have the script's child processes (ie. the WOApp) also die. But when we kill the script, the WOApp does not die, rather it switches its parent PID to 1, and carries on. If this script is run with a dummy process (eg. sleep) instead of a WOApp, it works ie. kill the script, and its child processes die too. But a WOApp child process doesn't seem to die so easily. Does anyone know of a way to get any standard shell (so far we have tried sh (posix), and csh) to kill the child WOApp? Any help appreciated, Richard PS. the long and boring reasons are: we are using HP-UX - which limits how much of the command line is viewable from ps, and we have to start the apps from an unrelated dir so any coredumps end up in one place, ending up in a rather long absolute path to the binary, which in some cases truncates a good (bad?) amount of the app name. PPS. if it makes any difference, this is WO4 From j-rochkind at nwu.edu Mon Jul 3 14:43:33 2000 From: j-rochkind at nwu.edu (Jonathan Rochkind) Date: Mon Jul 3 13:43:33 2000 Subject: N elements -- one action In-Reply-To: <4.3.2.7.1.20000703132630.00b08dc0@drakeassociates.com> Message-ID: <4.2.2.20000703154317.02108c78@hecky.acns.nwu.edu> In the action method for the hyperlink, you can figure out which hyperlink was clicked on. What variable is bound to the 'item' in the WORepetition? You can look at this variable in the action method, and it will magically be bound to the object corresponding to the iteration of the repetition in which the particular hyperlink chosen was output. Make sense? --Jonathan At 01:32 PM 7/3/2000 -0700, you wrote: >Hi, evreyone. > >I'd like to ask for your advice. >I have a list of hyperlinks on my page. Number of links is unkown at >design time (values come from database; I use repetition). After user >clicks on any of them I need to go to another page (same for all links), >but initialized with different values depending on the clicked link. >Basically, I need to pass on to the new page an ID. What's the best way to >do without using JavaScript? (I could set value of an ainvisible field to >ID of the clicked link and read in my action method). Solutions involving >action methods as well as going directly to the new page are acceptable. > >Thanks in advance. > >Leon > >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects From wostas at mac.com Mon Jul 3 14:49:38 2000 From: wostas at mac.com (Stas Pietrucha) Date: Mon Jul 3 13:49:38 2000 Subject: N elements -- one action Message-ID: <200007032059.QAA11991@eagle.mwc.edu> When you use a repetition, you will have some variable bound to the "item". Bind an action, "foo" to the hyperlink, then in foo(), the variable bound to "item" will correspond to the exact hyperlink you clicked! Just pass the item to the next page before you return it. public Person personIter; // bound to the repetition's "item" public NSArray arrayOfUnknownPersonsFromTheDatabase; // bound to the repetition's "list" public WOComponent foo() { SomePage nextPage = (SomePage)pageWithName("SomePage"); nextPage.setPerson(personIter); return nextPage; } That's the magic of WebObjects! You wrote: >Hi, evreyone. > >I'd like to ask for your advice. >I have a list of hyperlinks on my page. Number of links is unkown at design >time (values come from database; I use repetition). After user clicks on >any of them I need to go to another page (same for all links), but >initialized with different values depending on the clicked link. Basically, >I need to pass on to the new page an ID. What's the best way to do without >using JavaScript? (I could set value of an ainvisible field to ID of the >clicked link and read in my action method). Solutions involving action >methods as well as going directly to the new page are acceptable. > >Thanks in advance. > >Leon > >_______________________________________________ >WebObjects mailing list >WebObjects@omnigroup.com >http://www.omnigroup.com/mailman/listinfo/webobjects Stas Pietrucha Houston, TX http://www.wostas.com/ From leon at drakeassociates.com Mon Jul 3 14:53:17 2000 From: leon at drakeassociates.com (Leon Amdour) Date: Mon Jul 3 13:53:17 2000 Subject: [DONE] N elements -- one action In-Reply-To: <4.2.2.20000703154317.02108c78@hecky.acns.nwu.edu> References: <4.3.2.7.1.20000703132630.00b08dc0@drakeassociates.com> Message-ID: <4.3.2.7.1.20000703135316.00adaf00@drakeassociates.com> Cool stuff! That was easy. Thanks a lot. Leon >In the action method for the hyperlink, you can figure out which hyperlink >was clicked on. What variable is bound to the 'item' in the >WORepetition? You can look at this variable in the action method, and it >will magically be bound to the object corresponding to the iteration of >the repetition in which the particular hyperlink chosen was output. Make sense? > >--Jonathan > >At 01:32 PM 7/3/2000 -0700, you wrote: >>Hi, evreyone. >> >>I'd like to ask for your advice. >>I have a list of hyperlinks on my page. Number of links is unkown at >>design time (values come from database; I use repetition). After user >>clicks on any of them I need to go to another page (same for all links), >>but initialized with different values depending on the clicked link. >>Basically, I need to pass on to the new page an ID. What's the best way >>to do without using JavaScript? (I could set value of an ainvisible field >>to ID of the clicked link and read in my action method). Solutions >>involving action methods as well as going directly to the new page are >>acceptable. >> >>Thanks in advance. >> >>Leon >> >>_______________________________________________ >>WebObjects mailing list >>WebObjects@omnigroup.com >>http://www.omnigroup.com/mailman/listinfo/webobjects > > > From bmarquis at ogse.com Mon Jul 3 15:10:06 2000 From: bmarquis at ogse.com (Brian P. Marquis) Date: Mon Jul 3 14:10:06 2000 Subject: [DONE] N elements -- one action Message-ID: Be certain to check that this works when the user clicks the back button. I ran into problems with repetitions where I was using a list which varied in length. In my case, it was a drill-down page of categories and it's children. It's easy enough to work around the problems, just be certain to test backtracking when you use repetitions. > -----Original Message----- > From: Leon Amdour [SMTP:leon@drakeassociates.com] > Sent: Monday, July 03, 2000 3:54 PM > To: Jonathan Rochkind; webobjects@omnigroup.com > Subject: [DONE] N elements -- one action > > Cool stuff! That was easy. Thanks a lot. > > Leon > > >In the action method for the hyperlink, you can figure out which > hyperlink > >was clicked on. What variable is bound to the 'item' in the > >WORepetition? You can look at this variable in the action method, and it > > >will magically be bound to the object corresponding to the iteration of > >the repetition in which the particular hyperlink chosen was output. Make > sense? > > > >--Jonathan > > > >At 01:32 PM 7/3/2000 -0700, you wrote: > >>Hi, evreyone. > >> > >>I'd like to ask for your advice. > >>I have a list of hyperlinks on my page. Number of links is unkown at > >>design time (values come from database; I use repetition). After user > >>clicks on any of them I need to go to another page (same for all links), > > >>but initialized with different values depending on the clicked link. > >>Basically, I need to pass on to the new page an ID. What's the best way > >>to do without using JavaScript? (I could set value of an ainvisible > field > >>to ID of the clicked link and read in my action method). Solutions > >>involving action methods as well as going directly to the new page are > >>acceptable. > >> > >>Thanks in advance. > >> > >>Leon > >> > >>_______________________________________________ > >>WebObjects mailing list > >>WebObjects@omnigroup.com > >>http://www.omnigroup.com/mailman/listinfo/webobjects > > > > > > > > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From froy at singleentry.com Mon Jul 3 16:01:03 2000 From: froy at singleentry.com (Fabien Roy) Date: Mon Jul 3 15:01:03 2000 Subject: Deployment system problem (shell script) Message-ID: <200007032200.RAA05561@bob.singleentry.com> Some suggestions: Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept the bsd ps in "/usr/ucb" and I really understand why :-). In the ObjC launcher you could write (using NSProcessInfo and getpid()) to a file the process id and the interesting arguments of the process. I would suggest to use the process id concatenated with the name of the process as the file name. Then you will have to remove that file when you kill the process. Hope that helps. Fabien -- |\ _,,,---,,_ Fabien Roy /,`.-'`' -. ;-;;,_ Singleentry.com |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 '---''(_/--' `-'\_) Lakeway, TX 78734 Tel: (512) 266-6379 ext 1350 Fax: (512) 266-6375 Mob: (512) 796-9854 http://www.singleentry.com From michael at stb.nccom.com Mon Jul 3 16:14:47 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Mon Jul 3 15:14:47 2000 Subject: Deployment system problem (shell script) References: <200007032200.RAA05561@bob.singleentry.com> Message-ID: <39611015.6B88334E@getasia.com> You want to use 'trap' in the shell script to catch the kill signal. You can then kill the WOApp explicitly. Most likely, you'll want to start the WOApp in the background, save it in a variable, and then use that in your kill statement. Fabien Roy wrote: > > Some suggestions: > > Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept > the bsd ps in "/usr/ucb" and I really understand why :-). > > In the ObjC launcher you could write (using NSProcessInfo and > getpid()) to a file the process id and the interesting arguments of > the process. I would suggest to use the process id concatenated with > the name of the process as the file name. Then you will have to > remove that file when you kill the process. > > Hope that helps. > > Fabien > > -- > |\ _,,,---,,_ Fabien Roy > /,`.-'`' -. ;-;;,_ Singleentry.com > |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 > '---''(_/--' `-'\_) Lakeway, TX 78734 > Tel: (512) 266-6379 ext 1350 > Fax: (512) 266-6375 > Mob: (512) 796-9854 > http://www.singleentry.com > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From richard at csarc.otago.ac.nz Mon Jul 3 16:46:52 2000 From: richard at csarc.otago.ac.nz (Richard Lewis-Shell) Date: Mon Jul 3 15:46:52 2000 Subject: Deployment system problem (shell script) In-Reply-To: <39611015.6B88334E@getasia.com> Message-ID: <008401bfe540$4e3ad790$01010101@mirrim> Thanks so far... The ps man page _claims_ that it prints all the info avaiable from the kernel, so I am not convinced that another flavour of ps will have any more luck. As for background launching/trapping signals, I tried this, without much luck. The point of the script is to firstly start the app and then restart it when/if it finishes. Thus the launch command sits within a while (true) loop. If I start it in the background, this will spawn processes like there's no tomorrow, and bad things will happen. I tried grabbing the pid of the app once it was started in the background, then returning it to the foreground (fg), and tried to use a signal trap to stop the now known child pid, but the signal routine is not executed until the foreground process completes! I'm going round in circles. Perhaps the only option is to use pid files, or to search for processes started by the script (ie. ppid = script pid), and kill them after the script has been killed. This seems a little more fragile than necessary - I just thought there might be some cunning way of telling a shell script to kill its children when it dies... Richard > -----Original Message----- > From: Michael Gersten [mailto:michael@getasia.com] > Sent: Tuesday, 4 July 2000 10:14 > To: froy@singleentry.com > Cc: Richard Lewis-Shell; webobjects@omnigroup.com > Subject: Re: Deployment system problem (shell script) > > > You want to use 'trap' in the shell script to catch the kill signal. You > can then kill the WOApp explicitly. > > Most likely, you'll want to start the WOApp in the background, save it > in a variable, and then use that in your kill statement. > > Fabien Roy wrote: > > > > Some suggestions: > > > > Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept > > the bsd ps in "/usr/ucb" and I really understand why :-). > > > > In the ObjC launcher you could write (using NSProcessInfo and > > getpid()) to a file the process id and the interesting arguments of > > the process. I would suggest to use the process id concatenated with > > the name of the process as the file name. Then you will have to > > remove that file when you kill the process. > > > > Hope that helps. > > > > Fabien > > > > -- > > |\ _,,,---,,_ Fabien Roy > > /,`.-'`' -. ;-;;,_ Singleentry.com > > |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 > > '---''(_/--' `-'\_) Lakeway, TX 78734 > > Tel: (512) 266-6379 ext 1350 > > Fax: (512) 266-6375 > > Mob: (512) 796-9854 > > http://www.singleentry.com > > > > _______________________________________________ > > WebObjects mailing list > > WebObjects@omnigroup.com > > http://www.omnigroup.com/mailman/listinfo/webobjects > From michael at stb.nccom.com Mon Jul 3 17:05:55 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Mon Jul 3 16:05:55 2000 Subject: Deployment system problem (shell script) References: <008401bfe540$4e3ad790$01010101@mirrim> Message-ID: <39611C0C.34AD3A73@getasia.com> Ahh -- -- try using a '-ww' argument to your ps. On ever ps I've seen, adding w's makes it wider. However, I've seen some where '-ww' means 'infinite width', and some where each 'w' means 'add 8 to the width'. Richard Lewis-Shell wrote: > > Thanks so far... > > The ps man page _claims_ that it prints all the info avaiable from the kernel, > so I am not convinced that another flavour of ps will have any more luck. > > As for background launching/trapping signals, I tried this, without much luck. > The point of the script is to firstly start the app and then restart it when/if > it finishes. Thus the launch command sits within a while (true) loop. If I > start it in the background, this will spawn processes like there's no tomorrow, > and bad things will happen. I tried grabbing the pid of the app once it was > started in the background, then returning it to the foreground (fg), and tried > to use a signal trap to stop the now known child pid, but the signal routine is > not executed until the foreground process completes! > > I'm going round in circles. Perhaps the only option is to use pid files, or to > search for processes started by the script (ie. ppid = script pid), and kill > them after the script has been killed. This seems a little more fragile than > necessary - I just thought there might be some cunning way of telling a shell > script to kill its children when it dies... > > Richard > > > -----Original Message----- > > From: Michael Gersten [mailto:michael@getasia.com] > > Sent: Tuesday, 4 July 2000 10:14 > > To: froy@singleentry.com > > Cc: Richard Lewis-Shell; webobjects@omnigroup.com > > Subject: Re: Deployment system problem (shell script) > > > > > > You want to use 'trap' in the shell script to catch the kill signal. You > > can then kill the WOApp explicitly. > > > > Most likely, you'll want to start the WOApp in the background, save it > > in a variable, and then use that in your kill statement. > > > > Fabien Roy wrote: > > > > > > Some suggestions: > > > > > > Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept > > > the bsd ps in "/usr/ucb" and I really understand why :-). > > > > > > In the ObjC launcher you could write (using NSProcessInfo and > > > getpid()) to a file the process id and the interesting arguments of > > > the process. I would suggest to use the process id concatenated with > > > the name of the process as the file name. Then you will have to > > > remove that file when you kill the process. > > > > > > Hope that helps. > > > > > > Fabien > > > > > > -- > > > |\ _,,,---,,_ Fabien Roy > > > /,`.-'`' -. ;-;;,_ Singleentry.com > > > |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 > > > '---''(_/--' `-'\_) Lakeway, TX 78734 > > > Tel: (512) 266-6379 ext 1350 > > > Fax: (512) 266-6375 > > > Mob: (512) 796-9854 > > > http://www.singleentry.com > > > > > > _______________________________________________ > > > WebObjects mailing list > > > WebObjects@omnigroup.com > > > http://www.omnigroup.com/mailman/listinfo/webobjects > > From michael at stb.nccom.com Mon Jul 3 17:10:25 2000 From: michael at stb.nccom.com (Michael Gersten) Date: Mon Jul 3 16:10:25 2000 Subject: Deployment system problem (shell script) References: <008401bfe540$4e3ad790$01010101@mirrim> Message-ID: <39611D1F.31060DBF@getasia.com> > As for background launching/trapping signals, I tried this, without much luck. > The point of the script is to firstly start the app and then restart it when/if > it finishes. Thus the launch command sits within a while (true) loop. If I > start it in the background, this will spawn processes like there's no tomorrow, > and bad things will happen. I tried grabbing the pid of the app once it was > started in the background, then returning it to the foreground (fg), and tried > to use a signal trap to stop the now known child pid, but the signal routine is > not executed until the foreground process completes! Ok, then try something like this: while : do while [ kill -0 $CHILD ] do sleep $DELAY done # code to restart the now dead app done Adjust $DELAY as needed -- '2' should work fine. > I'm going round in circles. Perhaps the only option is to use pid files, or to > search for processes started by the script (ie. ppid = script pid), and kill > them after the script has been killed. This seems a little more fragile than > necessary - I just thought there might be some cunning way of telling a shell > script to kill its children when it dies... You can, actually. 'kill 0' will kill everything in the process group. Before job control (read: sh, not csh, not bash), every backgrounded process was in the shell's process group. Job control shells start each backgrounded child in a new process group. > Richard > > > -----Original Message----- > > From: Michael Gersten [mailto:michael@getasia.com] > > Sent: Tuesday, 4 July 2000 10:14 > > To: froy@singleentry.com > > Cc: Richard Lewis-Shell; webobjects@omnigroup.com > > Subject: Re: Deployment system problem (shell script) > > > > > > You want to use 'trap' in the shell script to catch the kill signal. You > > can then kill the WOApp explicitly. > > > > Most likely, you'll want to start the WOApp in the background, save it > > in a variable, and then use that in your kill statement. > > > > Fabien Roy wrote: > > > > > > Some suggestions: > > > > > > Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept > > > the bsd ps in "/usr/ucb" and I really understand why :-). > > > > > > In the ObjC launcher you could write (using NSProcessInfo and > > > getpid()) to a file the process id and the interesting arguments of > > > the process. I would suggest to use the process id concatenated with > > > the name of the process as the file name. Then you will have to > > > remove that file when you kill the process. > > > > > > Hope that helps. > > > > > > Fabien > > > > > > -- > > > |\ _,,,---,,_ Fabien Roy > > > /,`.-'`' -. ;-;;,_ Singleentry.com > > > |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 > > > '---''(_/--' `-'\_) Lakeway, TX 78734 > > > Tel: (512) 266-6379 ext 1350 > > > Fax: (512) 266-6375 > > > Mob: (512) 796-9854 > > > http://www.singleentry.com > > > > > > _______________________________________________ > > > WebObjects mailing list > > > WebObjects@omnigroup.com > > > http://www.omnigroup.com/mailman/listinfo/webobjects > > > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From clread at mindspring.com Mon Jul 3 17:20:45 2000 From: clread at mindspring.com (Charles L. Read) Date: Mon Jul 3 16:20:45 2000 Subject: [REPOST] setup for WODisplayGroups leads to core dumps. In-Reply-To: clread@mindspring.com's message of "03 Jul 2000 08:31:24 -0500" References: <873dlr2vdf.fsf@mindspring.com> Message-ID: <874s665388.fsf@mindspring.com> Any help appreciated! --- reposting --- I have the following Main.java program (appended beneath). I have streamlined parts that I believe are not relevant. Observations: 0. The WODisplayGroups here fetch from a `Product' table. 1. In setupAccountInfo(), if I comment out the call to session().defaultEditingContext().insertObject(customer); things work ok, but in the CustomerAccountInfo component, changes to the Customer object are not saved when I call session().defaultEditingContext().saveChanges(); 2. If I comment out reference to the category1 WODispayGroup (ie, the code where category1 products are fetched), but execute the line session().defaultEditingContext().insertObject(customer); then things work ok. IE, changes to the Customer are object are saved. (Of course, we no longer have available references to the category1 products...) 3. The problem: if I run everything as is -- in particular, as soon as the 2nd WODisplayGroup, category1, enters into the code, the WO app dumps core as soon as the action method setupAccountInfo() is invoked. Inserting debugString()'s shows that setupAccountInfo() actually completes. So, I am suspicious there the coredump happens somewhere in the initialization for CustomerAccountInfo. Questions: A. Why should the call to session().defaultEditingContext().insertObject(customer); trigger a coredump? Eg, if that line is absent, things work ok (though nothing is saved to DB). B. When fetching N WODisplayGroups from the same table, is there any special work you need to do to setup the table before re-fetching for each new WODisplayGroup? Thanks! Charlie -- public class Main extends WOComponent { /** @TypeInfo Product */ protected Product product; // Holds list of products that customer has checked. protected NSMutableSet productCheckedList; // We create a display group for each category of product. protected WODisplayGroup category0DisplayGroup; protected WODisplayGroup category1DisplayGroup; public Main() { super(); category0DisplayGroup.setDelegate(new ProductDelegate("Product", "category", EOQualifier.QualifierOperatorLike, new String("Category0*"))); category0DisplayGroup.fetch(); category1DisplayGroup.setDelegate(new ProductDelegate("Product", "category", EOQualifier.QualifierOperatorLike, new String("Category1*"))); category1DisplayGroup.fetch(); } public Product product() { return product; } public void setProduct(Product p) { product = p; } public CustomerAccountInfo setupAccountInfo() { Customer customer = new Customer(); session().defaultEditingContext().insertObject(customer); CustomerAccountInfo nextPage = (CustomerAccountInfo)pageWithName("CustomerAccountInfo"); // Initialize your component here nextPage.setCustomer(customer); return nextPage; } } From john.zollinger at sundog.com Mon Jul 3 17:21:39 2000 From: john.zollinger at sundog.com (John Zollinger) Date: Mon Jul 3 16:21:39 2000 Subject: ProjectBuilder make question... In-Reply-To: <200007031902.MAA22423@scyther.omnigroup.com> Message-ID: Hi ya, I'm trying to use a different make tool, but project builder seems to have the parameters passed to the indicated build tool hard coded to be "-f Makefile". Does anyone know of a way to change that (short of hex editing the .exe)? I don't want it to pass anything, just execute the build tool I tell it, and then pass the parameters that I tell it too. Any ideas? Thanks! John Zollinger Sundog Technologies, Inc. john.zollinger@sundog.com http://www.sundog.com/ From richard at csarc.otago.ac.nz Mon Jul 3 19:14:30 2000 From: richard at csarc.otago.ac.nz (Richard Lewis-Shell) Date: Mon Jul 3 18:14:30 2000 Subject: Deployment system problem (shell script) In-Reply-To: <39611D1F.31060DBF@getasia.com> Message-ID: <008d01bfe555$1a970930$01010101@mirrim> Thanks Michael That 'polling' solution would work for us. FYI, '-w' does not work with HP-UX's ps - here is a snippet from the 10.20 ps man page: "Only a subset of the command line is saved by the kernel; as much of the command line will be displayed as is available." In case anyone is interested in our current, and hopefully final, solution, we decided to modify the 'stop' script to kill the child processes that might be orphaned after the 'loop' script is killed. Not quite as encapsulated as it could be, but the 'loop' script remains very simple (no background processes, no signal trapping), and only a couple more lines were needed in the 'stop' script. Phew - thanks all for your help, Richard > -----Original Message----- > From: Michael Gersten [mailto:michael@getasia.com] > Sent: Tuesday, 4 July 2000 11:09 > To: Richard Lewis-Shell > Cc: michael@stb.nccom.com; froy@singleentry.com; > webobjects@omnigroup.com > Subject: Re: Deployment system problem (shell script) > > > > As for background launching/trapping signals, I tried this, without > much luck. > > The point of the script is to firstly start the app and then > restart it when/if > > it finishes. Thus the launch command sits within a while (true) loop. If I > > start it in the background, this will spawn processes like there's > no tomorrow, > > and bad things will happen. I tried grabbing the pid of the app once it was > > started in the background, then returning it to the foreground > (fg), and tried > > to use a signal trap to stop the now known child pid, but the > signal routine is > > not executed until the foreground process completes! > > Ok, then try something like this: > > while : > do > while [ kill -0 $CHILD ] > do > sleep $DELAY > done > > # code to restart the now dead app > done > > Adjust $DELAY as needed -- '2' should work fine. > > > I'm going round in circles. Perhaps the only option is to use pid > files, or to > > search for processes started by the script (ie. ppid = script pid), and kill > > them after the script has been killed. This seems a little more > fragile than > > necessary - I just thought there might be some cunning way of > telling a shell > > script to kill its children when it dies... > > You can, actually. 'kill 0' will kill everything in the process group. > > Before job control (read: sh, not csh, not bash), every backgrounded > process was in the shell's process group. > > Job control shells start each backgrounded child in a new process group. > > > Richard > > > > > -----Original Message----- > > > From: Michael Gersten [mailto:michael@getasia.com] > > > Sent: Tuesday, 4 July 2000 10:14 > > > To: froy@singleentry.com > > > Cc: Richard Lewis-Shell; webobjects@omnigroup.com > > > Subject: Re: Deployment system problem (shell script) > > > > > > > > > You want to use 'trap' in the shell script to catch the kill signal. You > > > can then kill the WOApp explicitly. > > > > > > Most likely, you'll want to start the WOApp in the background, save it > > > in a variable, and then use that in your kill statement. > > > > > > Fabien Roy wrote: > > > > > > > > Some suggestions: > > > > > > > > Try to get a bsd "ps" for HPUX from the gnu. BTW Solaris has kept > > > > the bsd ps in "/usr/ucb" and I really understand why :-). > > > > > > > > In the ObjC launcher you could write (using NSProcessInfo and > > > > getpid()) to a file the process id and the interesting arguments of > > > > the process. I would suggest to use the process id concatenated with > > > > the name of the process as the file name. Then you will have to > > > > remove that file when you kill the process. > > > > > > > > Hope that helps. > > > > > > > > Fabien > > > > > > > > -- > > > > |\ _,,,---,,_ Fabien Roy > > > > /,`.-'`' -. ;-;;,_ Singleentry.com > > > > |,4- ) )-,_. ,\ ( `'-' 107 RR 620 South, suite 117 > > > > '---''(_/--' `-'\_) Lakeway, TX 78734 > > > > Tel: (512) 266-6379 ext 1350 > > > > Fax: (512) 266-6375 > > > > Mob: (512) 796-9854 > > > > http://www.singleentry.com > > > > > > > > _______________________________________________ > > > > WebObjects mailing list > > > > WebObjects@omnigroup.com > > > > http://www.omnigroup.com/mailman/listinfo/webobjects > > > > > > > _______________________________________________ > > WebObjects mailing list > > WebObjects@omnigroup.com > > http://www.omnigroup.com/mailman/listinfo/webobjects > From gsl at mail.utexas.edu Mon Jul 3 19:23:00 2000 From: gsl at mail.utexas.edu (G Shane Lewis) Date: Mon Jul 3 18:23:00 2000 Subject: Oracle connection questions Message-ID: <39614A63.6CEA8918@mail.utexas.edu> Two beginner questions: I've just installed WO on Win2k, and when I try to initiate a connection using the Oracle driver, after typing my info into the logon panel, I get an empty error msg box. This happens in both the EOModeller and in the Project Builder. I have been able to get connected to the Oracle database via the generic ODBC driver in the EOModeller, but I'd prefer to use the native drivers if possible. The second problem is that my WOApplications suffer a connection time-out looking for a database. The status bar says: "Contacting localhost:1065", but it never finds it. This happens using the ODBC driver to try to retrieve data from Oracle. It also happens using the OpenBaseLite database offered as an example in the tutorials. This is frustrating because I was able to make this connection fine, running WO on NT Server. Any advice greatly appreciated. Shane Lewis gsl@mail.utexas.edu From rob at medicalhost.com Mon Jul 3 19:33:56 2000 From: rob at medicalhost.com (Robert A. Decker) Date: Mon Jul 3 18:33:56 2000 Subject: wml through monitor? Message-ID: <39613E24.746E8CC9@medicalhost.com> Has anyone written a Monitor equivalent that supports Wireless Markup Language for access through a device like a cell phone? thanks, rob From mlaster at metavillage.com Mon Jul 3 20:27:12 2000 From: mlaster at metavillage.com (Mike Laster) Date: Mon Jul 3 19:27:12 2000 Subject: CVS and *.WO, a bad match! In-Reply-To: <395B95D6.AB2404E7@getasia.com> Message-ID: <2904249.3171652011@[192.168.1.114]> *This message was transferred with a trial version of CommuniGate(tm) Pro* --On Thursday, June 29, 2000 1:30 PM -0500 Michael Gersten wrote: > I don't have a good solution, other than constantly copying the CVS > subdirectory out and in. > > I haven't tried bitkeeper yet, but it might not have that problem. (It > wants to replace CVS) As far as I know, nobody has ported bitkeeper to Mac OS X or Mac OS X Server yet. There seems to be a chicken-and-egg problem with doing this...the source is only available via bitkeeper... The only other solution I know of is Perforce (http://www.perforce.com). They had a binary for Rhapsody, but last time I checked it core dumped on Mac OS X Server 1.2 (worked fine in 1.02...something seems to have changed in the update). From brian at fortnocs.com Mon Jul 3 20:49:52 2000 From: brian at fortnocs.com (Brian Wotring) Date: Mon Jul 3 19:49:52 2000 Subject: Date -> NSGregorianDate Message-ID: <3.0.6.32.20000703195854.0134b3b0@mailhost.fortnocs.com> I have a Java class that has no WO code at all in it and I need to convert it's date() member and convert it into an NSGregorianDate object. Suggesstions? | Brian Wotring ( brian@fortnocs.com ) | Fort Nocs, Inc. | PGP Key ID: 0x9674763D From deninger at blue.weeg.uiowa.edu Mon Jul 3 21:57:15 2000 From: deninger at blue.weeg.uiowa.edu (Michael Deninger) Date: Mon Jul 3 20:57:15 2000 Subject: EOModeler Wackiness [Solved] Message-ID: Hi, I found my problem (with the help of DTS) and wanted to pass along what it was (so maybe someone else can learn from my mistake). Briefly, my display group was fetching only objects with an optional relationship. It turns out that if you flatten a relationship between entities where the relationship is optional, EO will return only those records with a relationship. Put another way, EO will not fetch and return*null* for a flattened relationship when there are no related records. I did not expect this. Is this a "feature" or something I should have expected (if so, what is the reason)? I was using this flattened relationship to sort my display group. I worked around this problem, but wondered what others (with a better understanding of WO/EO) thought. Michael Deninger The University of Iowa College of Pharmacy Phone: (319) 335-6513 deninger@blue.weeg.uiowa.edu From dneumann at apple.com Tue Jul 4 00:39:29 2000 From: dneumann at apple.com (David Neumann) Date: Mon Jul 3 23:39:29 2000 Subject: EOKeyBinding warning - regarding capitalized key Message-ID: <200007040638.XAA04153@scv3.apple.com> In the Java language and NeXT's ObjC conventions, methods and instance variables, begin with lower case. Constants and class names (another kind of constant) begin in uppercase. It makes it easier to just glance at code and see what's going on. Without these conventions, a line like this by itself is ambiguous: Foo.doSomething() Is Foo a class or is it a variable that happens to be capitalized. KeyValueCoding is a concept that actually is finding support in that new MS language and possibly in a future version of the JDK. The idea is to provide a general purpose way for objects to exchange data with each other. The protocol goes through various steps to push/pull a value... valueForKey checks for the presence of accessor methods, a valueForKey method, and ultimately an ivar. It prefers to use the method if present. But to use a method it has to use runtime facilities to check for the presence of the method. This takes time. If you have a convention for methods used as accessors for key value coding, you can perform this faster and perhaps more importantly, you can do it more reliably. So there are 2 wins: clearer code, and better runtime execution. BTW every single property you bind to anything in a .wod, and all the dots in .wod syntax are examples of key value coding in action. It is NOT just used by EOs, its used in WOF -- a LOT. If KVC didn't exist, you couldn't just plop stuff in a .wod and have to work at runtime. You'd also need gobs of useless classes that did nothing but invoke accessor methods. Plus the classes would have to have foreknwoledge of each other at design time to communicate. With KVC, they don't - which is a pretty big deal if you want to reuse code frictionlessly. d ---------- >From: Michael Gersten >To: mmalcolm crawford >Cc: webobjects@omnigroup.com >Subject: Re: EOKeyBinding warning - regarding capitalized key >Date: Mon, Jul 3, 2000, 11:20 AM > >> > Ok, what is gained by using this convention? >> > >> EOKeyValueCoding works as advertised, as do a number of other bindings (e.g. >> in WOBuilder). > > And why doesn't EOKeyValueCoding work with upper case letters? Do upper > case letters mean something else (not obviously documented?) > > This argument sounds like "EOKeyValueCoding will work better if you > follow the convention because it won't work at all if you don't.". > >> > Keep in mind that previously, every table I've built has used IDFoo for >> > the keys for table Foo. This has the advantage that all of the keys >> > (primary, foreign, etc) get placed together. They normally are not class >> > properties, but every once in a while, ... >> > >> I'm not sure why what you call the table is relevant? >> >> mmalc. > > It's not the table name. IDCustomer begins with an upper case I. > EOModeler gives a consistency warning on it even though it isn't a class > property. > > And, on rare occasions, that IDblah does need to be a class property (a > three-way join table, for a M/M relationship involving three tables). > > _______________________________________________ > WebObjects mailing list > WebObjects@omnigroup.com > http://www.omnigroup.com/mailman/listinfo/webobjects From carlos.gonzalez at bancoval.es Tue Jul 4 00:56:21 2000 From: carlos.gonzalez at bancoval.es (Carlos Gonzalez Sanchez) Date: Mon Jul 3 23:56:21 2000 Subject: WO compiling on HP-UX References: Message-ID: <39618A3F.391B7254@bancoval.es> Next thing you have to do is delete the file /disk5/tempECDemo/ogcommerce-java/ogcommerce.build/objects-optimized/NSFramework_ogcommerce.o which is giving you problems because it was compiled in the development platform. Don´t be afraid of removing it because it will be generated again (this time for HP-UX) after you do a "make". "Brian P. Marquis" wrote: > I've made some progress! Added /usr/lib at the end of LPATH and I can now > get the WO Examples to compile. > > I'm now getting: > > ld: > /disk5/tempECDemo/ogcommerce-java/ogcommerce.build/o