You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sk...@apache.org on 2008/03/26 21:16:29 UTC

svn commit: r641541 - in /myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src: main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/

Author: skitching
Date: Wed Mar 26 13:16:27 2008
New Revision: 641541

URL: http://svn.apache.org/viewvc?rev=641541&view=rev
Log:
Fix reading of myfaces-metadata.xml files.

Added:
    myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java   (with props)
Modified:
    myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java
    myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ConverterMeta.java
    myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java
    myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ValidatorMeta.java

Modified: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java?rev=641541&r1=641540&r2=641541&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ComponentMeta.java Wed Mar 26 13:16:27 2008
@@ -86,6 +86,7 @@
         String newPrefix = prefix + "/component";
 
         digester.addObjectCreate(newPrefix, ComponentMeta.class);
+        digester.addSetNext(newPrefix, "addComponent");
 
         ClassMeta.addXmlRules(digester, newPrefix);
 

Modified: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ConverterMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ConverterMeta.java?rev=641541&r1=641540&r2=641541&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ConverterMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ConverterMeta.java Wed Mar 26 13:16:27 2008
@@ -71,6 +71,7 @@
         String newPrefix = prefix + "/converter";
 
         digester.addObjectCreate(newPrefix, ConverterMeta.class);
+        digester.addSetNext(newPrefix, "addConverter");
 
         ClassMeta.addXmlRules(digester, newPrefix);
 

Modified: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java?rev=641541&r1=641540&r2=641541&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/PropertyMeta.java Wed Mar 26 13:16:27 2008
@@ -61,6 +61,8 @@
         String newPrefix = prefix + "/property";
 
         digester.addObjectCreate(newPrefix, PropertyMeta.class);
+        digester.addSetNext(newPrefix, "addProperty");
+
         digester.addBeanPropertySetter(newPrefix + "/name");
         digester.addBeanPropertySetter(newPrefix + "/className");
         digester.addBeanPropertySetter(newPrefix + "/required");

Modified: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ValidatorMeta.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ValidatorMeta.java?rev=641541&r1=641540&r2=641541&view=diff
==============================================================================
--- myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ValidatorMeta.java (original)
+++ myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/main/java/org/apache/myfaces/buildtools/maven2/plugin/builder/model/ValidatorMeta.java Wed Mar 26 13:16:27 2008
@@ -64,6 +64,7 @@
         String newPrefix = prefix + "/validator";
 
         digester.addObjectCreate(newPrefix, ValidatorMeta.class);
+        digester.addSetNext(newPrefix, "addValidator");
 
         ClassMeta.addXmlRules(digester, newPrefix);
 

Added: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java
URL: http://svn.apache.org/viewvc/myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java?rev=641541&view=auto
==============================================================================
--- myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java (added)
+++ myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java Wed Mar 26 13:16:27 2008
@@ -0,0 +1,124 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.myfaces.buildtools.maven2.plugin.builder;
+
+import java.io.BufferedReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.myfaces.buildtools.maven2.plugin.builder.model.Model;
+
+/**
+ * Tests saving and loading models from xml.
+ */
+public class IOUtilsTest extends TestCase
+{
+    /**
+     * Load the "goodfile.xml" from the complex test case and build a Model
+     * object from it, then save it again and compare to the original.
+     */
+    public void testComplex() throws Exception
+    {
+        ClassLoader classLoader = this.getClass().getClassLoader();
+
+        InputStream is = classLoader
+                .getResourceAsStream("builder/complex/goodfile.xml");
+        String src = readAll(is);
+        is.close();
+
+        StringReader srcReader = new StringReader(src);
+        Model model = IOUtils.readModel(srcReader);
+
+        StringWriter dstWriter = new StringWriter();
+        IOUtils.writeModel(model, dstWriter);
+        String dst = dstWriter.toString();
+        writeAll("target/outfile-ioutils.xml", dst);
+
+        srcReader = new StringReader(src);
+        StringReader dstReader = new StringReader(dst);
+        compareData(srcReader, dstReader);
+    }
+
+    /**
+     * Read the contents of an input stream into a string.
+     */
+    private String readAll(InputStream is) throws IOException
+    {
+        InputStreamReader reader = new InputStreamReader(is);
+        StringBuffer out = new StringBuffer(4096);
+        char[] buf = new char[1024];
+        while (true)
+        {
+            int nchars = reader.read(buf);
+            if (nchars <= 0)
+            {
+                break;
+            }
+            out.append(buf, 0, nchars);
+        }
+        return out.toString();
+    }
+
+    private void writeAll(String dstFile, String src) throws Exception
+    {
+        FileWriter fw = new FileWriter(dstFile);
+        fw.write(src);
+        fw.close();
+    }
+
+    /**
+     * Compare the contents of two Reader objects line-by-line.
+     */
+    private void compareData(Reader src1, Reader src2) throws IOException
+    {
+        BufferedReader in1 = new BufferedReader(src1);
+        BufferedReader in2 = new BufferedReader(src2);
+
+        int line = 0;
+        for (;;)
+        {
+            ++line;
+            String line1 = in1.readLine();
+            String line2 = in2.readLine();
+
+            if ((line1 == null) && (line2 == null))
+            {
+                // success
+                return;
+            }
+            else if (line1 == null)
+            {
+                fail("input 2 has more lines than input 1");
+            }
+            else if (line2 == null)
+            {
+                fail("input 1 has more lines than input 2");
+            }
+
+            assertEquals("Inputs differ on line " + line, line1, line2);
+        }
+    }
+}

Propchange: myfaces/myfaces-build-tools/branches/skitching/myfaces-builder-plugin/src/test/java/org/apache/myfaces/buildtools/maven2/plugin/builder/IOUtilsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native