Return-Path: Delivered-To: apmail-velocity-commits-archive@locus.apache.org Received: (qmail 94122 invoked from network); 1 May 2007 22:20:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 May 2007 22:20:43 -0000 Received: (qmail 65206 invoked by uid 500); 1 May 2007 22:20:48 -0000 Delivered-To: apmail-velocity-commits-archive@velocity.apache.org Received: (qmail 65182 invoked by uid 500); 1 May 2007 22:20:48 -0000 Mailing-List: contact commits-help@velocity.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@velocity.apache.org Delivered-To: mailing list commits@velocity.apache.org Received: (qmail 64976 invoked by uid 99); 1 May 2007 22:20:48 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 May 2007 15:20:47 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 May 2007 15:20:40 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id D4BB51A9838; Tue, 1 May 2007 15:20:19 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r534258 - in /velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config: CompoundConfiguration.java Configuration.java Data.java FactoryConfiguration.java ToolConfiguration.java ToolboxConfiguration.java Date: Tue, 01 May 2007 22:20:19 -0000 To: commits@velocity.apache.org From: nbubna@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070501222019.D4BB51A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: nbubna Date: Tue May 1 15:20:18 2007 New Revision: 534258 URL: http://svn.apache.org/viewvc?view=rev&rev=534258 Log: add useful toString() implementations to the configuration classes Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Configuration.java velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Data.java velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolConfiguration.java velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java Tue May 1 15:20:18 2007 @@ -38,6 +38,11 @@ children.add(config); } + protected boolean hasChildren() + { + return !children.isEmpty(); + } + protected List getChildren() { return children; @@ -78,6 +83,29 @@ for (C child : getChildren()) { child.validate(); + } + } + + protected void appendChildren(StringBuilder out, String childrenName, String childDelim) + { + if (hasChildren()) + { + if (hasProperties()) + { + out.append(" and "); + } + else + { + out.append("with "); + } + out.append(getChildren().size()); + out.append(' '); + out.append(childrenName); + for (C child : getChildren()) + { + out.append(child); + out.append(childDelim); + } } } Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Configuration.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Configuration.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Configuration.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Configuration.java Tue May 1 15:20:18 2007 @@ -70,6 +70,11 @@ simpleProperties.put(name, value); } + public boolean hasProperties() + { + return !simpleProperties.isEmpty() || !convertableProperties.isEmpty(); + } + public Map getSimpleProperties() { return simpleProperties; @@ -104,6 +109,25 @@ for (Property property : getConvertableProperties()) { property.validate(); + } + } + + protected void appendProperties(StringBuilder out) + { + if (hasProperties()) + { + Map props = getProperties(); + out.append("with "); + out.append(props.size()); + out.append(" properties ["); + for (String name : props.keySet()) + { + out.append(name); + out.append(" => "); + out.append(props.get(name)); + out.append("; "); + } + out.append("]"); } } Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Data.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Data.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Data.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/Data.java Tue May 1 15:20:18 2007 @@ -238,6 +238,17 @@ return dc; } + public String toString() + { + StringBuilder out = new StringBuilder(); + out.append("Data '"); + out.append(key); + out.append('\''); + out.append(" -> "); + out.append(value); + return out.toString(); + } + protected static class DataConverter Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java Tue May 1 15:20:18 2007 @@ -116,6 +116,30 @@ } } + public String toString() + { + StringBuilder out = new StringBuilder(); + out.append("\nFactoryConfiguration "); + appendProperties(out); + if (!getData().isEmpty()) + { + out.append(" including "); + out.append(getData().size()); + out.append(" data"); + } + appendChildren(out, "toolboxes: \n ", "\n "); + if (!getData().isEmpty()) + { + for (Data datum : getData()) + { + out.append(datum); + out.append("\n "); + } + } + return out.toString(); + } + + public ToolboxFactory createFactory() { ToolboxFactory factory = new ToolboxFactory(); @@ -131,7 +155,7 @@ * the velocity-tools-struts-2.x.jar is being used, then all VelocityTools * will be available. This also means that subclasses in the larger jars * will override their superclasses. So, if you are using the VelocityStruts - * jar, then you $link reference will be a StrutsLinkTool. If you are using + * jar, then your $link reference will be a StrutsLinkTool. If you are using * the VelocityView jar, it will be a standard LinkTool. */ public static FactoryConfiguration getDefault() Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolConfiguration.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolConfiguration.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolConfiguration.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolConfiguration.java Tue May 1 15:20:18 2007 @@ -159,4 +159,30 @@ } } + public String toString() + { + StringBuilder out = new StringBuilder(); + out.append("Tool '"); + if (getClassname() == null) + { + out.append(this.key); + } + else + { + out.append(getKey()); + } + out.append("' "); + out.append("=> "); + out.append(getClassname()); + if (getRestrictTo() != null) + { + out.append(" only for '"); + out.append(getRestrictTo()); + out.append('\''); + } + out.append(" "); + appendProperties(out); + return out.toString(); + } + } Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java?view=diff&rev=534258&r1=534257&r2=534258 ============================================================================== --- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java (original) +++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java Tue May 1 15:20:18 2007 @@ -144,4 +144,19 @@ } } + public String toString() + { + StringBuilder out = new StringBuilder(); + out.append("Toolbox '"); + out.append(this.scope); + out.append("' "); + appendProperties(out); + appendChildren(out, "tools: \n ", "\n "); + if (hasChildren()) + { + out.append(")"); + } + return out.toString(); + } + }