Volker, I will provide you one...by tomorrow...
regards,
-R
On Mon, Feb 25, 2008 at 3:31 AM, Volker Weber <[EMAIL PROTECTED]> wrote:
> Hi Raj,
>
> i can't reproduce this behavior.
> Can you provide a small example (if possible as diff on
> tobago-example-demo) to reproduce this?
>
>
> Regards,
> Volker
>
> 2008/2/21, Raj .G. Narasimhan <[EMAIL PROTECTED]>:
> > Volker, here're the log msgs, which might give you somewhat clear
> picture of
> > what's going on....
> >
> > Appreciate your efforts..!
> >
> > 10:06:15,963 INFO [AjaxUtils] ajaxComponentIds =
> "cdbmainpage:orderPanel"
> > 10:06:15,963 INFO [AjaxUtils] ajaxComponent for
> "cdbmainpage:orderPanel" =
> > "[EMAIL PROTECTED]"
> > 2008-02-21 10:06:15: OrderPanelController::showInDetail():
> > Selected Order: NA9
> > 2008-02-21 10:06:15: OrderPanelController::setOrder():
> > Setting Order: null
> >
> > Consequently, the following is the trace, as the order is getting set to
> > Null, everytime, even though the Value change listener is showing the
> > getValue() of the SelectListOneBox component, is keep on retaining the
> > initially set value (NA9)...as you can see:
> >
> > Feb 21, 2008 10:06:16 AM
> > org.apache.catalina.core.StandardWrapperValve invoke
> > SEVERE: Servlet.service() for servlet Faces Servlet threw exception
> > java.lang.NullPointerException
> > at
> > com.uunet.es3.controller.OrderPanelController.getStatus(
> OrderPanelController.java:101)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > at
> > sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at
> > org.apache.myfaces.el.PropertyResolverImpl.getProperty(
> PropertyResolverImpl.java:457)
> > at
> > org.apache.myfaces.el.PropertyResolverImpl.getValue(
> PropertyResolverImpl.java:85)
> > at
> > org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(
> ELParserHelper.java:535)
> > at
> > org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
> > at
> > org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java
> :386)
> > at
> > javax.faces.component.UIOutput.getValue(UIOutput.java:80)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > Method)
> > at
> > sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:585)
> > at
> > javax.faces.component._ComponentAttributesMap.getComponentProperty
> (_ComponentAttributesMap.java:387)
> > at
> > javax.faces.component._ComponentAttributesMap.get
> (_ComponentAttributesMap.java:235)
> > at
> > org.apache.myfaces.tobago.renderkit.LabelWithAccessKey.<init>(
> LabelWithAccessKey.java:43)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.LabelRenderer.encodeEnd
> (LabelRenderer.java:79)
> > at
> > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java
> :539)
> > at
> > org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java
> :86)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent
> (GridLayoutRenderer.java:379)
> > at
> > org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(
> UILayout.java:70)
> > at
> >
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent
> (UIGridLayout.java:276)
> > at
> > org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(
> UIPanelBase.java:43)
> > at
> > org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java
> :79)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent
> (GridLayoutRenderer.java:379)
> > at
> > org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(
> UILayout.java:70)
> > at
> >
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent
> (UIGridLayout.java:276)
> > at
> > org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(
> UIPanelBase.java:43)
> > at
> > org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java
> :79)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent
> (GridLayoutRenderer.java:379)
> > at
> > org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(
> UILayout.java:70)
> > at
> >
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent
> (UIGridLayout.java:276)
> > at
> > org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(
> UIPanelBase.java:43)
> > at
> > org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java
> :79)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent
> (GridLayoutRenderer.java:379)
> > at
> > org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(
> UILayout.java:70)
> > at
> >
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent
> (UIGridLayout.java:276)
> > at
> > org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(
> UIPanelBase.java:43)
> > at
> >
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.PanelRenderer.encodeAjax
> (PanelRenderer.java:173)
> > at
> > org.apache.myfaces.tobago.ajax.api.AjaxUtils.encodeAjaxComponent(
> AjaxUtils.java:67)
> > at
> > org.apache.myfaces.tobago.component.UIPanelBase.encodeAjax(
> UIPanelBase.java:48)
> > at
> > org.apache.myfaces.tobago.util.EncodeAjaxCallback.execute(
> EncodeAjaxCallback.java:32)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1246)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIForm(
> ComponentUtil.java:1271)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1250)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.prepareOnUIComponent(
> ComponentUtil.java:1278)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOrPrepare(
> ComponentUtil.java:1252)
> > at
> > org.apache.myfaces.tobago.component.ComponentUtil.invokeOnComponent(
> ComponentUtil.java:1240)
> > at
> > org.apache.myfaces.tobago.ajax.api.AjaxResponseRenderer.renderComponent(
> AjaxResponseRenderer.java:140)
> > at
> > org.apache.myfaces.tobago.ajax.api.AjaxResponseRenderer.renderResponse(
> AjaxResponseRenderer.java:120)
> > at
> > org.apache.myfaces.tobago.lifecycle.RenderResponseExecutor.execute(
> RenderResponseExecutor.java:47)
> > at
> > org.apache.myfaces.tobago.lifecycle.TobagoLifecycle.render(
> TobagoLifecycle.java:141)
> > at
> > javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:290)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:206)
> > at
> > org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(
> TobagoMultipartFormdataFilter.java:127)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:235)
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:206)
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:233)
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:175)
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :128)
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :102)
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:109)
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :286)
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :844)
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
> Http11Protocol.java:583)
> > at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> > at java.lang.Thread.run(Thread.java:595)
> >
> >
> > On Thu, Feb 21, 2008 at 10:13 AM, Raj .G. Narasimhan <[EMAIL PROTECTED]
> >
> > wrote:
> > > Currently, I'm using 1.0.15...(since two days)...Previously, I started
> the
> > development with 1.0.13....
> > >
> > > thanks,
> > > -R
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Feb 21, 2008 at 10:09 AM, Volker Weber <[EMAIL PROTECTED]>
> wrote:
> > >
> > > > Which version of tobago? I'm trying to reproduce this.
> > > >
> > > >
> > > >
> > > >
> > > > 2008/2/21, Raj .G. Narasimhan <[EMAIL PROTECTED]>:
> > > > > Yes, I did....Volker... But, there is none...
> > > > >
> > > > > thanks,
> > > > > -R
> > > > >
> > > > >
> > > > > On Thu, Feb 21, 2008 at 9:59 AM, Volker Weber <[EMAIL PROTECTED]>
> > wrote:
> > > > > > than it should work!
> > > > > >
> > > > > > can you add a tc:messages tag inside the orderPanel to ensure
> there
> > > > > > are no conversion/validation errors.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > 2008/2/21, Raj .G. Narasimhan <[EMAIL PROTECTED]>:
> > > > > > > Thanks Volker, for the reply!
> > > > > > >
> > > > > > > The SelectOneListBox with the facet, is within the rendered
> panel
> > > > > > > (orderPanel which encloses both this selectListOneBox
> component,
> > as well
> > > > > as
> > > > > > > the 'orderDetailPanel'). Hence, I expected the value of
> > > > > SelectOneListBox,
> > > > > > > to be processed. And, it's not.
> > > > > > >
> > > > > > > I will try with the other two options....
> > > > > > >
> > > > > > > Appreciate it!
> > > > > > >
> > > > > > > tx,
> > > > > > > -R
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > <tc:panel id="orderPanel">
> > > > > > > ....
> > > > > > > ...
> > > > > > > <tc:box label="#{rsrcBundle.order_orderListLabel}">
> > > > > > > <f:facet name="layout">
> > > > > > > <tc:gridLayout rows="*" columns="*" margin="2px"
> />
> > > > > > > </f:facet>
> > > > > > > <tc:selectOneListbox value="#{
> orderPanelController.order}"
> > > > > > >
> > > > > > >
> > > > >
> > valueChangeListener="#{orderPanelController.showInDetail}"
> > > > > > >
> > > > > > >
> > > > >
> > validator="#{orderPanelController.validateListSelection}">
> > > > > > > <f:selectItems value="#{
> orderPanelController.orders}"
> > />
> > > > > > > <f:converter converterId="deviceOrderId" />
> > > > > > >
> > > > > > > <f:facet name="click">
> > > > > > > <tc:command
> > action="#{orderPanelController.returnNull}">
> > > > > > > <tc:attribute
> value=":cdbmainpage:orderPanel"
> > > > > > > name="renderedPartially" />
> > > > > > > </tc:command>
> > > > > > > </f:facet>
> > > > > > > <%-- I tired the same command with 'change' facet' also %>
> > > > > > > </tc:selectOneListbox>
> > > > > > >
> > > > > > > </tc:box>
> > > > > > >
> > > > > > > <tc:panel id="orderDetailPanel">
> > > > > > >
> > > > > > >
> > > > > > > On Thu, Feb 21, 2008 at 3:22 AM, Volker Weber <
> [EMAIL PROTECTED]>
> > > > > wrote:
> > > > > > > > Hi Raj,
> > > > > > > >
> > > > > > > > if i interpret your code snippet correct,
> > > > > > > >
> > > > > > > > the selectOneListbox with the click/change facet is NOT
> inside
> > the
> > > > > > > > partially rendered panel. This is the problem, only the
> content
> > of the
> > > > > > > > partiallyRendered component is processed on the server.
> > > > > > > >
> > > > > > > > you have two(tree) choices:
> > > > > > > > 1. include the listbox into the renderedPartially scope.
> > > > > > > > 2. invoke the processing of listbox lifecycle in your
> action.
> > > > > > > > UIComponent listbox =
> > facesContext.getViewRoot().findComponent(<id
> > > > > > > > of listbox>);
> > > > > > > > listbox.processDecodes(facesContect);
> > > > > > > > listbox.processValidations(facesContect);
> > > > > > > > listbox.processUpdates(facesContect);
> > > > > > > >
> > > > > > > > 3.(experimental) use 1.1-SNAPSHOT version.
> > > > > > > > you can declare full page to be submitted (and processed)
> > partially
> > > > > and
> > > > > > > > in your action method remove the page and add orderPanel
> > from/to the
> > > > > > > > partially
> > > > > > > > component list.
> > > > > > > >
> > > > > > > >
> > > > > > > > Regards,
> > > > > > > > Volker
> > > > > > > >
> > > > > > > > 2008/2/21, Raj .G. Narasimhan <[EMAIL PROTECTED]>:
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > I am trying to show the details of 'SelectItem' object of
> > > > > > > SelectOneListBox
> > > > > > > > > on a set of Input fields. Problem that I am facing is,
> > whenever the
> > > > > page
> > > > > > > is
> > > > > > > > > rendered partially, it always returns the 'value' of
> > > > > SelectOneListBox as
> > > > > > > > > null. I have tried using both 'change' and 'click'
> facets,
> > and both
> > > > > of
> > > > > > > them
> > > > > > > > > are not giving the desired results.
> > > > > > > > >
> > > > > > > > > Here's the scenario, in little detail:
> > > > > > > > >
> > > > > > > > > When I use, 'click' facet, and tried to select different
> list
> > items:
> > > > > > > > >
> > > > > > > > > ** In the valueChangeEvent, everytime it's retaining the
> > initially
> > > > > set
> > > > > > > value
> > > > > > > > > (First item of List box, which I set when I render the
> panel
> > for the
> > > > > > > first
> > > > > > > > > time) .
> > > > > > > > >
> > > > > > > > > ** getValue() of the source component in the valueChange
> > event, is
> > > > > > > > > supposedly returning the binding value, if the current
> value
> > is
> > > > > null.
> > > > > > > And, I
> > > > > > > > > guess, this is the reason, it retains the old value, if
> the
> > current
> > > > > > > > > localvalue is null.
> > > > > > > > >
> > > > > > > > > ** After this listerner call, it tries to set the value of
> the
> > > > > > > > > SelectOneListBox's bound value as null, and this results
> in
> > > > > NPException,
> > > > > > > as
> > > > > > > > > the 'DetailPanel's fields are this object's properties.
> > > > > > > > >
> > > > > > > > > ** I tried intercepting with a Validator - Surprisingly,
> this
> > is
> > > > > not
> > > > > > > called
> > > > > > > > > at all...
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > When I use "Change" facet and tried to select different
> list
> > items:
> > > > > > > > > ** ValueChangeEvent does not occur at all
> > > > > > > > > **Agreeably, 'change' facet's command is also not called
> > > > > > > > > **No validator call is made
> > > > > > > > >
> > > > > > > > > Here's the code snippet:
> > > > > > > > > <tc:panel id="orderPanel">
> > > > > > > > > ....
> > > > > > > > > ...
> > > > > > > > > <tc:box label="#{rsrcBundle.order_orderListLabel}">
> > > > > > > > > <f:facet name="layout">
> > > > > > > > > <tc:gridLayout rows="*" columns="*"
> margin="2px"
> > />
> > > > > > > > > </f:facet>
> > > > > > > > > <tc:selectOneListbox
> > value="#{orderPanelController.order}"
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > valueChangeListener="#{orderPanelController.showInDetail}"
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > validator="#{orderPanelController.validateListSelection}">
> > > > > > > > > <f:selectItems
> > value="#{orderPanelController.orders}" />
> > > > > > > > > <f:converter converterId="deviceOrderId" />
> > > > > > > > >
> > > > > > > > > <f:facet name="click">
> > > > > > > > > <tc:command
> > > > > action="#{orderPanelController.returnNull}">
> > > > > > > > > <tc:attribute
> > value=":cdbmainpage:orderPanel"
> > > > > > > > > name="renderedPartially" />
> > > > > > > > > </tc:command>
> > > > > > > > > </f:facet>
> > > > > > > > > <%-- I tired the same command with 'change' facet' also
> %>
> > > > > > > > > </tc:selectOneListbox>
> > > > > > > > >
> > > > > > > > > </tc:box>
> > > > > > > > >
> > > > > > > > > <tc:panel id="orderDetailPanel">
> > > > > > > > > ....
> > > > > > > > > ..
> > > > > > > > >
> > > > > > > > > OrderPanelController:
> > > > > > > > > public void showInDetail(ValueChangeEvent valChangeEvent)
> {
> > > > > > > > > UISelectOne select =
> > > > > > > > > (UISelectOne)valChangeEvent.getComponent();
> > > > > > > > > if(select.getValue() == null){
> > > > > > > > > LOG.finer("Value is null");
> > > > > > > > > return;
> > > > > > > > > }
> > > > > > > > > order = (DeviceOrder) select.getValue();
> > > > > > > > > LOG.finer("Selected Order: "+select.getValue());
> > > > > > > > > return;
> > > > > > > > > }
> > > > > > > > >
> > > > > > > > > public void
> > validateListSelection(FacesContext
> > > > > context,
> > > > > > > > > UIComponent component, Object value) throws
> ValidatorException
> > {
> > > > > > > > > if (value == null) {
> > > > > > > > > System.out.println("List validation:Came here
> :
> > Value is
> > > > > > > null");
> > > > > > > > > return;
> > > > > > > > > }
> > > > > > > > > order = (DeviceOrder) value;
> > > > > > > > > LOG.finer("Selected order in validation: "+order);
> > > > > > > > > }
> > > > > > > > >
> > > > > > > > > Appreciate your help!
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Thanks,
> > > > > > > > >
> > > > > > > > > Raj .G. Narasimhan
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > inexso - information exchange solutions GmbH
> > > > > > > > Bismarckstraße 13 | 26122 Oldenburg
> > > > > > > > Tel.: +49 441 4082 356 |
> > > > > > > > FAX: +49 441 4082 355 | www.inexso.de
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Raj .G. Narasimhan
> > > > > >
> > > > > >
> > > > > > --
> > > > > >
> > > > > >
> > > > > >
> > > > > > inexso - information exchange solutions GmbH
> > > > > > Bismarckstraße 13 | 26122 Oldenburg
> > > > > > Tel.: +49 441 4082 356 |
> > > > > > FAX: +49 441 4082 355 | www.inexso.de
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Thanks,
> > > > >
> > > > > Raj .G. Narasimhan
> > > >
> > > >
> > > > --
> > > >
> > > >
> > > >
> > > > inexso - information exchange solutions GmbH
> > > > Bismarckstraße 13 | 26122 Oldenburg
> > > > Tel.: +49 441 4082 356 |
> > > > FAX: +49 441 4082 355 | www.inexso.de
> > > >
> > >
> > >
> > >
> > > --
> > > Thanks,
> > >
> > > Raj .G. Narasimhan
> >
> >
> >
> > --
> > Thanks,
> >
> > Raj .G. Narasimhan
>
>
> --
> inexso - information exchange solutions GmbH
> Bismarckstraße 13 | 26122 Oldenburg
> Tel.: +49 441 4082 356 |
> FAX: +49 441 4082 355 | www.inexso.de
>
--
Thanks,
Raj .G. Narasimhan