You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2008/07/29 00:12:38 UTC
svn commit: r680534 - in
/velocity/engine/trunk/src/java/org/apache/velocity/runtime:
VelocimacroFactory.java VelocimacroManager.java
Author: nbubna
Date: Mon Jul 28 15:12:36 2008
New Revision: 680534
URL: http://svn.apache.org/viewvc?rev=680534&view=rev
Log:
don't create VM proxies when we're just checking existence (VELOCITY-607)
Modified:
velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroFactory.java
velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroFactory.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroFactory.java?rev=680534&r1=680533&r2=680534&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroFactory.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroFactory.java Mon Jul 28 15:12:36 2008
@@ -464,14 +464,8 @@
{
synchronized(this)
{
- /*
- * first we check the locals to see if we have
- * a local definition for this template
- */
- if (vmManager.get(vm, sourceTemplate) != null)
- return true;
+ return vmManager.has(vm, sourceTemplate);
}
- return false;
}
/**
Modified: velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java?rev=680534&r1=680533&r2=680534&view=diff
==============================================================================
--- velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java (original)
+++ velocity/engine/trunk/src/java/org/apache/velocity/runtime/VelocimacroManager.java Mon Jul 28 15:12:36 2008
@@ -160,6 +160,31 @@
}
/**
+ * determines if such a macro exists
+ * @param vmName Name of the Velocitymacro to look up.
+ * @param namespace Namespace in which to look up the macro.
+ */
+ public boolean has(final String vmName, final String namespace)
+ {
+ if (usingNamespaces(namespace))
+ {
+ Hashtable local = getNamespace(namespace, false);
+ if (local != null)
+ {
+ if (local.containsKey(vmName))
+ {
+ return true;
+ }
+ }
+ }
+ if (globalNamespace.containsKey(vmName))
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
* gets a new living VelocimacroProxy object by the
* name / source template duple
* @param vmName Name of the VelocityMacro to look up.