From 3a1e8da470e173c8ee0b9f543114dbdd81da556b Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Tue, 15 Dec 2015 14:39:50 +0800 Subject: [PATCH] --- src/org/redkale/boot/NodeServer.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/org/redkale/boot/NodeServer.java b/src/org/redkale/boot/NodeServer.java index 6dac389ba..13a908ddb 100644 --- a/src/org/redkale/boot/NodeServer.java +++ b/src/org/redkale/boot/NodeServer.java @@ -385,6 +385,28 @@ public abstract class NodeServer { } ClassFilter filter = new ClassFilter(ref, inter, prop); for (AnyValue av : list.getAnyValues(property)) { + final AnyValue[] items = av.getAnyValues("property"); + if (av instanceof DefaultAnyValue && items.length > 0) { + DefaultAnyValue dav = DefaultAnyValue.create(); + final AnyValue.Entry[] strings = av.getStringEntrys(); + if (strings != null) { + for (AnyValue.Entry en : strings) { + dav.addValue(en.name, en.getValue()); + } + } + final AnyValue.Entry[] anys = av.getAnyEntrys(); + if (anys != null) { + for (AnyValue.Entry en : anys) { + if (!"property".equals(en.name)) dav.addValue(en.name, en.getValue()); + } + } + DefaultAnyValue ps = DefaultAnyValue.create(); + for (AnyValue item : items) { + ps.addValue(item.getValue("name"), item.getValue("value")); + } + dav.addValue("property", ps); + av = dav; + } filter.filter(av, av.getValue("value"), false); } if (list.getBoolValue("autoload", true)) {