Re: [ANNOUNCE] O'Reilly Struts Book Now Available
Chuck Cavaness wrote: I'm sorry the copy hasn't been shipped by bookpool yet. I noticed they are still saying not yet published yesterday. If it's any consolation, I haven't got my copies yet either. I haven't even seen the finished product yet :( chuck BTW: I got my copy of Programming Struts from Waterstones store, opposite the University College of London, Bloomsbury, London on Saturday. Congratulations -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Which O/R layout most used with Struts
-Original Message- From: Dominique Henriot [mailto:[EMAIL PROTECTED]] Sent: Friday, October 18, 2002 7:56 AM To: [EMAIL PROTECTED] Subject: Which O/R layout most used with Struts Hi all, I guess this is a common question but I didn't found a satisfying answer in the mail archive. I had a look at Torque, Expresso and OJB and my question is which one (or other) you are using ther easiest way with Struts. I know you might tell me it's depending your practises, but please let me know about your experience with one. Torque and OJB are object relational mappers. They allow you communicate with relational databases using Java Objects. Expresso is a framework with security, controllers, caches, job control, and has also an object relation mapper. At the moment Expresso supports Jakarta Struts 1.0.2. But I think as soon as the Struts Developers decide to release Struts 1.1 BETA 3 then I might start upgrading Expresso, because as core committer I have write access. I am glad we held off personally because of issues with sub applications (modules) and Tiles request processor plug-in support. I want to bring the power of dynabeans, validatyion, app exception, and declarative xml over to Expresso. But I got onto hold 1.1 BETA 3 official release. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: FW: Persistence Framework Comparison?
-Original Message- From: Robert J. Sanford, Jr. [mailto:[EMAIL PROTECTED]] Sent: Friday, October 04, 2002 5:59 PM To: Struts Users Mailing List Subject: RE: Persistence Framework Comparison? There are two things that I want/need in a persistence framework and I have yet to find them. I know that OJB does not support them and I have not looked very hard at the others. Maybe you can tell me if Expresso handles them. 1) Read only attributes so that a setter method is not automatically generated for one and that value is never persisted, just read. Expresso DB Object has recognise read only fields, such PRIMARY KEYS. and also virtual fields, concocted field that don't actually exist in the database table, that you create in Java and derive from calculation. 2) The ability to persist an object to a different table than it was read from. Yes this seems odd so let me explain in a few simple words followed by a simplistic example. The simple words are - performance and simplicity. When developing a web app database I tend to go for normalization. The employees are in one table with a FK to the department table. But, when displaying the data on a page I want to display the name of the department, not its database ID. So, I use a view that joins the two tables meaning that a) I get all the data that I need in a single query I can get all of the information I need for display (performance) and... b) I don't have to worry about reading data from multiple queries and/or multiple objects (simplicity). In an ``enter new employee'' form you typically want to generate a HTML drop list of departments, right ? `SELECT DEPT_ID, DEPT_NAME FROM DEPARTMENTS' So you need access to the department table. Of course when you want to view the employee record, in Expresso you can create Employee DBObject with valid values look up for virtual field department_name for html option select. Expresso can also cache these valid values for you as well. So you need not blast the database with SELECT DEPT_ID, DEPT_NAME queries. But, I cannot guarantee that the view I am reading from is updateable so I have to insert/update to the simple tables (employee for instance). So, can you help me out here? Can Expresso do this? When caching is involved, you have two choices? 1) Blow out the caches. 2) Make sure the caches are big enough store all of the data, entire population, and only update the database using Expresso Admin or front end that you wrote using Expresso. This is not also an issue for Expresso but also J2EE containers. Namely EJB CMP implementation that support cacheable data. What will typically happen is that Sys-Admin/ Sys-DBA will use the Oracle front end SQLPLUS or ISQL or MYSQL to go behind the cache and manually modify the static data, in which case you have no chance except to (1), but it is not like you are going to add a department every 10 minutes or so! -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: FW: Persistence Framework Comparison?
Peter A. J. Pilgrim wrote: -Original Message- From: Robert J. Sanford, Jr. [mailto:[EMAIL PROTECTED]] Sent: Friday, October 04, 2002 5:59 PM To: Struts Users Mailing List Subject: RE: Persistence Framework Comparison? There are two things that I want/need in a persistence framework and I have yet to find them. I know that OJB does not support them and I have not looked very hard at the others. Maybe you can tell me if Expresso handles them. 1) Read only attributes so that a setter method is not automatically generated for one and that value is never persisted, just read. ---- 2) The ability to persist an object to a different table than it was read from. Yes this seems odd so let me explain in a few simple words followed by a simplistic example. The simple words are - performance and simplicity. When developing a web app database I tend to go for normalization. The employees are in one table with a FK to the department table. But, when displaying the data on a page I want to display the name of the department, not its database ID. So, I use a view that joins the two tables meaning that a) I get all the data that I need in a single query I can get all of the information I need for display (performance) and... b) I don't have to worry about reading data from multiple queries and/or multiple objects (simplicity). In an ``enter new employee'' form you typically want to generate a HTML drop list of departments, right ? `SELECT DEPT_ID, DEPT_NAME FROM DEPARTMENTS' So you need access to the department table. Of course when you want to view the employee record, in Expresso you can create Employee DBObject with valid values look up for virtual field department_name for html option select. Expresso can also cache these valid values for you as well. So you need not blast the database with SELECT DEPT_ID, DEPT_NAME queries. ---- Here some example incomplete code that illustrates what Expresso DBObject can do here. package com.xenonsoft.acme.killerapp.dbobj; ... public Employee extends SecuredDBObject { public Vector getValidValues(String fieldName) throws DBException { if (fieldName.equals(employee_type)) { // for the PAY ROLL dept Vector h = new Vector(6); h.addElement(new ValidValue(FTE, Permanent Full/Time)); h.addElement(new ValidValue(PTE, Permanent Part/Time)); h.addElement(new ValidValue(GII, Graduate Intern Intake)); h.addElement(new ValidValue(CON, Consultant)); h.addElement(new ValidValue(CCE, Computer Contractor/Engineer)); return h; } return super.getValidValues(fieldName); } ... /** * Set up Meta Data (incomplete) */ protected synchronized void setupFields() throws DBException { setTargetTable(EMPLOYEE); setDescription(Employee); addField(emp_id, int, 0, false, employee id); addField(first_name, varchar, 48, true, First name); addField(middle_names, varchar, 64, true, First name); addField(last_name, varchar, 48, true, Last name); addField(dept_id, int, 0, false, department id); // `employee_type' is a look up value addMultiValued(employee_type, char, 3, true, Employee Type); // Secret virtual field derive addVirtualField(secret_salary, real, 0, secret pay, the enron field); // Primary Key addKey(emp_id); // Department name look up in another data object. setLookupObject(dept_id, com.xenonsoft.acme.killerapp.dbobj.Department); } /* setupFields() */ ... } -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: which one to buy? Struts books? Any ideas?
Edwards Robert (air0rae) wrote: I actually bought the Goodwill book and returned it a few days later. (It was the only struts book at the store at the time). Many examples failed (Using netbeans for the IDE). The book seemed like it was missing something through the first few chapters. I decided to save my money and get a better book later. -Original Message- From: Butler, Lee [mailto:[EMAIL PROTECTED]] Sent: Tuesday, November 19, 2002 3:36 PM To: 'Struts Users Mailing List' Subject: RE: which one to buy? Struts books? Any ideas? The Goodwill book clearly got rushed to market without adequate editorial care. It claims to use 1.1 in the examples, but there are so many serious inconsistencies between the text and examples that 1.1 must have been last-minute addition. I saw this book in the UK at Digital Art Worlds 9th November 2002. It was definitely rush released. It is was missing the state-of-the-art no dyna beans, no sub application ( ie modules ). Not enough information compared to what we could see from Chuck Cavaness as a TheServerSide.com pre-release. BTW: Is the Chuck's book release in the USA. I enquired in London at the PCBookshop.co.uk and they saw December release, which is just as well. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [OT] Where can I find a Struts / J2EE Jobs?
Khalid Aslan wrote: Peter You are absolutely right. The big financial institution in the city do have the money and the where-with-it-all to invest in a new technologies. I dont necessarily want another banking job at all. I am happy to look for another vertical sector. Are you saying that only big banks want to develop J2EE applications? I might possibly believe it. I have looked at the job sites today and apparently only the investment banks are offering J2EE jobs. Hi Khalid Worst still the same jobs are appearing up to three times a day on the same job server. Here an example for an Integration Development Manager http://www.it.jobserve.com/jobserve/JobDetail.asp?jobid=B2491F3D8FB8CA06 http://www.it.jobserve.com/jobserve/JobDetail.asp?jobid=372CB244A66D4378 http://www.it.jobserve.com/jobserve/JobDetail.asp?jobid=D508EBCBB03B763E Notice the same different servlet parameter parameter value jobid all reference to exact same job specification from the agency E-volution Recruitment Solution Ltd. So what the hell. It's bloody mad, I tell you. I did a similar persuasion exercise at my last place. Open source is taking a hold, but moving very slowly. It is all about saving money and I think a lot of the managers are finally getting convinced about running Linux server rather Sun Solaris boxes. It is just too bad I had leave to see the horizon. As for me I think that I will have to look beyond core J2EE development maybe go back to even RMI and Applet programming which would be horrible just to make ends meet. Well hang on to horses yet. What goes around usually comes back around at some point in the future. Eventually the developers will become the senior developers, and the senior developers become the project leaders and lead architects. So remember this depressing experience and learn from it, treat it like pinch of salt. Hey! May be we can swap leads off-line. What do you think? Yeh, why not? No problems. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: [OT] Where can I find a Struts / J2EE Jobs?
Khalid Aslan wrote: Hey! May be we can swap leads off-line. What do you think? /Khalid/ 1) Khalid Have you ever try to contact any of the Java User Groups? ``http://servlet.java.sun.com/jugs/europe/gbr'' 2) All Jobbers Worth trying out JUGs on the Sun site for networking contact me thinks. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: [OT] Where can I find a Struts / J2EE Jobs?
Chappell, Simon P wrote: I just want to observe that I have never used a job website. I'm not saying that they don't or can't work, but I've received 100% of my employment so far from either word of mouth or using a technical recruiter. This has worked both sides of the pond. I started in the industry in 1990 when I graduated from Plymouth University (England) and I remember that you had to be thankful for anything that paid money. There was no annoying the boss back then, or you'd be picking up your P45 (pink slip for the Yankees on the list). Make friends with your local recruiters, be prepared to move anywhere in the country and be certain to have an HTML version of your CV/resume on a website. And, yes, make certain that it is FULLY BUZZWORD COMPLIENT. Simon - Simon P. Chappell [EMAIL PROTECTED] Java Programming Specialist www.landsend.com Lands' End, Inc. (608) 935-4526 All Well I graduated from South Bank University (London, England) in 1990 plum right into the recession as if was called then (I haven't quite figured out what they are calling this one now. Which is it Downturn, Slow-jam, Dotcom Bubble -Burst, and plain old recession?). I had the same problem as Simon. A new graduate without experience, but how d'y'a get experience in the first place? My problem was eventually solved also by word-of-month, favour for a favour, and otherwise also known as networking. Eventually I left the country of green meadows, and green fields. I left for Germany (Deutschland) of all places. Another with green pasture and more romantic castles (Schlosse). I have already followed Simon's advice and built an online CV. It is very strange you think of doing this sort of thing when you are in a proper job that lasts 10 hours a day, but you never get around to it. I always wanted to master Macromedia Flash, and get back in the design and arty stuff. So eventually I tackled it. Unfortunately this time it will be harder for me to move anywhere in the country let alone move abroad, especially when you have a mortgage and property. Damn! I knew I should sent that agent (local recruiter) a box of cava or fruity wines last Xmas. Hot Damn!! (Landsend.com eh? He He He. A piece of England in the US of A) -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: [OT] Where can I find a Struts / J2EE Jobs?
Davide Bruzzone wrote: Khalid, Word of mouth. I started going to every career fair, Internet Chamber of Commerce meeting, other meetings where unemployed IT people would congregate, etc. I was officially unemployed for four weeks, and during that time I managed to put together quite a collection of business cards. I also had a layoff buddy (another guy from my team who was laid off when I was) with whom I exchanged information, swapped leads, etc. Its just a matter of knocking on every door you can think of. What I think really sucks are the pay sites that are preying on people who are in a situation where they don't have a lot of extra disposable income. Interestingly, although these sites claim that their Fuzzy logic, neural net, AI-based systems will find postings that you won't find anywhere else, I found this not to be true. The free teaser posting titles that the pay sites would e-mail me were exactly the same as those that I would find on the free boards. I personally never seen such pay sites in the UK, and like you I would not recommend them. I have seen a lot of newspaper adverts with improve your CV guaranteed for £100. I would go to a graduate recruitment fair if indeed you are recent graduate (2nd jobber). Obviously that precludes me, but going to proper professional consultant can work wonders. Fortunately most financial city instituations put that sort of thing together for the employees that are getting the boot, at least to politically soften the wounds. You would be well advised to seek their help, because any help helps just that little bit. Bloody hell! That is a huge ratio 800 to 1! I had a suspicion about search keyword software but I didn't realize. I will definitely update my CV to be completely keyword specific. You know this is so similar to static web design with META tags. /// Ditto, there too many candidates and too many agencies. Simple economics will tell you that many agencies are going to fold over if this recession lasts longer or if they dont go bankrupt they will taken over byo the bigger fishes. I think I would give my right arm to be in MA (Mergers and Acquistions) at this precise moment. /// It's real pity that the banks have had to let go a lot of good people. In the UK at least they had the money and sometimes the innovation to persue the latest technologies. Last year I got my last employer to look seriously at open source and I had to influence not to re-invent their own MVC implementation. This is how I got into bed, so to speak, with Struts. It was tough but eventually they were talking Log4J but not quite JBoss. If it is indeed truth that alot of the IT project budgets especially the e-commerce projects were suddenly cut , suspended, or postponed, then we are living in lack-lustre time in the IT world, at least in England that is. Many businesses are burning the candle oil to survive, so hence the reason that recruitment for J2EE is so tough. The money is there but no one wants the responsibility to employ the wrong guy. So therefore the list of required skills is stringent and bloody tough, and if you don't have it, then you don't have it. I am sure it is the very same in the USA too. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: [OT] Where can I find a Struts / J2EE Jobs?
Haseltine, Celeste wrote: Khalid, I am assuming by across the Atlantic you are referring to the United States. All Here in London, England it is really slow as well. The needle is favours the employers right now rather than a typical candidate. Unfortunately employers want 10 different criteria before they call you up for interview plus another magic ability or so. There aren't many people I think that going to fulfil an over-stringent list of requirements. The job market/outlook in the US for high tech/software/hardware is still pretty poor. There are some pockets where jobs can be found in the US, but overall, our unemployment rate nationally is still sitting just under 7%, with some harder hit local areas, such as Dallas, TX, sitting closer to 8%. That doesn't sound high until you take into consideration before the high tech job fallout in 2000, our unemployment rate was below 3%. In England in the 1980's we reached 3 million unemployed, which is about 10% from a population of 62 million with 30 million adults of employable age working. The unemployment figure I think is much lower today, around 5% I used to work for investment bank also in the city, and as you aware a lot of the people who used to work for big banks are not or will not claim any social security benefits. So the true figures are probably higher especially in London. Also, unless you are currently a green card holder or US citizen, you would need to find an employer to sponsor you for an H1-B visa, which is the US equivalent of a work permit. It's not something you can obtain yourself, you must have an employer who has agreed to hire you apply for you. Right now, few US employers are sponsoring H1-B visa applicants, due to both the higher unemployment rate, and the legal requirements an employer is required to comply with to demonstrate that no US citizen was qualified/available for the position. And that is not taking into account the heightened sensitivity many companies have to bringing non-US citizens into the US after the events of Sept 11, 2001. Ditto over here in this country. Except a lot of companies are doing something nasty. There are relocating call centres to India, or bringest India contractor over to England. I am sure people will have their own view on this policy of saving exorbitant monies, but it remains to seen if the number of professional developers is going down in the long town. If the trend is the farm out software development to third world countries then we are in trouble, some of us. Another trend is wholesale outsourcing of IT division, I read today www.efinancialnews.com that JP Morgan UK is out sourcing to IBM Consulting UK and I think so is Deutsche Bank and Dresdner. I guess things are pretty slow no matter where you reside now. I understand Japan's high tech area has also been hard hit, along with most of Europe. Celeste -Original Message- From: Khalid Aslan [mailto:sheik_ya_bootie;yahoo.co.uk] Hi y'all My name is Khalid. I was made redundant a couple weeks ago in London. I was working for a big investment bank. I was kinda looking for leads to work in London, or elsewhere in Europe maybe. Have you tried the usual suspects? Computer Weekly www.cwjobs.co.uk Technojobs www.technojobs.co.uk Monster www.monster.co.uk --snip-- rgds /Khalid/ PS: Good luck to everyone -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: From old JSP and Servlets to STRUTS
Fernando Hernandez wrote: Thanks a lot, makes a lot of sense... I think I'll do that. Are you exactly one year behind everyone?. Message dated 12/11/2001 ! -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: Can format strings be used with html:text input fields
Karr, David wrote: Just thinking out loud, for future's sake, but would it be useful if the input tags could optionally take their value from the body content? If value was set, it would use that, but if not set, it would use the body content. That would allow something like this: html:text property=LHO_AppraisedPrice bean:write property=LHO_AppraisedPrice format=$###,###,###.00 / /html:text It looks a little silly because of the repeated property value, but it allows you to use the full functionality of html:text. +1 Sorry about the lateness of this chip. html:text property=LHO_AppraisedPrice trim=true bean:write property=LHO_AppraisedPrice format=$###,###,###.00 / Euros /html:text I have written a custom tag HtmlText subclass that added a trim=true|false attribute explicitly for this purpose. `trim' performs truncation leading and trailing space from the body content text. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: form:text property
Raj Yadav wrote: Yes, got it. Thanks a lot.. spent an hour on this... Can you turn off the EMAIL NOTIFICATION in your outgoing messages? Sheesh! -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: Book Opinions
Vincent Stoessel wrote: I highly recomend Mastering Jakarta Struts by James Goodwill. It breaks all the struts components and proceeds to build a sample application for you step by step. The last chapers deal with the jakarta tag libraries in detail with an example for each tag. That alone made it worth it for me. I disagree completely. Mr Goodwill books does not discuss DynaFormBean or Validation or BeanUtils or PropertyUtils, properly. I managed to look an US import copy last week when I was at Linux Expo 2002 in London. I did not buy it because it was pretty lame with the meat. The book is a bit sparse compared to preview of Chuck's book. It does have a reference section though, indeed YMMV. -- Peter Pilgrim ServerSide Java Specialist My on-line resume and for interview videos about myself, J2EE Open Source, Struts and Expresso. || \\=== `` http://www.xenonsoft.demon.co.uk/no-it-striker.html '' -- To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Re: JBoss-3.0.3_Tomcat4_1_12
Theo Harper wrote: Looks like there's a problem with JBoss's integration with Tomcat 4.1.12. I tried the standard structs blank example and that would not deploy, although it would deploy on a vanilla tomcat 4.1.12. I have posted a bug report for JBoss and reverted to 4.0.4 for now, but I was looking forward to speed improvements in 4.1.12 :-( I might have a little look at the Catalina/Tomcat wrapper used by JBoss. Thanks, Theo Blinking hell. I just downloaded 4.1.12 and Jboss 3.0.2 last week. Yet to install JBoss. but Tomcat 4.1.12 worked fine with Struts 1.1 and Expresso Framework. -- Peter Pilgrim Ecommerce Java development way behind schedule, again. Need a new [IT] *striker*?Try the GNU style ``http://www.xenonsoft.demon.co.uk/no-it-striker.html'' -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [OT - Java] How can I do this in Java?
John Bindel wrote: On Mon, Sep 30, 2002 at 12:02:41PM -0500, Jerry Jalenak wrote: Yeah, already ran across the exceptions. Right now I'm trying to decide how to handle them since all of this code is actually in a custom Validator routine. Good Lord, people, why is reflection anything but the option of last resort here? Favour `Interfaces' to reflection if you can help it. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
[Contributing] Re: all this traffic
Craig R. McClanahan wrote: On Fri, 27 Sep 2002, adam kramer wrote: Date: Fri, 27 Sep 2002 10:17:19 -0400 (EDT) From: adam kramer [EMAIL PROTECTED] Reply-To: Struts Users Mailing List [EMAIL PROTECTED] To: Struts Users Mailing List [EMAIL PROTECTED] Subject: RE: all this traffic There's seems to be alot of resistance to any sort of suggestion that might create better documentation and useability of Struts. I can tell you for a fact that there's no resistance from Struts *developers* on this. What we resist, however, is the implication that *we* should do all the work. :-) Struts is an open source project. The documentation is part of the source code, in easily accessible formats (for Struts, it is XML files that are post-processed to produce the HTML), and maintained in the same CVS archives that the code is. Users are welcome to submit enhancement requests (for either the code or the documentation) via the bug tracking system: http://nagoya.apache.org/bugzilla/ and you can easily attach proposed patches to the enhancement requests. The general outline of how to create the patches starts at: http://jakarta.apache.org/site/getinvolved.html What is the format of the patches that developers /contributer patches submit? Is it a context difference? diff -c acme.java acme.java.orig -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: About some odd postings...
Pier Fumagalli wrote: Ok, user removed and banned, but we go back a long time, so I know that he's going to pop up again using a different email address, or impersonating someone else... --snip-- Pier (putting up with this guy since a couple of years now) And then, as if unremarkedly as it was spectular, spontaneous applause erupted across the entire planet. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: About some odd postings...
Galbreath, Mark wrote: Thanks, Pier - that guy is one big PITA. PITA == A type of bread PUTA == Son of a . (gun) old western movie -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: This guy from the bank raised a question ?
Zahid Rahman wrote: Eddie Bush wrote that the designer of the architecture, Craig R. McClannahan is present on this line. I was on the websphere line and Don Carlos, from DB.COM was talking about it. So I mentioned it. Although this late in the day, because I catching up 2500 emails after configuring my SOHO network for ADSL, I will respond Well it isn't surprised that you got DISSED in the end. And your type of attitude stinks to the extreme. This is the 21st century mate, we are using the Internet a form that makes culture and race and dare I say colour very transparent. This is the great equaliser or super highway isn't it. I dont appreciate your patronising talks on race or culture and for the record, slavery (in the United States at least) was banned over hundred years ago. What do you do about the back button on the browser ? The answer being nothing. Your prose reveals your inexperience and ineptitude in all things HTML / HTTP and Java Server side technologies to the real experts on the list, the technologists who have and are living at the bleeding bloody edge. You should really calm down and spend time learning the technology better. How it works? Why people use it? How people used it to solve real problems? What are trying to solve? Does the technology fit the bill, is it the right solution? You cannot pick up this information , no I say, knowledge from a quick read of marketing department sales broshures. You cannot get it right, if you repeat the latest business lingo in terms of ..., in terms . Your project will fail if simply dont understand the mode (as in the french meaning fashion). This is open source dealing with real people with real life. This is where real cultural diversity is truly happening, fool. This is where the real synergies are? This is not human resources department. This is not a boardroom meeting of stuffy highly over-paid executives, although I'd gladly accept the wages from those guys. This is the boiler room or the mechanics garage or the engineering facility where people get their hands routinely dirty. Learn to crawl, before you walk, before you run. PS: And this from a ex-Deutsche bank employmee. It really does show that DB.com still don't know their left hand from their right foot, but there you go. It happens, if the belief, culture and the motivation stagnates, and you lay off the really brillaint IT people in your organisation. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Struts and high performance sites
David Zimmerman wrote: Hi, we are building a webshop for a site with a high volume of users, approx. 800 concurrent users and 25k transactions per hour. We are going to use J2EE as the ground platform. I am now considering some design choices where using Struts is one of them. However I have some questions regarding the performance of Struts. I know this issue has been up many times before but I have never been able to find any satisfying answers, so... What, if any, overhead does the Struts controller generate? This question must of course be seen in the context of writing your own controller or using any other framework. However, what is Struts overhead? What overhead does the use of form beans generate (in the sense of objects created, memory use, the use of reflection, speed) Custom tags (Struts' or other). Would they be applicable in a case like this? Wouldn't there be a massive creation of objects for every request? Please help me out here! I really want your knowledge on this! Regards David Zimmerman Well the design of Struts is such that it only ever create JUST ONE controller /action instance. The overhead will be number in threads created by the Servlet / JSP container and your overall system architecture. If you truly have 800 concurrent user during the day then you will probably have more than one than one web servers running on separate machines. In other words you would using an application server, most probably. A application server (J2EE) will allow you load balance and cluster across multiple JVM / machines. So you see I think this is where your overhead lies, not on Struts itself. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Struts and high performance sites
V. Cekvenich wrote: The slow part is DAO in J2EE (and ADO in .NET). Avoid any EJB, they do not scale. Avoid any EJB. I presume you are talking about Entity Beans, n'est pas? Entity Beans may be indeed be slower in comparison with the old fashion hand-me-down-get-on-your-knees of written persistent business objects with straight JDBC, but I will say that the Entity Beans are designed to be (1) Scalable, (2) Portable (Relatively between J2EE app servers) ( 100% distributable across JVMs/hosts), (3) Transactionable. The controversy in learned places has mostly been about Entity Beans and not over Session Beans (stateful or stateless). -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: EJB / was Struts and high performance sites
Galbreath, Mark wrote: Check out http://shop.t-mobile.com dude - the entire site is a Struts + EJB app. If your EJBs didn't scale, you did not know what you were doing. Mark I would also say that you pick right database tables to make entity beans in the first place. This is where the performance probably failed. You can make SessionBeans pass back RowSet, or HashSet or DataTransferMaps of the rows of the database table instead. Especially in a shopping web app. Other people have advocate JDO as a replacement for EntityBeans and I think this technology also works, but I am not sure if it is distributed or supports the type of transactions that J2EE / JTA fully endorses. Couple of books EJB Design Patterns F.Marinescu and Mr Grand Java Enterprise Patterns spring to mind. -Original Message- From: V. Cekvenich [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 24, 2002 7:26 AM They are hype marketed as such. Most newer developers try them, as I did when I was new, but in production they did not scale, so we removed them. On new sites I skip the writing them part, since people would only remove them in production. (some management that take EJB to production are so upset that they go to the cached .NET ADO, so I steer my client's clear). -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: CURD/CRUD: a better way?
Vincent Stoessel wrote: Hello All, I am here create my umpteenth form to interface with a db that I will be selecting, updating , inserting , deleting from. To save time I usually combine the insert/update form and make separate delete and search (select) screens. What I was wondering if some angel out there has created an application, bean, or applet that can generate an html form for you based on the metainfo of an sql table. Doesn't have to be fancy looking, just working. this seems to be a common need for me at least. How are the smarts developers reducing time of this tedious task? Expresso Framework http://www.jcorporate.com/ implements CRUD a la in Grand's book Java Enterprise Pattern Wiley 2001 -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Disadvantages of Struts
Michael Lee wrote: No real world examples and no good documentation describing those examples. This email list helps that. I'm also going to see if I can release some of my code here open source when I'm done for an example for just such a reason. This is an example of how the community can help out where they see a problem. Mike (*) Does not solve all your problems. Concentrate solely on the web front-end user interface (which is actually a good thing ). (*) It is not the silver bullet ( it is built on a set of compatible technologies JSP / Servlets / JavaBeans / Custom Tag libs / JAXP ). This means it can be very confusing for the very new user. I remember my own Java beginnings: What is JavaBean? What is virtual machine? etc. It will time to teach a complete Java novice for him or her to be proficient in this aspect of server side java. Struts, then, is aimed at medium to advance level to enterprise level web applications. Hence some people like `WebMacro' and `Velocity' and other templating web applications. (*) Does not provide data access (*) Base Jakarta Struts does not provide instant security, your log-in or authorisation ( but you write your own or use other integrated libaries and frameworks ) (*) No work flow solution in base Jakarta struts On the otherhand it is written in pure Java, therefore should work with any application server or web server that implements the Java Servlet , JSP standards. It is also open source and in active development. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
[TEST] Mail - Please ignore [OT]
Testing one, two, three - DSL -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [TEST][DEUTSCH]
Eddie Bush wrote: Ich nicht sprechen Deutch. Ich sprechen English. Hier ist ganz Besser. Ich spreche nicht Deutsch. Ich spreche Englisch. Is this list ... ? Peter A. J. Pilgrim wrote: testing 1 2 3: Ist diese Liste noch da oder nicht? -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [TEST]
John Owen wrote: He's asking if the list is here or valid. I believe it is. ;) Richtig! -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [OT] RE: Struts and Large ResultSet
Ashish Kulkarni wrote: Hi, But is there a way to write some thing, which is database independent, so u can change the database without any code modification, what i am trying it using CachedRowSet, i load the resultset into a cachedrowset and then display it page by page, now only think i have to figure is, how can i load only few records in this rowset, like if i have 1 million records, just load say 1000 records, iterate through them, if u reach end of cache load another 1000, and so, since a user will never go through a process of seeing million records at a time, may be 1000 the max... most user will use some thing like Go To to point at a specific record in database, I hope this thing works out well Ashish Then you need something like MYSQL which has special reserved word to help you limit the size of the results. SELECT LAST_NAME, FIRST_NAME, DEPT FROM COMPANY_EMPLOYEES ORDER BY LAST_NAME GROUP BY DEPT LIMIT offset, number-of-rows The LIMIT word get you a finite rowset limitation efficiently on the Database server side. Without this you may have to read the entire data set out of the database. Say you only interested in rows 30 to 40 then you discard 30 rows already as in normal JDBC programming and then kill off the query and result after reading row 439. Suppose the database table has 1 rows, then the database server may in efficient allocate the time and memory for 1000 rows to read by the client. But you stopped on row 40, what a waste with 960 unused records! So in a nutshell go with MYSQL SELECT CASH_IN, CASH_OUT, INVOICE, CUSTOMER FROM BOOK_BALANCE LIMIT 30, 10 a la google.com Or I think Oracle my have ROWINDEX attribute. ROWINDEX = 30 and ROWINDEX 40. Sybase and Postgres I dunno. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [Architecture] Use of business delegate and Actions..
Robert Taylor wrote: An approach we have taken is to have a very course grained business service which encapsulates all business logic to support a set of common business requirements; so our Action class is really just a pure proxy to the business tier and the business service can be a proxy to the actual business components which may execute the logic. We also leverage DynaBeans so we can easliy transfer user I/O to our business service without coupling it to a specific presentation framework. Theoretically this allows us to reuse the business services with other presentation frameworks. And another approach is to reduce the amount of business code in the Struts Action and see if you could not place it on the business tier layer ( EJB / JDO ). You could use ``SessionFacade'' on the business tier, to reduce the number of network calls (RMI) to just one or two. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [OT] MySQL vs PostgreSQL and SAP DB (was RE: Struts and LargeResultSet)
Robert J. Sanford, Jr. wrote: For my money, or the lack thereof :), I would much rather use PostgreSQL or SAP DB than MySQL for both feature AND, believe it or not, performance reasons. One of the developers on the SourceForge project did a very nice comparison of how SF would run on both MySQL and PostgreSQL and he was very surprised at the results. You can read about it at: http://www.phpbuilder.com/columns/tim2705.php3. Of course, he was using PHP instead of Struts :) The article appears to be lauding MySQL features albeit 1999 on some speed issues. I definitely miss the subselect SQL syntax which is definitely useful with Oracle and Sybase. MySQL 4.0 Beta is out and wait for it. Full Text Match capabilities. Is this the end of Lucene or eSearch ? No. I like the bit about not returning the whole table of data if the query matches more than half the number of rows in the database table. As for LargeResultSets I don't think Sybase has rowset limit optimisation. Oracle I know a ROWID reverse keyword or is it ROWINDEX I cant remember. For my own personal work I chose PostgreSQL for several features that MySQL - nested queries, views, triggers and stored procedures being the biggies. Transactions weren't available with MySQL at the time I made my decision but, even with their current level of support for transactions, I cannot conceive of doing without the other features, views and stored procedures especially. And that is why I don't understand Sun's push for MySQL. Are there any enterprise level projects (heck, even department level projects) that you don't want to use views and stored procedures with? Sun's push for MySQL. Where did you read about this ? rjsjr Well ISP / Java WebHoster only support MySQL, so I got no choice. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Improving performance by splitting JSP?
[EMAIL PROTECTED] wrote: Yup, we looked at overall size of the JSP as well, and the association with performance was definitely number of bm/bw tags within a single JSP rather than overall JSP size. We even tried editing the generated servlet code and adding big unused methods to see if the problem had to do with generated servlet file size. That would kind've made sense, but was a negative. I believe we also tried a tag that just did a sysout rather than any kind of memory lookup (hashtable or properties file) and found that this performance quirk in the sun vm did not appear in that case. I tried to be clever. I once created xenonsoft:contextPath/ tag 14 months ago. I learnt to my cost the amount of java code it generated. html src=xenonsoft:contextPath/acme/images/down.gif / ... JSP bloat. I use scriptlets and JSP include fragment to cut the size % // Fragment String contextPath = request.getContextPath(); % ... @include page=init.jsp ... html src=%= contextPath + /acme/images/down.gif % / -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [OT] RE: Struts and Large ResultSet
Have a look at the J2EE Blue Prints List Handler JDBC setFetchSize and setMaxSize API is not enough for paging through a large result. You need think about how people use the search list: only interested in first 10 results, caching the same queries. Jan Fetyko wrote: Couple of thoughts: 1. Can you get and unique ID of the record(s) and store it somewhere (users session) ? Pageing through would be easy (although if you have to store couple of 1000 ids, it's not pretty) 2nd option maybe ? 2. Or is there a certain order by which this ResultSet is ordered by ( SELECT blah from BLAHBLAH ORDER BY blah ) ? In this case you can store the ID of the first last record displayed and then on the next previous actions, you'd use these to go up and down ( so to speak ). -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
[TEST]
testing 1 2 3: Ist diese Liste noch da oder nicht? -- Peter Pilgrim -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [New Functionality] ApplicationResources.properties to DB?
Eddie Bush wrote: James Mitchell wrote: Sorry guys... for not responding earlier. super-mega-snip/ Sorry I should have filled you in, James. I forwarded him the relevant part of your discussion. Also, I'm not sure how many passes I would make over the list, you certainly wouldn't want a circular reference. snip Since we're talking about a database here: Yes, you'd want to avoid circular references. However, I wouldn't think it would take more than a single pass through the view to churn out all of your resources. If you used the key as ... *drum roll* ... the key, you could just look it up out of the database. That's just my initial impression ... Why not allow the user a choice between recursive and non-recursive evaluation? It is possible to write code to check the evaluations are less than a certain limit (say 15) Has any one here ever programmed with the X Windows / OSF Motif kit mid 1990s? In X Windows you merge X application resources. You may be want to consider merging MessageResources? May be reading the standard web resource and then read message resources from a DB (or vice versa)? -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [New Functionality] ApplicationResources.properties to DB?
J Another interesting twist -- what if you are using data from the resource bundle to make your connectin to the database? and now you are wanting to use JDBCMessageResourceshm. What if you rely on another plugin as your persistence layer? How would ensure that it gets called first? Reading more than one message resource entity might solve the problem as I said before. The first message resource could be contain the bootstraping (db configuration) that connects to the second (and third) message resources? How the protocol will work I dont know, probably be application dependent. Just some ideas. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: [New Functionality] ApplicationResources.properties to DB?
Ian Vellosa wrote: But what do you do each time you add a new language, say German? you need to update the database structure adding a new column? Surely any solution should be generic enough not to need that. Unfortunately you would need the table to look something more like: key language value global.title enSomething global.title frquelque chose but that will get huge in no time at all! and I doubt that performance would be too good. Yes The db column design was wrong. Well how many resources do have or do you need? Surely you can read the message resource into memory java objects just once. When you host the web application it is not going to have just 64MB more like close to 1024 MB of RAM, man! Message Resources are almost singletons anymore. Therefore you cache the message resource in memory and do not query the database anymore unless you really to have ``dynamic message resources''. Now there's an idea that you can't do with the current static message resources ? -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Architecture advice....
Greg Hess wrote: Hi, I have designed our service layer using normal classes, I initialize the service layer on application start up and place them in the ServletContext. I have been looking at this strategy and considering using Static methods as well, as the only state in these classes is the jdbc driver and base data source. My persistency layer implementation handles concurrency issues and I don't think I would run into any issues having the application distributed to more than one server. Wish I could offer more help, but I am in the same boat. Greg In the past I have build a persistence layer interface or an abstract class and then extended with a concrete implementation that talks to a database. interface PersistenceLayer { public OrderDetail processOrder() ... } class OraclePersistenceLayer extends PersistenceLayer { public OrderDetail processOrder() ... } class SybasePersistenceLayer extends PersistenceLayer { public OrderDetail processOrder() ... } I used a factory to connect to right persistence layer at start up time. The bad thing thing I built or we built up huge Java source class 1000s of lines long over time. Now I would divide up the persistence layer using a mini BusinessDelegate patterns. I would refactor parts or factor the application into essential delegate parts. This helps reduce expensive RMI throughput in a EJB application. Have a look a Floyd Marinescu EJB patterns for more ideas Have a look Chuck Cavaness book has a IStoreFrontSecurity interface for user login. I would do the same with many interface for each part of the business application. ICustomerDetails IProcessOrders IShipping IConfirmation -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: struts book
Galbreath, Mark wrote: Your nomenclature is counter-intuitive. Mark So this explanation should make it a little clearer what I was saying. In Java primitive cannot be passed by reference so six months ago in a possibly now defunct project I wrote a Java ``Union'' class. class RefValUnion { String stringVal; int intVal; float floatVal; double doubleVal; Date dateVal; BigDecimal decimalVal; ... } In this project I used a master or superclass base action form to add validation and other extended functionality For instance I created all the utility date validation and financial input validation routines in this class class SuperActionForm extends ActionForm { boolean validateDate( String input, RefValUnion refval ) { ... } boolean validateBigDecimal( String input, RefValUnion refval ) { ... } } I created ActionForms for the project that extended the master like this one below. In the validate method I used the validate method in the super class to check the user input. All the validate methods return boolean value true or false. If the result is false then the validation failed otherwise the validation is successful. Almost all of the validate methods perform some conversion, the result is saved inside the reference value union `RefValUnion' this can be used by programmer. class CalcTaxActionForm extends SuperActionForm { String amountText; BigDecimal amount; public String getAmountAsText( ) {} public void setAmountAsText( String ) {} public BigDecimal getAmount() {} public void setAmount( BigDecimal ) {} ... public ActionErrors validate( HttpServletRequest request, ActionMapping mapping ) { ActionErrors errors = new ActionErrors(); // Check user ``tax'' input. I create a reference value // union RefValUnion refVal = new RefValUnion(); if ( validateBigDecimal( amountText, refVal )) { // Conversion worked. The validate method // saved the conversion result in the union // so I can use it. amount = refVal.decimalVal; } else { // Otherwise conversion failed. As normal add a new // error method to the collection and continue errors.add( new ActionError( ... )); } // More validation here. return errors; } } I think too fast for my typing hands sometimes. The fact is that David Winterfeld's ``Validator'' could have perhaps saved me from the developing the validate methods in the super class several months ago. Damn! That is why pick on it as soon as I saw the chapter 11 uploaded into the TheServerSide.com. It looks very useful and since the ``Validator'' can validate any JavaBean, then it gave me the idea to use it against an Enterprise JavaBean or if it can work with mapped property types then inside the Expresso Framework against a DBObject. Cool! I hope understood better -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: struts book
Chuck Cavaness wrote: It's not going to be available for review, but it will be in the book. I'm still rewriting this very moment :) chuck Struts validator chapter 11 is a good overview for a piece of complicated kit. I would suggest that new developer try to write their own validation with Java in a standard ActionForm before jumeping in the validator in a first project. You should also say that it possible to write a validation in Java utility class, and then use that across ActionForm. The other solution is create a master superclass ActionForm for your own project that has all the validation code in it. Subclassers can then use the validation methods. SuperActionForm extends ActionForm { Date validateDate( String ) { } } The discussion of the DynaValidationForm and DynaValidationActionForm was a little unclear on first reading. Also the ${var:minlength} and ${minlength} needs explanation in the sample XML for the CheckoutForm. I see you have tried to explain this in the text ? The XML does appear very complicated for a beginner or a user especially during the formset tags. You can declare constant tag in the XML files, but you did not explain why this is useful? You should say that it allows reference to the same regexp that is used multiple times in the formset tag content. I think you should give a little side bar on overview of regular expressions. If you find there is too many text, then the section you should regulate using the Validator without Struts to additional resources on a web sites. In the part Using JavaScript with the validator is the JavaScript template definition in the CDATA section required for each and every validator rule. Do you just write one rule with JavaScript inside it? In Internationalising the Validator, it would help if you explained what each formset was effectively doing. The default locale formset is validates the frist name and the French locale validates the last name. Is there a reason that the validation is not different and not the same. Anyway it was a good read. -- Peter Pilgrim +-\ +-+++++ Java Technologist | | | ||||| 'n' Shine | O | | || --+| ---+ /\| ._ / | | \ \ || / \ | | \ \ | |+-- || ---+ A new day /_ _\ Up| | | | | ||||| is coming ||+-+ +-+ +-+++++ home page=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Test [Ignore Mozilla 0.9.9 mail]
Test Does Mozilla/Linux send mail? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
I have left the Deutsch Bank UK stage
Tuesday 14th May 2002 All I have left Deutsche Bank UK, today. I have been made redundant because of global restructuring. I am now at home. Do not worry, I am okay. I am fine. THANKS to all the Jakarta Struts users and developer. I have enjoyed working with such a great product. Please could you grant me a favour. Could you please update, remove the name Deutsche Bank (UK) from any web pages or documents or PDFs that you have relating to me. -- Del Segno Al Coda Peter Pilgrim xml:web href=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
I have left the Deutsch Bank UK stage
Tuesday 14th May 2002 All I have left Deutsche Bank UK, today. I have been made redundant because of global restructuring. I am now at home. Do not worry, I am okay. I am fine. THANKS to all the Jakarta Struts users and developer. I have enjoyed working with such a great product. Please could you grant me a favour. Could you please update, remove the name Deutsche Bank (UK) from any web pages or documents or PDFs that you have relating to me. -- Del Segno Al Coda Peter Pilgrim xml:web href=http://www.xenonsoft.demon.co.uk/; / -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]