This is an automated email from the ASF dual-hosted git repository.
cbrisson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/velocity-tools.git
The following commit(s) were added to refs/heads/master by this push:
new 994c555 [tools] Fix VELTOOLS-192 :
EasyFactoryConfiguration.addDefaultTools() overwriting previously added tools
994c555 is described below
commit 994c555d6a31e30b3c07daf6921e83e1b3227658
Author: Claude Brisson <[email protected]>
AuthorDate: Wed Dec 1 18:30:49 2021 +0100
[tools] Fix VELTOOLS-192 : EasyFactoryConfiguration.addDefaultTools()
overwriting previously added tools
---
.../tools/config/CompoundConfiguration.java | 22 ++++++++++++++++++++--
.../tools/config/EasyFactoryConfiguration.java | 2 +-
.../tools/config/FactoryConfiguration.java | 6 +++---
.../tools/config/ToolboxConfiguration.java | 2 +-
4 files changed, 25 insertions(+), 7 deletions(-)
diff --git
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java
index a0ef0e4..94886ba 100644
---
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java
+++
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/CompoundConfiguration.java
@@ -35,7 +35,7 @@ public class CompoundConfiguration<C extends Configuration>
{
private final SortedSet<C> children = new TreeSet<C>();
- protected void addChild(C newKid)
+ protected C addChild(C newKid)
{
// check if we already have a matching child
C child = getChild(newKid);
@@ -53,11 +53,13 @@ public class CompoundConfiguration<C extends Configuration>
// add newKid's values to childs (overwriting any dupes)
child.addConfiguration(newKid);
}
+ return child;
}
else
{
// simply adopt the new kid
children.add(newKid);
+ return newKid;
}
}
@@ -76,8 +78,24 @@ public class CompoundConfiguration<C extends Configuration>
return children;
}
+ /**
+ * @deprecated use addChildren(collection)
+ /**
+ @Deprecated
protected void setChildren(Collection<C> kids)
{
+
+ for (C kid : kids)
+ {
+ addChild(kid);
+ }
+ }
+
+ /**
+ * @since 3.2
+ /**
+ protected void addChildren(Collection<C> kids)
+ {
for (C kid : kids)
{
addChild(kid);
@@ -99,7 +117,7 @@ public class CompoundConfiguration<C extends Configuration>
public void addConfiguration(CompoundConfiguration<C> config)
{
// add config's children to our own
- setChildren(config.getChildren());
+ addChildren(config.getChildren());
// add config's properties to ours
super.addConfiguration(config);
diff --git
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/EasyFactoryConfiguration.java
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/EasyFactoryConfiguration.java
index 0bb8c7f..0cd539f 100644
---
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/EasyFactoryConfiguration.java
+++
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/EasyFactoryConfiguration.java
@@ -193,7 +193,7 @@ public class EasyFactoryConfiguration extends
FactoryConfiguration
{
ToolboxConfiguration toolbox = new ToolboxConfiguration();
toolbox.setScope(scope);
- addToolbox(toolbox);
+ toolbox = addToolbox(toolbox);
this.toolbox =
new EasyWrap<ToolboxConfiguration>(toolbox, this);
return this.toolbox;
diff --git
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java
index ba8d8b3..6fde49b 100644
---
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java
+++
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/FactoryConfiguration.java
@@ -205,9 +205,9 @@ public class FactoryConfiguration
}
}
- public void addToolbox(ToolboxConfiguration toolbox)
+ public ToolboxConfiguration addToolbox(ToolboxConfiguration toolbox)
{
- addChild(toolbox);
+ return addChild(toolbox);
}
public void removeToolbox(ToolboxConfiguration toolbox)
@@ -234,7 +234,7 @@ public class FactoryConfiguration
public void setToolboxes(Collection<ToolboxConfiguration> toolboxes)
{
- setChildren(toolboxes);
+ addChildren(toolboxes);
}
public void addConfiguration(FactoryConfiguration config)
diff --git
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
index c240919..199b50c 100644
---
a/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
+++
b/velocity-tools-generic/src/main/java/org/apache/velocity/tools/config/ToolboxConfiguration.java
@@ -99,7 +99,7 @@ public class ToolboxConfiguration
public void setTools(Collection<ToolConfiguration> tools)
{
- setChildren(tools);
+ addChildren(tools);
}
@Override