You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2009/06/08 14:49:39 UTC
svn commit: r782608 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src:
main/java/org/apache/maven/doxia/module/itext/ITextUtil.java
test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java
Author: vsiveton
Date: Mon Jun 8 12:49:39 2009
New Revision: 782608
URL: http://svn.apache.org/viewvc?rev=782608&view=rev
Log:
o improved getPageSize
o added test cases
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java (with props)
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextUtil.java
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextUtil.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextUtil.java?rev=782608&r1=782607&r2=782608&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextUtil.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/main/java/org/apache/maven/doxia/module/itext/ITextUtil.java Mon Jun 8 12:49:39 2009
@@ -29,7 +29,6 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
import java.util.Locale;
/**
@@ -63,35 +62,50 @@
/**
* Return a page size as String.
*
- * @param rect a Rectangle
- * @return a page size as String
+ * @param rect a Rectangle defined in {@link PageSize}.
+ * @return a page size as String or A4 if not found.
* @see com.lowagie.text.PageSize
*/
public static String getPageSize( Rectangle rect )
{
- if ( ( rect.width() == PageSize.LETTER.width() ) && ( rect.height() == PageSize.LETTER.height() ) )
+ Field[] fields = PageSize.class.getFields();
+ for ( int i = 0; i < fields.length; i++ )
{
- return "LETTER";
+ Field currentField = fields[i];
+ try
+ {
+ if ( currentField.getType().equals( Rectangle.class ) )
+ {
+ Rectangle fPageSize = (Rectangle) currentField.get( null );
+ if ( ( rect.width() == fPageSize.width() ) && ( rect.height() == fPageSize.height() ) )
+ {
+ return currentField.getName();
+ }
+ }
+ }
+ catch ( Exception e )
+ {
+ // nop
+ }
}
return "A4";
}
/**
- * Return true if the page size is supported by <code>PageSize</code> class, false otherwise
+ * Return <code>true</code> if the page size is supported by {@link PageSize} class, <code>false</code> otherwise.
*
* @param aPageSize a page size
- * @return true if the page size is supported, false otherwise
+ * @return <code>true</code> if the page size is supported, <code>false</code> otherwise
* @see com.lowagie.text.PageSize
*/
public static boolean isPageSizeSupported( String aPageSize )
{
- Field[] sizes = PageSize.class.getDeclaredFields();
- for ( int i = 0; i < sizes.length; i++ )
+ Field[] fields = PageSize.class.getFields();
+ for ( int i = 0; i < fields.length; i++ )
{
- Field currentField = sizes[i];
+ Field currentField = fields[i];
if ( ( currentField.getName().equalsIgnoreCase( aPageSize ) )
- && ( Modifier.isStatic( currentField.getModifiers() ) )
&& ( currentField.getType().equals( Rectangle.class ) ) )
{
return true;
Added: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java?rev=782608&view=auto
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java (added)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java Mon Jun 8 12:49:39 2009
@@ -0,0 +1,94 @@
+package org.apache.maven.doxia.module.itext;
+
+/*
+ * 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.
+ */
+
+import java.util.Locale;
+
+import junit.framework.TestCase;
+
+import com.lowagie.text.PageSize;
+
+/**
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
+ * @version $Id$
+ */
+public class ITextUtilTest
+ extends TestCase
+{
+ public void testGetDefaultPageSize()
+ throws Exception
+ {
+ Locale oldLocale = Locale.getDefault();
+
+ try
+ {
+ Locale.setDefault( Locale.US );
+ assertEquals( PageSize.LETTER, ITextUtil.getDefaultPageSize() );
+
+ Locale.setDefault( Locale.CANADA );
+ assertEquals( PageSize.LETTER, ITextUtil.getDefaultPageSize() );
+
+ Locale.setDefault( Locale.FRANCE );
+ assertEquals( PageSize.A4, ITextUtil.getDefaultPageSize() );
+ }
+ finally
+ {
+ Locale.setDefault( oldLocale );
+ }
+ }
+
+ public void testGetPageSize()
+ throws Exception
+ {
+ assertEquals( "A0", ITextUtil.getPageSize( PageSize.A0 ) );
+ assertEquals( "A1", ITextUtil.getPageSize( PageSize.A1 ) );
+ assertEquals( "A2", ITextUtil.getPageSize( PageSize.A2 ) );
+ assertEquals( "A3", ITextUtil.getPageSize( PageSize.A3 ) );
+ assertEquals( "A4", ITextUtil.getPageSize( PageSize.A4 ) );
+ assertEquals( "A5", ITextUtil.getPageSize( PageSize.A5 ) );
+ assertEquals( "A6", ITextUtil.getPageSize( PageSize.A6 ) );
+ assertEquals( "A7", ITextUtil.getPageSize( PageSize.A7 ) );
+ assertEquals( "A8", ITextUtil.getPageSize( PageSize.A8 ) );
+ assertEquals( "A9", ITextUtil.getPageSize( PageSize.A9 ) );
+ assertEquals( "A10", ITextUtil.getPageSize( PageSize.A10 ) );
+ assertEquals( "LETTER", ITextUtil.getPageSize( PageSize.LETTER ) );
+ assertEquals( "LEGAL", ITextUtil.getPageSize( PageSize.LEGAL ) );
+ }
+
+ public void testIsPageSupported()
+ throws Exception
+ {
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A0" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A1" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A2" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A3" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A4" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A5" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A6" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A7" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A8" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A9" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "A10" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "LETTER" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "letter" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "LEGAL" ) );
+ assertEquals( true, ITextUtil.isPageSizeSupported( "legal" ) );
+ }
+}
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia/trunk/doxia-modules/doxia-module-itext/src/test/java/org/apache/maven/doxia/module/itext/ITextUtilTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision