EMPIREDB-232
bugfix: reset client-id inside UIData
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
index 051b777..f64dfa6 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
@@ -179,12 +179,23 @@
         try {

             this.creatingComponents = true;

             createInputComponents(comp, ii, context, children);

+            // check

+            boolean resetChildId = ii.isInsideUIData();

+            if (resetChildId && log.isDebugEnabled())

+            {   // Debug-Info only   

+                UIComponent c1 = comp.getChildren().get(0);

+                String clientId = c1.getClientId();

+                log.debug("Performing ChildId-reset for {}", clientId);

+            }

             // add attached objects

             UIComponent parent = comp;

             while (!(parent instanceof UIInput))

                 parent = parent.getParent();

             for (UIComponent child : children)

-            {   // check type

+            {   // reset child-id

+                if (resetChildId && child.getId()!=null)

+                    child.setId(child.getId());

+                // check type

                 if (!(child instanceof UIComponentBase))

                     continue;

                 // add attached objects

@@ -209,8 +220,7 @@
     {

         // Encode all

         for (UIComponent child : comp.getChildren())

-        {   // reset child-id

-            // render

+        {   // render

             if (child.isRendered())

                 child.encodeAll(context);

         }