simple-support Mailing List for Simple (Page 76)
Brought to you by:
niallg
You can subscribe to this list here.
| 2007 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
(13) |
May
(13) |
Jun
(27) |
Jul
(4) |
Aug
(14) |
Sep
(7) |
Oct
|
Nov
(6) |
Dec
(24) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
(21) |
Mar
(10) |
Apr
(15) |
May
(24) |
Jun
(24) |
Jul
(30) |
Aug
(5) |
Sep
(19) |
Oct
(27) |
Nov
(16) |
Dec
(24) |
| 2009 |
Jan
(34) |
Feb
(24) |
Mar
(35) |
Apr
(26) |
May
(8) |
Jun
(17) |
Jul
(28) |
Aug
(31) |
Sep
(36) |
Oct
(35) |
Nov
(20) |
Dec
(16) |
| 2010 |
Jan
(40) |
Feb
(21) |
Mar
(47) |
Apr
(45) |
May
(34) |
Jun
(68) |
Jul
(46) |
Aug
(39) |
Sep
(47) |
Oct
(20) |
Nov
(42) |
Dec
(13) |
| 2011 |
Jan
(41) |
Feb
(16) |
Mar
(32) |
Apr
(44) |
May
(28) |
Jun
(35) |
Jul
(37) |
Aug
(33) |
Sep
(60) |
Oct
(20) |
Nov
(35) |
Dec
(23) |
| 2012 |
Jan
(34) |
Feb
(23) |
Mar
(34) |
Apr
(21) |
May
(48) |
Jun
(24) |
Jul
(31) |
Aug
(39) |
Sep
(25) |
Oct
(10) |
Nov
(27) |
Dec
(28) |
| 2013 |
Jan
(32) |
Feb
(24) |
Mar
(24) |
Apr
(9) |
May
(4) |
Jun
(6) |
Jul
(2) |
Aug
(5) |
Sep
|
Oct
(5) |
Nov
(1) |
Dec
(12) |
| 2014 |
Jan
(14) |
Feb
(16) |
Mar
(5) |
Apr
(3) |
May
(2) |
Jun
(8) |
Jul
(2) |
Aug
|
Sep
(6) |
Oct
|
Nov
(6) |
Dec
|
| 2015 |
Jan
(3) |
Feb
(15) |
Mar
(7) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
| 2016 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Timo R. <cr...@ol...> - 2008-04-12 22:00:20
|
Hello,
I have a question regarding the persister callback session map and the
template system (appropriate documentation section is "Maintaining
state between persister callbacks").
I have a XML file, which looks like this:
-------------
<MyObjects>
<MyInterface class="net.test.lib.concurrent.theme.InterfaceImpl1"/>
<MyInterface class="net.test.lib.concurrent.theme.InterfaceImpl2"/>
<MyInterface class="net.test.lib.concurrent.theme.InterfaceImpl3"/>
</MyObjects>
-------------
The XML above is of course only a simplification of the real
structure. There are a lot of entries for "<MyInterface...", and every
entry has the same packge but a different class (it is always
"net.test.lib.concurrent.theme.").
Now it would be really nice to replace those package declarations with
a template variable, so the XML looks like this:
-------------
<MyObjects>
<property name="package" value="net.test.lib.concurrent.theme"/>
<MyInterface class="${package}.InterfaceImpl1"/>
<MyInterface class="${package}.InterfaceImpl2"/>
<MyInterface class="${package}.InterfaceImpl3"/>
</MyObjects>
-------------
That way I could easily change the package name and must not touch
every "<MyInterface..." line. In the documentation you write "The
templating engine has access to all details placed into the session
map object.", but this seems only to be true for other "normal"
elements, not the "class" attribute of an element.
Is this a real limitation, or even a bug?
(The framework just does not substitute ${package}, so it tries to
load the class "${package}.InterfaceImpl1" instead of
"net.test.lib.concurrent.theme.InterfaceImpl1").
I'm using the XML file to configure a rather complex system (like a
build system) and this feature would be extremely useful in many
cases for me (and for others, too, for sure).
If this is a limitation, may you think about implementing this feature
so the template system also works for those "class" attributes in the
XML elements? That would be great!
Best regards,
Timo
|
|
From: Niall G. <gal...@ya...> - 2008-04-12 16:35:59
|
Hi, Thanks for the feedback, glad you like the framework. Yes, the construct you mentioned can be done with an org.simpleframework.xml.util.Dictionary also, although this is a List that has a "get" method to retrieve objects by key. Regards, Niall --- Timo Rumland <cr...@ol...> wrote: > Hello, > > > Hello, > > I have a question regarding the serialization of > maps. Let's assume > > we have the following two Classes: > > .. > > I think I found a solution for that. I now use a > persister callback > (@Commit, @Persist and @Complete) to transform my > map data into a > normal ArrayList and back for the serialization > process. That way, I > can achieve the XML structure I wanted to. > > This XML framework is amazing, it is definitely in > my top 5 of Java > frameworks of all times :) > > > Best regards, > Timo > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 > JavaOne(SM) Conference > Don't miss this year's exciting event. There's still > time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Simple-support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simple-support > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: Timo R. <cr...@ol...> - 2008-04-12 15:48:30
|
Hello, > Hello, > I have a question regarding the serialization of maps. Let's assume > we have the following two Classes: > .. I think I found a solution for that. I now use a persister callback (@Commit, @Persist and @Complete) to transform my map data into a normal ArrayList and back for the serialization process. That way, I can achieve the XML structure I wanted to. This XML framework is amazing, it is definitely in my top 5 of Java frameworks of all times :) Best regards, Timo |
|
From: Timo R. <cr...@ol...> - 2008-04-12 12:49:56
|
Hello,
I have a question regarding the serialization of maps. Let's assume we
have the following two Classes:
--------------
@Root( name = "UIDefinition" )
public class UIAdapterModel {
@ElementMap(entry="UserInterface", key="key", attribute=true, inline=true )
public HashMap<String, UserInterface> userInterfaces = new HashMap<String, UserInterface>();
}
@Root
public class UserInterface {
@Element
public String identifier = null;
}
--------------
My serialization code looks like this:
--------------
Serializer serializer = new Persister();
UIAdapterModel model = new UIAdapterModel();
model.userInterfaces.put("id1", new UserInterface("id1"));
serializer.write(model, System.out);
--------------
(Note: The constructor of class "UserInterface" sets the "identifier"
member of that instance.)
What I now get the the following XML output:
<UIDefinition>
<UserInterface key="id1">
<userInterface>
<identifier>id1</identifier>
</userInterface>
</UserInterface>
</UIDefinition>
My question is now, why is there the "<userInterface>" tag? What I
wanted to have is just:
<UIDefinition>
<UserInterface key="id1">
<identifier>id1</identifier>
</UserInterface>
</UIDefinition>
When I look at your example on the tutorial page of Simple XML in the
"Dealing with map objects" section, the XML output is:
<properties>
<property key="one">first value</property>
<property key="two">second value</property>
</properties>
There is not another tag like in my output. Why is that? Perhaps
because Strings are handled somewhat different than arbitrary classes?
Is there a way to get an output without that "<userInterface>" tag?
Thanks a lot for your help!
Best regards,
Timo
|
|
From: Niall G. <gal...@ya...> - 2008-04-11 08:17:37
|
Hi,
Yes it is possible, however you will need more
metadata than the the typed map can provide so the
following will work.
private Map<String, AttributeList> attributeSets;
@Root
private class AttributeSet {
@ElementList(inline=true)
private List<String> attribute;
@Attribute
private String id;
public List<String> getList() {
return attribute;
}
}
Hope this helps.
Niall
--- Johannens Zillmann <JZ...@10...> wrote:
> Hi there,
>
> the framework looks great!
> I have following xml
> <attributeSets>
> <attributeSet id="set1">
> <attribute type="STRING">aString</attribute>
> <attribute type="LONG">124</attribute>
> </attributeSet>
> <attributeSet id="set2">
> <attribute type="STRING">a2ndString</attribute>
> </attributeSet>
> </attributeSets>
>
> I wonder if its possible to map this to a single map
> ?
> The mapKey should be the id attribute of
> attributeSet.
> The mapValue should be an List of Attribute objects.
> The signature looks like Map<String,
> List<Attribute>>
>
> So given this example xml the map would have to
> entries.
> The value of the first entry is a list of 2
> attributes.
> The value of the second is a list of 1 attribute.
>
> Is that possible ?
> Johannes
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 101tec GmbH
> Halle (Saale), Saxony-Anhalt, Germany
> http://www.101tec.com
>
> >
-------------------------------------------------------------------------
> This SF.net email is sponsored by the 2008
> JavaOne(SM) Conference
> Don't miss this year's exciting event. There's still
> time to save $100.
> Use priority code J8TL2D2.
>
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone>
_______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
|
|
From: Johannens Z. <JZ...@10...> - 2008-04-09 21:39:10
|
Hi there, the framework looks great! I have following xml <attributeSets> <attributeSet id="set1"> <attribute type="STRING">aString</attribute> <attribute type="LONG">124</attribute> </attributeSet> <attributeSet id="set2"> <attribute type="STRING">a2ndString</attribute> </attributeSet> </attributeSets> I wonder if its possible to map this to a single map ? The mapKey should be the id attribute of attributeSet. The mapValue should be an List of Attribute objects. The signature looks like Map<String, List<Attribute>> So given this example xml the map would have to entries. The value of the first entry is a list of 2 attributes. The value of the second is a list of 1 attribute. Is that possible ? Johannes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec GmbH Halle (Saale), Saxony-Anhalt, Germany http://www.101tec.com |
|
From: Alex - B. S. P. <al...@bo...> - 2008-04-01 04:12:57
|
Please check our websites to see exclusive properties in Rome and in Umbria!!!! distinti saluti, Alex IL GIRASOLE GESTIONI TURISTICHE DIRETTE PRESENTA: BORGO SAN PANCRAZIO (AMELIA, UMBRIA) Borgo Medievale in Umbria ad un ora da Roma da 50eu www.borgosanpancrazio.eu (ANCHE MATRIMONI, TEAMBUILDING, CINEMA LOCATION, TEATRO DI PROVA, CONVEGNI) ROMA, Trastevere in appartamenti da 30eu <http://www.bedintrastevere.com> www.bedintrastevere.com - www.bedinrome.eu (WEEKEND, SETTIMANE E SOGGIORNI TURISTICI) CONTATTATECI PER OGNI ESIGENZA Il Girasole Kft ***** best regards, Alex IL GIRASOLE DIRECT TOURISTICAL REAL ESTATE MANAGEMENT BORGO SAN PANCRAZIO (AMELIA, UMBRIA) Middleage Village in Umbria, 1 hour from Rome from 50eu <http://www.borgosanpancrazio.eu> www.borgosanpancrazio.eu (ALSO WEDDINGS, TEAMBUILDING, MOVIE LOCATION, WORK THEATER, CONVENTION) ROME, Trastevere in apartments from 30eu www.bedintrastevere.com (WEEKENDS, WEEKS AND TOURISTICAL SOJOURNS) CONTACT US FOR FURTHER INFOS Il Girasole Kft ***** Пристальному вниманию Турагенств, мененжеров, туроператоров работающих в секторе выездного туризма. Ассоциация S.R.L. (Италия) приглашает вас к партнерству, на взаимновыгодных условиях.Ассоциация S.R.L. представляет отдыхающим эсклюзивные апартаменты в столице Италии, городе Риме в зданиях эпохи возраждения, а так же апартамениты в средневековом замке ”Сан Панкрацио” флорентийской области.Подробную информацию вы можете вы можете посмотреть по сайту: <http://www.borgosanpancrazio.eu> www.borgosanpancrazio.eu <http://www.bedintrastevere.com> www.bedintrastevere.com <http://www.bedinrome.eu> www.bedinrome.eu Если вас заинтересовали наши предложения, мы будем рады установить с вами выгодные контакты, базирующиеся на комиссионных ставках или ценах нетто. С любыми вопросами по организации отдыха туристов отправляйте электронной почтой по адресу: <mailto:t.a...@bo...> t.a...@bo... Мы надеемся, что вас заинтересует сотрудничить с нами и ждем с нетерпением вашего ответа. ***** BORGO SAN PANCRAZIO (AMELIA, UMBRIEN) mittelalterliche Ortschaft in Umbrien, eine Autostunde von Rom entfernt, ab 50€ <http://www.borgosanpancrazio.eu> www.borgosanpancrazio.eu (auch HOCHZEITFEIERN, TEAMBUILDING, KINO LOCATION, THEATER, TAGUNGEN) ROMA, Trastevere, Wohnungen ab 30€ <http://www.bedintrastevere.com> www.bedintrastevere.com - www.bedinrome.eu (WOCHENENDE, WOCHEN UND TOURISTISCHE AUFENTHALTE) FÜR WEITERE AUSKÜNFTE STEHEN WIR GERNE ZUR VERFÜGUNG Il Girasole Kft |
|
From: Niall G. <gal...@ya...> - 2008-03-22 10:13:46
|
Hi, Yes I have been thinking of doing this. It should be pretty easy to do, however I have not got around to it yet. I think this will probably be the next big enhancement to the project. Niall --- "Borkholder, Brandon" <bor...@gm...> wrote: > I discovered Simple XML and I think it's great. I > like the concept of > source-first much better than JAXB's schema-first. > But I was wondering > if you've thought of being able to generate an XSD > schema from the class > annotations. I know I'd find it useful when I need > to send other people > an XML schema for my objects. > > Thanks again for your work. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio > 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Simple-support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simple-support > ____________________________________________________________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping |
|
From: Niall G. <gal...@ya...> - 2008-03-22 10:11:25
|
Hi,
You could use this.
@Root(name="ENV")
public class Env {
@ElementList(name="VIDEO")
private List<Cam> list;
}
@Root(name="CAM")
public class Cam {
@Attribute(name="ADDR")
private String addr;
@Text
private String text;
}
However the free text "Q" can not be supported as it
needs to be wrapped in an element. Free text and
elements can not be mixed in the schama currently.
Niall
--- John Matthews <jo...@qu...> wrote:
> I have an XML document and I am having troubles
> setting up my object
> class to parse into. Here is what I have:
> <ENV>
> <VIDEO>Q</VIDEO>
> </ENV>
> or it can be
> <ENV>
> <VIDEO>
> <CAM ADDR="1">TEXT</CAM>
> <CAM ADDR="2">TEXT</CAM>
> </VIDEO>
> </ENV>
>
> So how do I setup my one class to handle both
> situations?
> @Root
> public class Env {
> @Element(required=false)
> public Video video= new Video();
>
> @Root
> public static class Video {
> @Element(required=false)
> public Cam cam;
> }
>
> @Root
> public static class Cam {
> @Attribute(required=false)
> public String addr;
>
> public String text;
>
> @Text(required=false)
> public String getText() {
> return text;
> }
>
> @Text(required=false)
> public void setText(String text){
> this.text = text;
> }
> }
> }
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
|
|
From: Niall G. <gal...@ya...> - 2008-03-12 18:45:21
|
Hi,
I am not sure what you mean by access. If your talking
about an object reference access, then thats simple.
Do the following.
class Parent {
public void commit(Map session){
session.put("parent", this);
}
}
class Child {
public void commit(Map session) {
Parent p = (Parent)session.get("parent");
// ... do whatever
}
}
Hope this helps.
Niall
--- Benoît Pointet <ben...@un...> wrote:
> Hi there!
>
> first of all thanks ... it's so simple! so simple
> that when I hit
> something, I can't help myself from thinking I've
> misread the doc. But
> after having read it twice, I still have this
> problem :
>
> I'm working on a simulation toolkit, companion of a
> multi-agent
> communication system.
> the toolkit involves configuring complex scenarios
> with xml.
>
> the structure of those config XML files looks like :
>
> simulation
> . platform
> . . agent
> . . . argument
> . . agent
> . . agent
> . population
> . . actor
> . . . profile
> . . . agent
> . . . . type
> . . . . classname
> . . . agent
> . scenario
> . . phase
> . . . agent
> . . . action
> . . phase
>
> ...you get the picture
>
> I successfully can deserialize this structure into a
> structure of
> corresponding objects, and the id-ref mechanism
> works like a charm.
>
> But I surely would need that AN OBJECT MAY ACCESS
> ITS PARENT in this
> object hierarchy.
>
> I naively though there'd be a @Parent annotation one
> may apply to a
> field (of type Object) to automatize linking to
> parent, but this don't
> exist.
>
> I could I generalize this linking to the parent
> object at
> deserialization time ?
>
> thanks,
> b.
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
|
|
From: Benoît P. <ben...@un...> - 2008-03-12 15:19:43
|
Hi there! first of all thanks ... it's so simple! so simple that when I hit something, I can't help myself from thinking I've misread the doc. But after having read it twice, I still have this problem : I'm working on a simulation toolkit, companion of a multi-agent communication system. the toolkit involves configuring complex scenarios with xml. the structure of those config XML files looks like : simulation . platform . . agent . . . argument . . agent . . agent . population . . actor . . . profile . . . agent . . . . type . . . . classname . . . agent . scenario . . phase . . . agent . . . action . . phase ...you get the picture I successfully can deserialize this structure into a structure of corresponding objects, and the id-ref mechanism works like a charm. But I surely would need that AN OBJECT MAY ACCESS ITS PARENT in this object hierarchy. I naively though there'd be a @Parent annotation one may apply to a field (of type Object) to automatize linking to parent, but this don't exist. I could I generalize this linking to the parent object at deserialization time ? thanks, b. |
|
From: Niall G. <gal...@ya...> - 2008-03-10 21:34:47
|
Hi Yaniv, This is exactly what the Strategy is intended to do. As well as implementing your own, you can use a filter/decorator pattern. Where you implement a strategy that transforms the result of the Defaultstrategy. Here you could simply modify the NodeMap before invoking the DefaultStragegy.setRoot and DefaultStrategy.setElement and modify it back to the expected form before invoking DefaultStrategy.getRoot and Defaultstrategy.getRoot. Either that or you could just create your own strategy based on the DefaultStratgy and modify it to do what you need. I am intending on making it easier to do this type of thing in furture releases. Niall --- Yaniv Kunda <Ku...@Te...> wrote: > I wanted to implement a strategy that, similarly to > the DefaultStrategy > class, determines the class of the parsed element > from the optional > "class" attribute. > The difference is that I want to derive the class > off a different > attribute, using some arbitrary logic. > For example, instead of the following XML: > <tasks> > <task class="com.tasks.FirstTask"> > <init>true</init> > </task> > <task class="com.tasks.SecondTask"> > <start>true</start> > </task> > </tasks> > > I would like to have this XML: > <tasks> > <task type=1> > <init>true</init> > </task> > <task type=2> > <start>true</start> > </task> > </tasks> > Plus some code responsible for the logic. > > If the getClass(String) method in DefaultStrategy > was protected and not > private, this could be done via a simple extended > class containing a > single method override. > > Does this sounds like a good idea, or is there a > simpler way to do it? > > Regards, > Yaniv Kunda > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio > 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Simple-support mailing list > Sim...@li... > https://lists.sourceforge.net/lists/listinfo/simple-support > ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ |
|
From: Yaniv K. <Ku...@Te...> - 2008-03-10 16:43:44
|
I wanted to implement a strategy that, similarly to the DefaultStrategy
class, determines the class of the parsed element from the optional
"class" attribute.
The difference is that I want to derive the class off a different
attribute, using some arbitrary logic.
For example, instead of the following XML:
<tasks>
<task class="com.tasks.FirstTask">
<init>true</init>
</task>
<task class="com.tasks.SecondTask">
<start>true</start>
</task>
</tasks>
I would like to have this XML:
<tasks>
<task type=1>
<init>true</init>
</task>
<task type=2>
<start>true</start>
</task>
</tasks>
Plus some code responsible for the logic.
If the getClass(String) method in DefaultStrategy was protected and not
private, this could be done via a simple extended class containing a
single method override.
Does this sounds like a good idea, or is there a simpler way to do it?
Regards,
Yaniv Kunda
|
|
From: Stanislaw O. <sta...@ca...> - 2008-03-06 21:35:17
|
> > I have released 1.7.2 which has support for null keys > and values for Maps. Cool -- I'll upgrade to 1.7.2 right away then. Once again thanks for the great piece of software! Cheers, Staszek |
|
From: Niall G. <gal...@ya...> - 2008-03-06 19:12:07
|
Hi,
I have released 1.7.2 which has support for null keys
and values for Maps.
Niall
--- Niall Gallagher <gal...@ya...> wrote:
> Hi,
>
> This seems like a bug, there is an if statement in
> the
> Map converters that checks for null values, ill
> modify
> this and add it to the next release.
>
> In general, if you can serialize and not deserialize
> then there is a bug somewhere. Every serialization
> should be fully capable of deserialization.
>
> Niall
>
> --- Stanislaw Osinski
> <sta...@ca...>
> wrote:
>
> > Hi once more,
> >
> > Does the framework currently support serializing/
> > deserializing maps with
> > null values (see code below)? The serializer seems
> > to output an empty node
> > for such entries (with no key), which causes the
> > deserializer to fail.
> > Obviously, I can hack this around quite easily,
> but
> > I was wondering if this
> > is the intended behaviour?
> >
> > @Root
> > public class SimpleTest
> > {
> > @ElementMap
> > private Map<String, String> test = new
> > HashMap<String, String>();
> >
> > public static void main(String [] args) throws
> > Exception
> > {
> > SimpleTest test = new SimpleTest();
> > test.test.put("test", null);
> >
> > Persister persister = new Persister();
> > persister.write(test, System.out);
> > }
> > }
> >
> > Cheers,
> >
> > Staszek
> > >
>
-------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio
> > 2008.
> >
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/>
> _______________________________________________
> > Simple-support mailing list
> > Sim...@li...
> >
>
https://lists.sourceforge.net/lists/listinfo/simple-support
> >
>
>
>
>
>
____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile. Try it now.
>
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
>
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
|
|
From: Niall G. <gal...@ya...> - 2008-03-05 18:40:54
|
Hi Micah,
I've tested this, everything works as expected.
However you have no need for the Field class. If you
specify a map key as an attribute=true then its
inlined in to the created wrapper element entry=true.
So if you use the following:
@ElementMap(name="fields", entry="field",
key="id", attribute=true)
private HashMap<String, Lucene> fields = new
HashMap<String, Lucene>();
Then everything works fine. BTW, if you use generics
you don't need to declare keyType or valueType in the
annotation.
Niall
--- Micah Jaffe <mi...@af...> wrote:
> I'm trying to convert some existing XML parsing code
> to use Simple
> XML and am almost there, but I'm running into an
> issue trying to use
> ElementMap.
>
> Here's the XML (abbreviated):
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <index id="users">
> <database>xyz</database>
> <query>
> <columns>foo,bar</columns>
> <tables>a,b,c</tables>
> </query>
> <fields>
> <field id="foo">
> <lucene>
> <index>TOKENIZED</index>
> <store>false</store>
> <default>true</default>
> </lucene>
> </field>
> <field id="bar">
> <lucene>
> <index>TOKENIZED</index>
> <store>false</store>
> <default>true</default>
> </lucene>
> </field>
> </fields>
> </index>
>
> Here are my classes:
>
> @Root(name="index")
> public class IndexConfig {
>
> @Attribute
> private String id;
>
> @Element
> private String database;
>
> @Element
> private Query query;
>
> @ElementMap(name="fields", entry="field",
> key="id",
> attribute=true, keyType=String.class,
> valueType=Field.class)
> private HashMap<String, Field> fields = new
> HashMap<String,
> Field>();
> }
>
> @Root
> public class Field {
>
> @Attribute
> private String id;
>
> @Element
> private Lucene lucene;
> }
>
> [Not including Query or Lucene classes here as
> they're not at issue]
>
> The parsing chokes here:
>
> org.simpleframework.xml.load.ValueRequiredException:
> Unable to
> satisfy @org.simpleframework.xml.Attribute(name=,
> empty=,
> required=true) on field 'id' for class
> com.affinitycircles.core.xml.Field at line 16
> at
> org.simpleframework.xml.load.Composite.validate
> (Composite.java:389)
> at
>
org.simpleframework.xml.load.Composite.readAttributes
>
> (Composite.java:221)
> at
> org.simpleframework.xml.load.Composite.read
> (Composite.java:193)
> [... the rest deleted ...]
>
> For some reason it can't seem to find the id
> attribute for Field. If
> I make the id attribute optional, then it seems the
> parser gets
> confused and is looking for elements in the Lucene
> block. If I
> change ElementMap to instead be an ElementList, the
> file will parse.
> I've tried not using @Root with Field and that
> doesn't affect the
> outcome (I'm really not sure what @Root is for...).
>
> Any help?
>
> -Micah
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
|
|
From: Borkholder, B. <bor...@gm...> - 2008-03-02 06:13:31
|
I discovered Simple XML and I think it's great. I like the concept of source-first much better than JAXB's schema-first. But I was wondering if you've thought of being able to generate an XSD schema from the class annotations. I know I'd find it useful when I need to send other people an XML schema for my objects. Thanks again for your work. |
|
From: Micah J. <mi...@af...> - 2008-02-25 22:25:07
|
Hi,
Thanks for the response, but as you can see in the XML, the
particular attribute it's complaining about (attribute "id" in
element "field") is in fact there. Any other thoughts?
-Micah
On Feb 25, 2008, at 2:01 PM, Niall Gallagher wrote:
> Hi,
>
> Required means it can not be null, if it is not
> required and null it won't appear. So you must provide
> a value for required attributes.
>
> Niall
>
>
> --- Micah Jaffe <mi...@af...> wrote:
>
>> I'm trying to convert some existing XML parsing code
>> to use Simple
>> XML and am almost there, but I'm running into an
>> issue trying to use
>> ElementMap.
>>
>> Here's the XML (abbreviated):
>>
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>> <index id="users">
>> <database>xyz</database>
>> <query>
>> <columns>foo,bar</columns>
>> <tables>a,b,c</tables>
>> </query>
>> <fields>
>> <field id="foo">
>> <lucene>
>> <index>TOKENIZED</index>
>> <store>false</store>
>> <default>true</default>
>> </lucene>
>> </field>
>> <field id="bar">
>> <lucene>
>> <index>TOKENIZED</index>
>> <store>false</store>
>> <default>true</default>
>> </lucene>
>> </field>
>> </fields>
>> </index>
>>
>> Here are my classes:
>>
>> @Root(name="index")
>> public class IndexConfig {
>>
>> @Attribute
>> private String id;
>>
>> @Element
>> private String database;
>>
>> @Element
>> private Query query;
>>
>> @ElementMap(name="fields", entry="field",
>> key="id",
>> attribute=true, keyType=String.class,
>> valueType=Field.class)
>> private HashMap<String, Field> fields = new
>> HashMap<String,
>> Field>();
>> }
>>
>> @Root
>> public class Field {
>>
>> @Attribute
>> private String id;
>>
>> @Element
>> private Lucene lucene;
>> }
>>
>> [Not including Query or Lucene classes here as
>> they're not at issue]
>>
>> The parsing chokes here:
>>
>> org.simpleframework.xml.load.ValueRequiredException:
>> Unable to
>> satisfy @org.simpleframework.xml.Attribute(name=,
>> empty=,
>> required=true) on field 'id' for class
>> com.affinitycircles.core.xml.Field at line 16
>> at
>> org.simpleframework.xml.load.Composite.validate
>> (Composite.java:389)
>> at
>>
> org.simpleframework.xml.load.Composite.readAttributes
>>
>> (Composite.java:221)
>> at
>> org.simpleframework.xml.load.Composite.read
>> (Composite.java:193)
>> [... the rest deleted ...]
>>
>> For some reason it can't seem to find the id
>> attribute for Field. If
>> I make the id attribute optional, then it seems the
>> parser gets
>> confused and is looking for elements in the Lucene
>> block. If I
>> change ElementMap to instead be an ElementList, the
>> file will parse.
>> I've tried not using @Root with Field and that
>> doesn't affect the
>> outcome (I'm really not sure what @Root is for...).
>>
>> Any help?
>>
>> -Micah
>>
>>
> ----------------------------------------------------------------------
> ---
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio
>> 2008.
>>
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________
>> Simple-support mailing list
>> Sim...@li...
>>
> https://lists.sourceforge.net/lists/listinfo/simple-support
>>
>
>
>
>
> ______________________________________________________________________
> ______________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search. http://tools.search.yahoo.com/
> newsearch/category.php?category=shopping
|
|
From: Niall G. <gal...@ya...> - 2008-02-25 22:02:18
|
Hi,
Required means it can not be null, if it is not
required and null it won't appear. So you must provide
a value for required attributes.
Niall
--- Micah Jaffe <mi...@af...> wrote:
> I'm trying to convert some existing XML parsing code
> to use Simple
> XML and am almost there, but I'm running into an
> issue trying to use
> ElementMap.
>
> Here's the XML (abbreviated):
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <index id="users">
> <database>xyz</database>
> <query>
> <columns>foo,bar</columns>
> <tables>a,b,c</tables>
> </query>
> <fields>
> <field id="foo">
> <lucene>
> <index>TOKENIZED</index>
> <store>false</store>
> <default>true</default>
> </lucene>
> </field>
> <field id="bar">
> <lucene>
> <index>TOKENIZED</index>
> <store>false</store>
> <default>true</default>
> </lucene>
> </field>
> </fields>
> </index>
>
> Here are my classes:
>
> @Root(name="index")
> public class IndexConfig {
>
> @Attribute
> private String id;
>
> @Element
> private String database;
>
> @Element
> private Query query;
>
> @ElementMap(name="fields", entry="field",
> key="id",
> attribute=true, keyType=String.class,
> valueType=Field.class)
> private HashMap<String, Field> fields = new
> HashMap<String,
> Field>();
> }
>
> @Root
> public class Field {
>
> @Attribute
> private String id;
>
> @Element
> private Lucene lucene;
> }
>
> [Not including Query or Lucene classes here as
> they're not at issue]
>
> The parsing chokes here:
>
> org.simpleframework.xml.load.ValueRequiredException:
> Unable to
> satisfy @org.simpleframework.xml.Attribute(name=,
> empty=,
> required=true) on field 'id' for class
> com.affinitycircles.core.xml.Field at line 16
> at
> org.simpleframework.xml.load.Composite.validate
> (Composite.java:389)
> at
>
org.simpleframework.xml.load.Composite.readAttributes
>
> (Composite.java:221)
> at
> org.simpleframework.xml.load.Composite.read
> (Composite.java:193)
> [... the rest deleted ...]
>
> For some reason it can't seem to find the id
> attribute for Field. If
> I make the id attribute optional, then it seems the
> parser gets
> confused and is looking for elements in the Lucene
> block. If I
> change ElementMap to instead be an ElementList, the
> file will parse.
> I've tried not using @Root with Field and that
> doesn't affect the
> outcome (I'm really not sure what @Root is for...).
>
> Any help?
>
> -Micah
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
|
|
From: Micah J. <mi...@af...> - 2008-02-23 00:27:41
|
I'm trying to convert some existing XML parsing code to use Simple
XML and am almost there, but I'm running into an issue trying to use
ElementMap.
Here's the XML (abbreviated):
<?xml version="1.0" encoding="ISO-8859-1"?>
<index id="users">
<database>xyz</database>
<query>
<columns>foo,bar</columns>
<tables>a,b,c</tables>
</query>
<fields>
<field id="foo">
<lucene>
<index>TOKENIZED</index>
<store>false</store>
<default>true</default>
</lucene>
</field>
<field id="bar">
<lucene>
<index>TOKENIZED</index>
<store>false</store>
<default>true</default>
</lucene>
</field>
</fields>
</index>
Here are my classes:
@Root(name="index")
public class IndexConfig {
@Attribute
private String id;
@Element
private String database;
@Element
private Query query;
@ElementMap(name="fields", entry="field", key="id",
attribute=true, keyType=String.class, valueType=Field.class)
private HashMap<String, Field> fields = new HashMap<String,
Field>();
}
@Root
public class Field {
@Attribute
private String id;
@Element
private Lucene lucene;
}
[Not including Query or Lucene classes here as they're not at issue]
The parsing chokes here:
org.simpleframework.xml.load.ValueRequiredException: Unable to
satisfy @org.simpleframework.xml.Attribute(name=, empty=,
required=true) on field 'id' for class
com.affinitycircles.core.xml.Field at line 16
at org.simpleframework.xml.load.Composite.validate
(Composite.java:389)
at org.simpleframework.xml.load.Composite.readAttributes
(Composite.java:221)
at org.simpleframework.xml.load.Composite.read
(Composite.java:193)
[... the rest deleted ...]
For some reason it can't seem to find the id attribute for Field. If
I make the id attribute optional, then it seems the parser gets
confused and is looking for elements in the Lucene block. If I
change ElementMap to instead be an ElementList, the file will parse.
I've tried not using @Root with Field and that doesn't affect the
outcome (I'm really not sure what @Root is for...).
Any help?
-Micah
|
|
From: John M. <jo...@qu...> - 2008-02-19 20:55:25
|
I have an XML document and I am having troubles setting up my object
class to parse into. Here is what I have:
<ENV>
<VIDEO>Q</VIDEO>
</ENV>
or it can be
<ENV>
<VIDEO>
<CAM ADDR="1">TEXT</CAM>
<CAM ADDR="2">TEXT</CAM>
</VIDEO>
</ENV>
So how do I setup my one class to handle both situations?
@Root
public class Env {
@Element(required=false)
public Video video= new Video();
@Root
public static class Video {
@Element(required=false)
public Cam cam;
}
@Root
public static class Cam {
@Attribute(required=false)
public String addr;
public String text;
@Text(required=false)
public String getText() {
return text;
}
@Text(required=false)
public void setText(String text){
this.text = text;
}
}
}
|
|
From: Stanislaw O. <sta...@ca...> - 2008-02-13 13:06:17
|
> Yes you can, I use a filter like pattern to do this.
> For example if you wrote the following.
>
> public class AttributeModifier implements Strategy {
>
> private Strategy strategy;
>
> public AttributeModifier(Strategy strategy) {
> this.strategy = strategy;
> }
>
> // remainder here...
>
> public boolean setElement(Class field, Object
> value, NodeMap node, Map map) throws Exception;
> boolean result = strategy.setElement(field,
> value, node, map);
> Node node = node.remove("id");
>
> if(MyClass.class.isInstance(value)) {
> node.put(node.getValue());
> }
> return result;
> }
> }
>
That does the trick, thanks!
Staszek
|
|
From: Niall G. <gal...@ya...> - 2008-02-12 18:28:54
|
Hi,
Glad this helped.
Niall
--- Quirino Zagarese <qu...@la...> wrote:
> This seems definitely better!
> I focused too much on attributes and forgot methods.
> I gave a deeper look to the code and I found this
> framework is
> much more complete than it seems at first sight.
> I would like to use it as serialization engine for
> an open
> framework I'm working on.
> Really a great job!
>
> 2008/2/11, Niall Gallagher
> <gal...@ya...>:
> >
> > Hi,
> >
> > What you have suggested is static, by this I mean
> that
> > it is a static value on an annotation. So why not
> use
> > getter and setter methods to serialize your
> values.
> > For example instead of annotating the field why
> not
> > annotate a method.
> >
> > public class Class1{
> >
> > @Element
> > private Class3 class3;
> >
> > @Attribute
> > private long id;
> > }
> >
> > public class Class2{
> >
> > @Attribute(name="class1", references=Class1.id)
> > private Class1 class1;
> >
> > @Attribute
> > public long getId() {
> > return class1.id;
> > }
> >
> > @Attribute
> > public void setId(long id) {
> > class1 = new Class1();
> > class1.id = id;
> > }
> > }
> >
> > This will read and write the elements you want
> from
> > Class1.
> >
> > Niall
> >
> > --- Quirino Zagarese <qu...@la...>
> wrote:
> >
> > > Hi and thank you very much for the fast
> response!
> > > The @Replace solution works perfectly; anyway I
> > > wondered if a construct like
> > > the one I proposed
> > > could be useful for serialization purpose only.
> > > I think so cause you don't need any callbacks
> and
> > > each class "decides" how
> > > to be serialized.
> > > If you think such a functionality to be
> interesting,
> > > I'd like to contribute
> > > it.
> > > Thank you again
> > > Regards
> > >
> > > 2008/2/8, Niall Gallagher
> > > <gal...@ya...>:
> > > >
> > > > Hi,
> > > >
> > > > Yes you can, but not as an attribute of the
> > > containing
> > > > class. All you need to do is use the @Replace
> > > > annotation on a method. For instance if you
> wish
> > > to
> > > > write a single value you should do the
> following.
> > > >
> > > > private Class1 {
> > > >
> > > > @Element(required=false)
> > > > private Blah other;
> > > >
> > > > @Attrobite
> > > > private int id;
> > > >
> > > > @Replace
> > > > private Class1 replace() {
> > > > if(isSomeCondition()) {
> > > > Class1 class1 = new Class1();
> > > > class1.id = id;
> > > > return class1;
> > > > }
> > > > return this;
> > > > }
> > > > }
> > > >
> > > > public Class2 {
> > > >
> > > > @Element
> > > > private Class1 value;
> > > > }
> > > >
> > > > This will cause a callback to Class1 before
> its
> > > > written to XML.
> > > >
> > > > Niall
> > > >
> > > >
> > > > --- Quirino Zagarese
> <qu...@la...>
> > > wrote:
> > > >
> > > > > Hi,
> > > > > I've been watching the Simple Framework and
> I
> > > found
> > > > > it very useful and
> > > > > pretty complete.
> > > > > I looked at tutorials and javadocs and I
> > > wondered if
> > > > > it's possible to
> > > > > serialize only a single field of a complex
> > > instance
> > > > > variable. I'll show it
> > > > > with an example to make it more clear.
> > > > >
> > > > > public class Class1{
> > > > > @Element
> > > > > private Class3 class3;
> > > > >
> > > > > @Attribute
> > > > > private long id;
> > > > >
> > > > > }
> > > > >
> > > > >
> > > > > public class Class2{
> > > > > //I want to serialize only the id
> of
> > > the
> > > > > class1 variable, not the
> > > > > whole state
> > > > > @Attribute(name="class1"
> > > > > references=Class1.id)
> > > > > private Class1 class1;
> > > > >
> > > > > }
> > > > >
> > > > > I'm using Simple to serialize AJAX responses
> and
> > > > > this feature could be very
> > > > > useful when you want to show a list of
> > > items(i.e.
> > > > > products in e-commerce
> > > > > apps), but you don't want to load all
> related
> > > data.
> > > > > Sorry for my English.
> > > > > Regards
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Quirino Zagarese
> > > > >
> > > > > LaszloItalia Founder (www.laszloitalia.org)
> > > > > Software Development Manager - Galilaeus
> s.r.l.
> > > > > (www.galilaeus.net)
> > > > > >
> > > >
> > >
> >
>
-------------------------------------------------------------------------
> > > > > This SF.net email is sponsored by: Microsoft
> > > > > Defy all challenges. Microsoft(R) Visual
> Studio
> > > > > 2008.
> > > > >
> > > >
> > >
> >
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/>
> > > >
> _______________________________________________
> > > > > Simple-support mailing list
>
=== message truncated ===
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
|
|
From: Niall G. <gal...@ya...> - 2008-02-12 18:23:06
|
Hi,
This seems like a bug, there is an if statement in the
Map converters that checks for null values, ill modify
this and add it to the next release.
In general, if you can serialize and not deserialize
then there is a bug somewhere. Every serialization
should be fully capable of deserialization.
Niall
--- Stanislaw Osinski <sta...@ca...>
wrote:
> Hi once more,
>
> Does the framework currently support serializing/
> deserializing maps with
> null values (see code below)? The serializer seems
> to output an empty node
> for such entries (with no key), which causes the
> deserializer to fail.
> Obviously, I can hack this around quite easily, but
> I was wondering if this
> is the intended behaviour?
>
> @Root
> public class SimpleTest
> {
> @ElementMap
> private Map<String, String> test = new
> HashMap<String, String>();
>
> public static void main(String [] args) throws
> Exception
> {
> SimpleTest test = new SimpleTest();
> test.test.put("test", null);
>
> Persister persister = new Persister();
> persister.write(test, System.out);
> }
> }
>
> Cheers,
>
> Staszek
> >
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/>
_______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
|
|
From: Niall G. <gal...@ya...> - 2008-02-12 18:21:22
|
Hi,
Yes you can, I use a filter like pattern to do this.
For example if you wrote the following.
public class AttributeModifier implements Strategy {
private Strategy strategy;
public AttributeModifier(Strategy strategy) {
this.strategy = strategy;
}
// remainder here...
public boolean setElement(Class field, Object
value, NodeMap node, Map map) throws Exception;
boolean result = strategy.setElement(field,
value, node, map);
Node node = node.remove("id");
if(MyClass.class.isInstance(value)) {
node.put(node.getValue());
}
return result;
}
}
Here you can just pass this strategy in to the
persister instead of directly using the CycleStrategy.
This will remove "id" from all by your desirec
classes. Here in this example I assume MyClass.class
is the only class with which "id" attributes are used.
If you really want limited "id" attributes you could
serialize twice, once to collect "id" and "reference"
labels the second time to ensure if a "reference" did
not exist for the "id" then the "id" is removed. A
simple HashMap could do this, but it would require you
to extend the Persister object, to capture the
reference cycles before the second serialization to
right only limited "id" and references.
Niall
--- Stanislaw Osinski <sta...@ca...>
wrote:
> Hi again,
>
> One more question: is there any simple way of having
> CycleStrategy append id
> attributes/ resolve references only for objects of
> certain (known at
> compilation time) type(s)? The general motivation is
> that the produced XML
> is intended to be read/ modified by humans, so I'd
> like to avoid polluting
> it with id attributes for object that do not need
> reference resolution.
>
> Cheers,
>
> Staszek
> >
-------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio
> 2008.
>
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/>
_______________________________________________
> Simple-support mailing list
> Sim...@li...
>
https://lists.sourceforge.net/lists/listinfo/simple-support
>
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
|