Re: [5.next] Refactoring save-to-XML

2004-07-30 Thread Filip Hanik - Dev
>Xerces still provide an XML Serializer, two actually

they all do, it is part of the standard Java XML API
see below, this way you don't have to import any outside libraries of the JDK

Filip

public static void writeXmlToFile(java.io.File f, Document d) {
Transformer transformer =
TransformerFactory.newInstance().newTransformer();
java.io.FileOutputStream out = new java.io.FileOutputStream(f);
StreamResult result = new StreamResult(out);
DOMSource source = new DOMSource(d);
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
//depending on which library you have

transformer.setOutputProperty("{http://xml.apache.org/xalan%7dindent-amount","4";);

transformer.setOutputProperty("{http://xml.apache.org/xslt%7dindent-amount","4";);
transformer.setOutputProperty(OutputKeys.METHOD,"xml");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"yes");
transformer.transform(source, result);


- Original Message -
From: "Remy Maucherat" <[EMAIL PROTECTED]>
To: "Tomcat Developers List" <[EMAIL PROTECTED]>
Sent: Friday, July 30, 2004 11:57 AM
Subject: Re: [5.next] Refactoring save-to-XML


Shapira, Yoav wrote:

>Hi,
>I think a gradual transition might be OK.  Server.xml, as Remy said, nicely conveys 
>the structure of the server's configuration.
That's possible to replicate in a JMX- or JBoss-style configuration file, but it tends 
to look uglier and more verbose IMHO.
However, your desired a good long-term goal also, I think.
>
>So for now I like the DOM + PropertyChangeEvent model that Remy has proposed.  
>Especially combined with the increased use of
setAllProperties, the configuration will be both less verbose and easier to 
save/restore.
>
>Xerces still provide an XML Serializer, two actually.  One is what I think we should 
>use, the DOM Level 3 Standard (meaning there's
a shot this thing is portable ;)): 
http://xml.apache.org/xerces2-j/javadocs/api/org/w3c/dom/ls/LSSerializer.html, 
specified in
http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/.  But as you see these things 
are fairly new, and as such might be buggy:
http://xml.apache.org/xerces2-j/dom3.html.  There's also at least one unimplemented 
method of the LSSerializer
(normalize-characters) but we might not need that one.
>
>
This is a big plus in favor of DOM 3. +1 for using it.

I see this stuff is available bundled on JDK 1.5 (like JMX and JMX
remote), so if we choose to use this, I think I'll advocate having the
default download for JDK 1.5, and a download for JDK 1.4 compatibility.

Rémy


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


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



Re: [5.next] Refactoring save-to-XML

2004-07-30 Thread Remy Maucherat
Shapira, Yoav wrote:
Hi,
I think a gradual transition might be OK.  Server.xml, as Remy said, nicely conveys 
the structure of the server's configuration.  That's possible to replicate in a JMX- 
or JBoss-style configuration file, but it tends to look uglier and more verbose IMHO.  
However, your desired a good long-term goal also, I think.
So for now I like the DOM + PropertyChangeEvent model that Remy has proposed.  
Especially combined with the increased use of setAllProperties, the configuration will 
be both less verbose and easier to save/restore.
Xerces still provide an XML Serializer, two actually.  One is what I think we should use, the DOM Level 3 Standard (meaning there's a shot this thing is portable ;)): http://xml.apache.org/xerces2-j/javadocs/api/org/w3c/dom/ls/LSSerializer.html, specified in http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/.  But as you see these things are fairly new, and as such might be buggy: http://xml.apache.org/xerces2-j/dom3.html.  There's also at least one unimplemented method of the LSSerializer (normalize-characters) but we might not need that one.
 

This is a big plus in favor of DOM 3. +1 for using it.
I see this stuff is available bundled on JDK 1.5 (like JMX and JMX 
remote), so if we choose to use this, I think I'll advocate having the 
default download for JDK 1.5, and a download for JDK 1.4 compatibility.

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


RE: [5.next] Refactoring save-to-XML

2004-07-30 Thread Shapira, Yoav

Hi,
I think a gradual transition might be OK.  Server.xml, as Remy said, nicely conveys 
the structure of the server's configuration.  That's possible to replicate in a JMX- 
or JBoss-style configuration file, but it tends to look uglier and more verbose IMHO.  
However, your desired a good long-term goal also, I think.

So for now I like the DOM + PropertyChangeEvent model that Remy has proposed.  
Especially combined with the increased use of setAllProperties, the configuration will 
be both less verbose and easier to save/restore.

Xerces still provide an XML Serializer, two actually.  One is what I think we should 
use, the DOM Level 3 Standard (meaning there's a shot this thing is portable ;)): 
http://xml.apache.org/xerces2-j/javadocs/api/org/w3c/dom/ls/LSSerializer.html, 
specified in http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407/.  But as you see 
these things are fairly new, and as such might be buggy: 
http://xml.apache.org/xerces2-j/dom3.html.  There's also at least one unimplemented 
method of the LSSerializer (normalize-characters) but we might not need that one.

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: news [mailto:[EMAIL PROTECTED] On Behalf Of Costin Manolache
>Sent: Friday, July 30, 2004 2:24 AM
>To: [EMAIL PROTECTED]
>Subject: Re: [5.next] Refactoring save-to-XML
>
>Remy Maucherat wrote:
>> Costin Manolache wrote:
>>
>>> The major problem is intercepting the changes. It can be done:
>>> - inside the jmx impl ( interceptors, etc )
>>> - using the property changed events
>>> - by wrapping each mbean when it is registered.
>>>
>>> One important question is if we need to save server.xml, or
>>> just say that server.xml is for legacy manual config, and use a
>>> different jmx-oriented format for settings.
>>>
>>> Another radical approach is to  use java settings api for
>>> storing/retrieving the settings - again, deprecate server.xml and you
>>> also need to intercept settings from jmx.
>>
>>
>> So after thinking about it quite a bit this evening, I'm leaning towards
>> DOM + using the property changed events. Obviously this will add a bit
>> to the development time (good thing I didn't propose any release plan
>> yet), as a replacement for digester is needed, the serializer (Xerces
>> used to have one we could steal) as well, and the logic to keep the DOM
>> tree and the Catalina objects in sync.
>
>We still have the problem of getting changes from JMX ( made via console
>) into the config. Property change events are ok, but it means all
>plugins will be required to support them.
>
>To be honest, I was hoping server.xml will disapear. Tomcat is now very
>JMX based, it is easily integrable into a lot of apps, it is used in
>large sites.  I don't think server.xml is the right choice for long term.
>
>What we need IMO is to separate the setting storage ( including
>updates). If tomcat is embedded in jboss, it should use jboss config
>style. It should also be able to use LDAP, NDS, win registry ( via
>java.prefs ) or any other config storage.
>All we really need is a list of mbeans and some attributes for each.
>
>Costin
>
>
>>
>> Thanks for the comments from everyone about various technologies, but
>> the big problem right now is that the save-to-xml really messes up the
>> XML configuration,so that people won't want to edit it manually ever
>> again once they start using the admin webapp (and then we know what
>> happens, there's a limitation/bug in the tool, and the user is stuck -
>> it's the M$ syndrome). DOM seems the only thing which keeps everything
>> (of course, it's the reason why it's slow, bloated and everyone hates it
>> ;) ).
>>
>> I'll keep on using the repackaged digester for web.xml parsing unless
>> someone has a better idea.
>>
>> Rémy
>
>
>-
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



Re: [5.next] Refactoring save-to-XML

2004-07-30 Thread Remy Maucherat
Costin Manolache wrote:
Remy Maucherat wrote:
Costin Manolache wrote:
The major problem is intercepting the changes. It can be done:
- inside the jmx impl ( interceptors, etc )
- using the property changed events
- by wrapping each mbean when it is registered.
One important question is if we need to save server.xml, or
just say that server.xml is for legacy manual config, and use a 
different jmx-oriented format for settings.

Another radical approach is to  use java settings api for 
storing/retrieving the settings - again, deprecate server.xml and 
you also need to intercept settings from jmx.

So after thinking about it quite a bit this evening, I'm leaning 
towards DOM + using the property changed events. Obviously this will 
add a bit to the development time (good thing I didn't propose any 
release plan yet), as a replacement for digester is needed, the 
serializer (Xerces used to have one we could steal) as well, and the 
logic to keep the DOM tree and the Catalina objects in sync.

We still have the problem of getting changes from JMX ( made via 
console ) into the config. Property change events are ok, but it means 
all
plugins will be required to support them.

To be honest, I was hoping server.xml will disapear. Tomcat is now 
very JMX based, it is easily integrable into a lot of apps, it is used 
in large sites.  I don't think server.xml is the right choice for long 
term.

What we need IMO is to separate the setting storage ( including 
updates). If tomcat is embedded in jboss, it should use jboss config 
style. It should also be able to use LDAP, NDS, win registry ( via 
java.prefs ) or any other config storage.
All we really need is a list of mbeans and some attributes for each.
Ah, ok. I thought you were ok with the DOM/server.xml solution. You 
mention technical problems, but there are none: container events will 
also need to be used.

I think a JMX based config file would be more complex than server.xml to 
manipulate for end users (more verbose, even less error checking, 
because we won't be able to come up with a DTD or schema even if we 
wanted to, and finally it doesn't represent the actual server 
structure). So that's a number of problems as far as I'm concerned.
A resource abstraction is quite complex as well (either it's XML or it's 
not ;) ), and I'm not going to do it. If you want some scheme where 
Tomcat gets its XML config files from somewhere on startup, then I'm ok 
with someone adding that.

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


Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Costin Manolache
Remy Maucherat wrote:
Costin Manolache wrote:
The major problem is intercepting the changes. It can be done:
- inside the jmx impl ( interceptors, etc )
- using the property changed events
- by wrapping each mbean when it is registered.
One important question is if we need to save server.xml, or
just say that server.xml is for legacy manual config, and use a 
different jmx-oriented format for settings.

Another radical approach is to  use java settings api for 
storing/retrieving the settings - again, deprecate server.xml and you 
also need to intercept settings from jmx.

So after thinking about it quite a bit this evening, I'm leaning towards 
DOM + using the property changed events. Obviously this will add a bit 
to the development time (good thing I didn't propose any release plan 
yet), as a replacement for digester is needed, the serializer (Xerces 
used to have one we could steal) as well, and the logic to keep the DOM 
tree and the Catalina objects in sync.
We still have the problem of getting changes from JMX ( made via console 
) into the config. Property change events are ok, but it means all
plugins will be required to support them.

To be honest, I was hoping server.xml will disapear. Tomcat is now very 
JMX based, it is easily integrable into a lot of apps, it is used in 
large sites.  I don't think server.xml is the right choice for long term.

What we need IMO is to separate the setting storage ( including 
updates). If tomcat is embedded in jboss, it should use jboss config 
style. It should also be able to use LDAP, NDS, win registry ( via 
java.prefs ) or any other config storage.
All we really need is a list of mbeans and some attributes for each.

Costin

Thanks for the comments from everyone about various technologies, but 
the big problem right now is that the save-to-xml really messes up the 
XML configuration,so that people won't want to edit it manually ever 
again once they start using the admin webapp (and then we know what 
happens, there's a limitation/bug in the tool, and the user is stuck - 
it's the M$ syndrome). DOM seems the only thing which keeps everything 
(of course, it's the reason why it's slow, bloated and everyone hates it 
;) ).

I'll keep on using the repackaged digester for web.xml parsing unless 
someone has a better idea.

Rémy

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


Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Remy Maucherat
Costin Manolache wrote:
The major problem is intercepting the changes. It can be done:
- inside the jmx impl ( interceptors, etc )
- using the property changed events
- by wrapping each mbean when it is registered.
One important question is if we need to save server.xml, or
just say that server.xml is for legacy manual config, and use a 
different jmx-oriented format for settings.

Another radical approach is to  use java settings api for 
storing/retrieving the settings - again, deprecate server.xml and you 
also need to intercept settings from jmx.
So after thinking about it quite a bit this evening, I'm leaning towards 
DOM + using the property changed events. Obviously this will add a bit 
to the development time (good thing I didn't propose any release plan 
yet), as a replacement for digester is needed, the serializer (Xerces 
used to have one we could steal) as well, and the logic to keep the DOM 
tree and the Catalina objects in sync.

Thanks for the comments from everyone about various technologies, but 
the big problem right now is that the save-to-xml really messes up the 
XML configuration,so that people won't want to edit it manually ever 
again once they start using the admin webapp (and then we know what 
happens, there's a limitation/bug in the tool, and the user is stuck - 
it's the M$ syndrome). DOM seems the only thing which keeps everything 
(of course, it's the reason why it's slow, bloated and everyone hates it 
;) ).

I'll keep on using the repackaged digester for web.xml parsing unless 
someone has a better idea.

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


Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Remy Maucherat
Costin Manolache wrote:
Remy Maucherat wrote:
Hi,
I'd like to make this feature less hardcoded (right now, it's ugly ;) 
). A first step would be to extract the code to another helper class, 
but that's all I can think of. Does anyone have any ideas ?
What I tried earlier ( but didn't finish ), and I still think is a 
good idea - use the old DOM, and have config changes reflected to the 
config tree _when they are done_, instead of pulling every property 
from each mbean.
That's the idea.
The major problem is intercepting the changes. It can be done:
- inside the jmx impl ( interceptors, etc )
Yeah, well, I'm not too hot about that. We'd have to use broadcasters 
everywhere, etc. That code isn't especially nice if we have to do it for 
every single property event. I may have performance issues (on the 
listener side, you can use regexps for registration and filters: this 
looks rather expensive to me). So it might work, but I'm not sure about 
it right now.

- using the property changed events
Big advantage: they're already there, and we're sucessfully using them 
for stuff we really shouldn't (the naming context updates).

- by wrapping each mbean when it is registered.
But we'd have to do all property changes through JMX then, which is 
quite annoying.

Actually, this DOM syncing would be a good job for some aspect ;)
One important question is if we need to save server.xml, or
just say that server.xml is for legacy manual config, and use a 
different jmx-oriented format for settings.
That's a good question. I like the current server.xml, since it 
represents well the structure of the server. I don't see the JMX 
configuration as being that much simpler to save (and it's definitely 
more verbose). The advantage is that it faithfully represents the init 
process, and you could do the same in a Java program to instantiate the 
same server.

Another radical approach is to  use java settings api for 
storing/retrieving the settings - again, deprecate server.xml and you 
also need to intercept settings from jmx. 
java.util.prefs ?
Rémy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Peter Lin
On Thu, 29 Jul 2004 16:55:39 +0200, Remy Maucherat <[EMAIL PROTECTED]> wrote:
> I think it's a start. You identified the downsides well enough, but
> unfortunately, they're a showstopper for me. Additional tweaks are
> needed. I see that others suggested other technologies, but we'd have
> many issues as well (assuming XStream or the others can serialize the
> Catalina tree to a XML which would be readable, I don't see how it would
> possibly be able to restore it).

the XStream API is super simple and I think it should be able to
restore the object.

XStream xstream = new XStream();
 String xml = xstream.toXML(myObject); // serialize to XML
 Object myObject2 = xstream.fromXML(xml); // deserialize from XML

the only catch I can see is it doesn't use attributes. In the case of
JMeter, mike wrote a simple class to convert jmeter's hashtree to a
simpler format. that resulted in smaller files and good performance.


> 
> Another recurrent problems:
> - None of these things support manual editing of the XML file (well,
> they do, but any formatting, commets, etc is lost)
> - The way stuff is saved is clearly quite bad (save evrything, rather
> than just what is actually modified on one object)
> 

you do loose comments with XStream. Not sure how important comments
are. XStream is xml from a java perspective, so it's the opposite of
DOM in that respect.

> And this is where I think DOM might not suck after all:
> - it's a very good representation of the XML document (unlike all the
> other "fast" solutions, which usually discard the non meaningful stuff)
> - by keeping the elements in memory, and using the ContainerListener
> stuff that I want to remove, we could update the relevant DOM elements
> as needed rather than blindly save all the non default properties of
> every object (which doesn't work well with global config files to set
> defaults, and as soon as you press save all the defaults appear in every
> config file)
> - when asked, we serialize the DOM trees to files; if the serializer is
> good enough, we'll end up with the same as the original files, with only
> the needed modifications
> 
> The problems:
> - it's slower (I think no, the files we're using are small)
> - we would need a DOM Digester to read the internal config (server.xml,
> all context files), while the usual Digester would handle the (much
> bigger) standard deployment descriptors with SAX
> 
> 
> 
> Rémy
> 

another option might by Jibx, which is also xml from a Java
perspective. It's much more flexible and allows for all sorts of
mapping/conversion.

peter

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



Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Costin Manolache
Remy Maucherat wrote:
Hi,
I'd like to make this feature less hardcoded (right now, it's ugly ;) ). 
A first step would be to extract the code to another helper class, but 
that's all I can think of. Does anyone have any ideas ?
What I tried earlier ( but didn't finish ), and I still think is a good 
idea - use the old DOM, and have config changes reflected to the config 
tree _when they are done_, instead of pulling every property from each 
mbean.

The major problem is intercepting the changes. It can be done:
- inside the jmx impl ( interceptors, etc )
- using the property changed events
- by wrapping each mbean when it is registered.
One important question is if we need to save server.xml, or
just say that server.xml is for legacy manual config, and use a 
different jmx-oriented format for settings.

Another radical approach is to  use java settings api for 
storing/retrieving the settings - again, deprecate server.xml and you 
also need to intercept settings from jmx.

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


Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Remy Maucherat
Shapira, Yoav wrote:
Hi,
I've done a bit of work in this space.  One approach that I've seen work with very complex object graphs is:
- Have an interface, e.g. XMLRepresentationI, with one method, 
String toXML();
- Have every object along the graph that needs to be saved implement this interface, e.g. Context, Host, Engine, etc.  To save a complete Server, we'd call Server.toXML().  The Server would output its own start tag, then call its children containers, e.g. Engine, etc, and then the Server would output its own close tag.  The Host would call toXML on all its Contexts, etc.

The advantages of this approach include simplicity (each toXML method tends to be very simple), ease of debugging, and ease of extension by users who write custom classes.  It's also obviously possible to do whatever we want with the Server.toXML() output, including writing it in an i18n stream (a current problem of the admin webapp is recurring issues with i18n and encoding), and conveying it over JMX or SNMP to controlling applications or monitoring dashboards.  

It's also possible to create something like ReflectionToStringBuilder (see Jakarta 
Commons-Lang API JavaDocs) to automatically generate these XML Strings.
This in a sense is a sort of reverse-Digester.
There are alternatives like XMLBeans, XPull, XStream that play in this space also, as 
others have mentioned.  But these are additional dependencies and I'm not in a rush to 
add those.
The downsides of this approach are:
- If we add an attribute to something, we need to modify the toXML method.  This is 
mitigated by using a ReflectionToXMLBuilder as I suggest above.
- The writing code is all over the Catalina codebase, distributed to each component.  
Some people would prefer to have the writing code in one place, and I understand that. 
 It's a valid design choice either way IMHO, but the latter can pose access problems 
(everything written would need to be public, can't be protected, whereas with the 
toXML approach above we easily write private and protected fields.
So there's one idea...
I think it's a start. You identified the downsides well enough, but 
unfortunately, they're a showstopper for me. Additional tweaks are 
needed. I see that others suggested other technologies, but we'd have 
many issues as well (assuming XStream or the others can serialize the 
Catalina tree to a XML which would be readable, I don't see how it would 
possibly be able to restore it).

Another recurrent problems:
- None of these things support manual editing of the XML file (well, 
they do, but any formatting, commets, etc is lost)
- The way stuff is saved is clearly quite bad (save evrything, rather 
than just what is actually modified on one object)

And this is where I think DOM might not suck after all:
- it's a very good representation of the XML document (unlike all the 
other "fast" solutions, which usually discard the non meaningful stuff)
- by keeping the elements in memory, and using the ContainerListener 
stuff that I want to remove, we could update the relevant DOM elements 
as needed rather than blindly save all the non default properties of 
every object (which doesn't work well with global config files to set 
defaults, and as soon as you press save all the defaults appear in every 
config file)
- when asked, we serialize the DOM trees to files; if the serializer is 
good enough, we'll end up with the same as the original files, with only 
the needed modifications

The problems:
- it's slower (I think no, the files we're using are small)
- we would need a DOM Digester to read the internal config (server.xml, 
all context files), while the usual Digester would handle the (much 
bigger) standard deployment descriptors with SAX

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


RE: [5.next] Refactoring save-to-XML

2004-07-29 Thread Shapira, Yoav

Hi,
I've done a bit of work in this space.  One approach that I've seen work with very 
complex object graphs is:
- Have an interface, e.g. XMLRepresentationI, with one method,
String toXML();
- Have every object along the graph that needs to be saved implement this interface, 
e.g. Context, Host, Engine, etc.  To save a complete Server, we'd call Server.toXML(). 
 The Server would output its own start tag, then call its children containers, e.g. 
Engine, etc, and then the Server would output its own close tag.  The Host would call 
toXML on all its Contexts, etc.

The advantages of this approach include simplicity (each toXML method tends to be very 
simple), ease of debugging, and ease of extension by users who write custom classes.  
It's also obviously possible to do whatever we want with the Server.toXML() output, 
including writing it in an i18n stream (a current problem of the admin webapp is 
recurring issues with i18n and encoding), and conveying it over JMX or SNMP to 
controlling applications or monitoring dashboards.

It's also possible to create something like ReflectionToStringBuilder (see Jakarta 
Commons-Lang API JavaDocs) to automatically generate these XML Strings.

This in a sense is a sort of reverse-Digester.

There are alternatives like XMLBeans, XPull, XStream that play in this space also, as 
others have mentioned.  But these are additional dependencies and I'm not in a rush to 
add those.

The downsides of this approach are:
- If we add an attribute to something, we need to modify the toXML method.  This is 
mitigated by using a ReflectionToXMLBuilder as I suggest above.
- The writing code is all over the Catalina codebase, distributed to each component.  
Some people would prefer to have the writing code in one place, and I understand that. 
 It's a valid design choice either way IMHO, but the latter can pose access problems 
(everything written would need to be public, can't be protected, whereas with the 
toXML approach above we easily write private and protected fields.

So there's one idea...

Yoav Shapira
Millennium Research Informatics


>-Original Message-
>From: Remy Maucherat [mailto:[EMAIL PROTECTED]
>Sent: Thursday, July 29, 2004 9:57 AM
>To: Tomcat Developers List
>Subject: [5.next] Refactoring save-to-XML
>
>Hi,
>
>I'd like to make this feature less hardcoded (right now, it's ugly ;) ).
>A first step would be to extract the code to another helper class, but
>that's all I can think of. Does anyone have any ideas ?
>
>Rémy
>
>
>-
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



RE: [5.next] Refactoring save-to-XML

2004-07-29 Thread Benson Margulies
XPull?

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



Re: [5.next] Refactoring save-to-XML

2004-07-29 Thread Peter Lin
hey remy,


have you tried XStream?  the API is super simple and it's quite fast.
Not sure if it would work, but we recently changed JMeter to use
XStream instead.

peter

> 
> -Original Message-
> From: [EMAIL PROTECTED]
> Sent: 7/29/2004 6:56:40 AM
> To: [EMAIL PROTECTED]
> Subject: [5.next] Refactoring save-to-XML
> 
> Hi,
> 
> I'd like to make this feature less hardcoded (right now, it's ugly ;) ).
> A first step would be to extract the code to another helper class, but
> that's all I can think of. Does anyone have any ideas ?
> 
> Rémy
>

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



RE: [5.next] Refactoring save-to-XML

2004-07-29 Thread help
This is a computer-generated response confirming that your e-mail
message was received by There. Please do not respond to this message.

Thank you for contacting us. We will make every effort to respond to
your message as soon as possible.

Please do not send multiple e-mail messages (regarding the same
subject) before you have received a response as this can cause confusion and
possibly delay our response to you.

Our Customer Support team is also available via the Live Help link on There
Central, from the Help link on www.there.com, or in-world (Get Help>There
Live Help).  Live Help is available M-F, 2-8pm PT.

Thank You,

There Customer Support

[THREAD ID: 1-20WYZD]

-Original Message-
From: [EMAIL PROTECTED]
Sent: 7/29/2004 6:56:40 AM
To: [EMAIL PROTECTED]
Subject: [5.next] Refactoring save-to-XML

Hi,

I'd like to make this feature less hardcoded (right now, it's ugly ;) ).
A first step would be to extract the code to another helper class, but
that's all I can think of. Does anyone have any ideas ?

RÃmy


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


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



[5.next] Refactoring save-to-XML

2004-07-29 Thread Remy Maucherat
Hi,
I'd like to make this feature less hardcoded (right now, it's ugly ;) ). 
A first step would be to extract the code to another helper class, but 
that's all I can think of. Does anyone have any ideas ?

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