Ranides Atterwim před 10 roky
rodič
revize
32ba35e7f9

+ 1 - 1
assira/src/main/java/net/ranides/assira/xml/impl/W3Element.java

@@ -211,7 +211,7 @@ public class W3Element extends CElement implements XMLElement {
 
     @Override
     public XMLElements parents() {
-        return new CElements(CQueryBuilder.fromIterable(()->ForwardIterator.produce(this, XMLElement::parent)));
+        return new CElements(CQueryBuilder.fromIterable(()->ForwardIterator.produce(parent(), XMLElement::parent)));
     }
 
     @Override

+ 20 - 20
assira/src/test/java/net/ranides/assira/xml/XMLQueryTest.java

@@ -121,35 +121,35 @@ public class XMLQueryTest {
         assertTrue(doc.find("users item").attrs().map().isEmpty());
         assertTrue(doc.find("users user login").attrs().map().isEmpty());
 
-//        assertTrue(doc.children("mappings rule").attrs().map().isEmpty());
-//        
-//        MultiMap<String, String> attr = doc.find("mappings rule").attrs().map();
-//
-//        List<String> exp1 = Arrays.asList("A","B","C");
-//        List<String> exp2 = Arrays.asList("plugins.jar", "binary.jar", "features.jar");
-//        
-//        assertEquivalent(exp1, attr.getAll("filter"));
-//        assertEquivalent(exp2, attr.getAll("output"));
+        MultiMap<String, String> attr = doc.find("users user").attrs().map();
+        
+        List<String> exp1 = Arrays.asList("101", "102", "103", "104", "105");
+        List<String> exp2 = Arrays.asList("5461", "8721", "7542", "1952", "3773");
+        List<String> exp3 = Arrays.asList("false","true");
+        
+        assertEquivalent(exp1, attr.getAll("id"));
+        assertEquivalent(exp2, attr.getAll("uid"));
+        assertEquivalent(exp3, attr.getAll("public"));
     }
     
     @Test
     public void testAttributes() throws IOException, TransformerConfigurationException {
-        XMLElement doc = $(new File("src/test/resources/eclipse/artifacts.xml"));
+        XMLElement doc = $(TestFiles.XML_INPUT);
         
-        XMLElement attr1 = doc.find("repository mappings rule").attrs("output").first();
-        XMLElement attr2 = doc.find("repository mappings rule").attrs().first("output");
+        XMLElement attr1 = doc.find("users user").attrs("id").first();
+        XMLElement attr2 = doc.find("users user").attrs().first("id");
         
         assertSame(attr1.node(), attr2.node());
         
-        assertEquals("output", attr1.name());
-        assertEquals("plugins.jar", attr1.content());
-        assertEquals("plugins.jar", attr1.text());
-        assertEquals("plugins.jar", attr1.get());
-        assertEquals("rule", attr1.parent().name());
+        assertEquals("id", attr1.name());
+        assertEquals("101", attr1.content());
+        assertEquals("101", attr1.text());
+        assertEquals("101", attr1.get());
+        assertEquals("user", attr1.parent().name());
         assertEquals(Arrays.asList(), attr1.attrs().names());
-        assertEquals(Arrays.asList(), attr1.parent().children().names());
-        assertEquals(Arrays.asList("filter","output"), attr1.parent().attrs().names());
-        assertEquals(Arrays.asList("output", "rule", "mappings", "repository", "#document"), attr1.parents().names());
+        assertEquivalent(Arrays.asList("login", "password", "name", "mail", "mail"), attr1.parent().children(XMLType.ELEMENT).names());
+        assertEquivalent(Arrays.asList("id", "uid", "active", "public"), attr1.parent().attrs().names());
+        assertEquals(Arrays.asList("user", "users", "ccms", "#document"), attr1.parents().names());
     }
     
 }

+ 0 - 64
assira/src/test/java/net/ranides/assira/xml/XMLWriterTest.java

@@ -7,77 +7,13 @@
 package net.ranides.assira.xml;
 
 import net.ranides.assira.TestFiles;
-import java.io.File;
 import java.io.IOException;
 import net.ranides.assira.io.StringOutput;
 import net.ranides.assira.text.Charsets;
 import net.ranides.assira.text.StringIO;
-import static net.ranides.assira.xml.XMLQuery.$;
 import org.junit.Test;
 import static org.junit.Assert.*;
 import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
 
 /**
  *

+ 0 - 64
assira/src/test/java/net/ranides/assira/xml/impl/CElementTest.java

@@ -6,75 +6,11 @@
  */
 package net.ranides.assira.xml.impl;
 
-import java.io.File;
 import net.ranides.assira.xml.XMLElement;
-import static net.ranides.assira.xml.XMLQuery.$;
 import org.junit.Test;
 import static net.ranides.assira.junit.NewAssert.*;
 import net.ranides.assira.TestFiles;
 import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
 
 /**
  *

+ 41 - 69
assira/src/test/java/net/ranides/assira/xml/impl/CElementsTest.java

@@ -7,6 +7,7 @@
 package net.ranides.assira.xml.impl;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
@@ -14,74 +15,12 @@ import net.ranides.assira.collection.iterators.IteratorUtils;
 import net.ranides.assira.collection.lists.ListUtils;
 import net.ranides.assira.collection.suite.IteratorTester;
 import net.ranides.assira.xml.XMLElement;
-import static net.ranides.assira.xml.XMLQuery.$;
 import static net.ranides.assira.junit.NewAssert.*;
 import net.ranides.assira.text.StringUtils;
 import net.ranides.assira.TestFiles;
+import net.ranides.assira.xml.XMLElements;
 import org.junit.Test;
 import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
-import static net.ranides.assira.xml.XMLQuery.$;
 
 /**
  *
@@ -93,7 +32,7 @@ public class CElementsTest {
         "ranides", "admin", "guest", "owner", "saren"
     };
     
-    private static final String[] USERS = new String[]{
+    private static final String[] IDS = new String[]{
         "101", "102", "103", "104", "105"
     };
 
@@ -107,7 +46,7 @@ public class CElementsTest {
         IteratorTester.basicIterator(i1, 0, LOGINS);
         
         Iterator<String> i2 = IteratorUtils.map(doc.find("user").iterator(), n -> n.attr("id").text());
-        IteratorTester.basicIterator(i2, 0, USERS);
+        IteratorTester.basicIterator(i2, 0, IDS);
     }
     
     @Test
@@ -122,10 +61,10 @@ public class CElementsTest {
     public void testTextContent() {
         XMLElement doc = $(TestFiles.XML_INPUT);
         
-        assertEquals(Arrays.asList(USERS), doc.find("? //user/@id").contents());
-        assertEquals(Arrays.asList(USERS), doc.find("? //user/@id").texts());
-        assertEquals(StringUtils.join(USERS,""), doc.find("? //user/@id").content());
-        assertEquals(StringUtils.join(USERS,""), doc.find("? //user/@id").text());
+        assertEquals(Arrays.asList(IDS), doc.find("? //user/@id").contents());
+        assertEquals(Arrays.asList(IDS), doc.find("? //user/@id").texts());
+        assertEquals(StringUtils.join(IDS,""), doc.find("? //user/@id").content());
+        assertEquals(StringUtils.join(IDS,""), doc.find("? //user/@id").text());
         
         assertEquals(Arrays.asList(null,null,null,null,null), doc.find("? //user/login").contents());
         assertEquals(Arrays.asList(LOGINS), doc.find("? //user/login").texts());
@@ -133,4 +72,37 @@ public class CElementsTest {
         assertEquals(StringUtils.join(LOGINS,""), doc.find("? //user/login").text());
     }
     
+    @Test
+    public void testConcat() {
+        XMLElement doc = $(TestFiles.XML_INPUT);
+        XMLElements a = doc.find("? //user/login");
+        XMLElements b = doc.find("? //user/@id");
+
+        List<String> exp1 = new ArrayList<>();
+        exp1.addAll(Arrays.asList(LOGINS));
+        exp1.addAll(Arrays.asList(IDS));
+        assertEquals(exp1, a.concat(b).texts());
+    }
+    
+    @Test
+    public void testFilter() {
+        XMLElement doc = $(TestFiles.XML_INPUT);
+        
+        List<String> exp1 = Arrays.asList("ranides", "admin", "guest", "owner", "saren");
+        List<String> exp2 = Arrays.asList("ranides", "admin", "saren");
+        List<String> exp3 = Arrays.asList("guest", "owner");
+        
+        assertEquals(exp1, doc.find("user login").texts());
+        assertEquals(exp2, doc.find("user[active='true'] login").texts());
+        assertEquals(exp3, doc.find("user[active='false'] login").texts());
+        
+        assertEquals(exp1, doc.find("user").find("login").texts());
+        assertEquals(exp2, doc.find("user").filter("[active='true']").find("login").texts());
+        assertEquals(exp3, doc.find("user").filter("[active='false']").find("login").texts());
+        
+        assertEquals(exp1, doc.find("user").filter(n -> true).find("login").texts());
+        assertEquals(exp2, doc.find("user").filter(n -> n.node().attr("active").content().equals("true")).find("login").texts());
+        assertEquals(exp3, doc.find("user").filter(n -> !n.node().attr("active").content().equals("true")).find("login").texts());
+    }
+    
 }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 5599
assira/src/test/resources/eclipse/artifacts.xml


+ 0 - 57
assira/src/test/resources/eclipse/cheatsheet.xml

@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009 Tasktop Technologies and others.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-   
-    Contributors:
-         Tasktop Technologies - initial API and implementation
- -->
-<cheatsheet title="Create a query from bugs.eclipse.org">
-   <data>0</data>
-   <intro>
-      <description>
-         This cheat sheet shows you how to create a query from bugs.eclipse.org.<br/>
-      </description>
-   </intro>
-   <item title="Open the Task List view" dialog="true" skip="false">
-      <data>1</data>
-      <description>
-         If the Task List view is not opened, select in the main menu  <b>Window &gt; Show View &gt; Other... &gt; Tasks &gt;Task List</b> or click on the &quot;Click to Perform&quot; link below.
-      </description>
-      <command serialization="org.eclipse.ui.views.showView(org.eclipse.ui.views.showView.viewId=org.eclipse.mylyn.tasks.ui.views.tasks)" confirm="true">
-      </command>
-   </item>
-   <item title="Setup Task Repository" dialog="true" skip="true">
-      <data>2</data>
-      <description>
-         In this step you can learn how to setup your Bugzilla account, but you can skip it.
-<br/><br/>
-If the Task Repositories view is not opened, select in the main menu  <b>Window &gt; Show View &gt; Other... &gt; Tasks &gt; Task Repository</b>.
-<br/><br/>
-In the Task Repositories view you can see <b>Eclipse.org</b>. Right click on it and select <b>Properties</b>.<br/>
-Check out the <b>Anonymous Access</b> checkbox.<br/>
-Enter your user id for the <b>User ID</b> and password for the <b>Password</b>. <br/>
-Click on the <b>Validate Settings</b> button to check your given parameters.<br/>
-If you do not have an account you can create one by clicking on the <b>Create new accout</b> link.<br/>
-Click on the <b>Finish</b> button to save the values and close the dialog.
-      </description>
-   </item>
-   <item title="Create a new Query" dialog="true" skip="false">
-      <description>
-         In the Task List view, click the right mouse button then select <b>New &gt; Query</b> or click on the &quot;Click to Perform&quot; link below.
-      </description>
-      <command serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.mylyn.tasks.ui.wizards.new.query)" confirm="true">
-      </command>
-   </item>
-   <item title="Setup the query" dialog="true" skip="false">
-      <description>
-         Select <b>Eclipse.org</b> then click on the <b>Next</b> button.<br/>
- Select <b>Create a query using form</b> then click on the <b>Next</b> button.<br/>
- Enter <b>Mylyn Bugs</b> for the query&apos;s title.
- Select <b>Mylyn</b> from the Product and <b>P1, P2</b> from the Priority then click the <b>Finish</b> button.
-      </description>
-   </item>
-</cheatsheet>

+ 2 - 2
assira/src/test/resources/xml/input.xml

@@ -7,7 +7,7 @@
 
 <ccms>
 	<users>
-		<user id="101" uid="5461" active="true">
+		<user id="101" uid="5461" active="true" public="true">
 			<login>ranides</login>
 			<password>C2A7B5</password>
 			<name>Ranides Atterwim</name>
@@ -33,7 +33,7 @@
 			<mail type="private">tom@domain.com</mail>
 			<mail type="office">office@ccms.net</mail>
 		</user>
-		<user id="105" uid="3773" active="true">
+		<user id="105" uid="3773" active="true" public="true">
 			<login>saren</login>
 			<password>D046A3</password>
 			<name>Sarenka</name>

+ 1 - 1
assira/src/test/resources/xml/writer1.xml

@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><user active="false" id="104"><login>owner</login><password>AC3750</password><name>Tom</name><mail>tom@c...</mail><mail type="hidden">tom@d...</mail><mail type="hidden">office@c...</mail></user>
+<?xml version="1.0" encoding="UTF-8"?><user active="false" id="104" uid="1952"><login>owner</login><password>AC3750</password><name>Tom</name><mail>tom@c...</mail><mail type="hidden">tom@d...</mail><mail type="hidden">office@c...</mail></user>

+ 1 - 1
assira/src/test/resources/xml/writer2.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<user active="false" id="104">
+<user active="false" id="104" uid="1952">
   <login>owner</login>
   <password>AC3750</password>
   <name>Tom</name>

+ 1 - 1
assira/src/test/resources/xml/writer3.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<user active="false" id="104">
+<user active="false" id="104" uid="1952">
   <login>owner</login>
   <password>AC3750</password>
   <name>Tom</name>

+ 1 - 1
assira/src/test/resources/xml/writer4.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<user active="false" id="104">
+<user active="false" id="104" uid="1952">
     <login>owner</login>
     <password>AC3750</password>
     <name>Tom</name>