Announcement Announcement Module
Collapse
No announcement yet.
Custom Converter Example Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Hi Keith,

    Is there some way to use <form:input> with a SWF converters in 2.5.6 in the meantime?

    I haven't tried specifying a binder in each flow for each date input, and expected that setting up a StringToDate ('dd MMM yy') converter would be a global change.

    Regards,
    Greg

    Comment


    • #32
      Custom Conversion Service Not Used

      I'm trying to register a converter to translate between two custom classes, but it seems as though the default conversion service is still used instead of mine(I overrode both getConversionExecutor methods and getConverter to do nothing but println just to be sure). I've read these posts forwards and back about 4 times but am still empty handed. Any ideas why? I'm using Spring 2.5.6 and Web Flow 2.0.5

      webflow configuration:
      Code:
      <webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry">
      	    <webflow:flow-execution-listeners>
      	        <webflow:listener ref="securityFlowExecutionListener" />
      	    </webflow:flow-execution-listeners>
      	</webflow:flow-executor>
      	
      	<bean id="adhocConversionService" class="com.hpti.adhoc.ui.service.AdhocConversionService"/>
          
          <webflow:flow-builder-services id="flowBuilderServices" conversion-service="adhocConversionService"/>
      	
      	<bean id="securityFlowExecutionListener" 
      	      class="org.springframework.webflow.security.SecurityFlowExecutionListener" />
      
      	<!-- Flow registry for Spring Web Flow -->
      	<webflow:flow-registry id="flowRegistry">
      	    <webflow:flow-location-pattern value="/WEB-INF/flows/report/*-flow.xml" />
      	</webflow:flow-registry>
      
      	<!-- Handles requests mapped to the Spring Web Flow system -->
      	<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">
      		<property name="flowExecutor" ref="flowExecutor" />
      	</bean>
          
      	<!-- Maps request paths to flows in the flowRegistry;
      	     e.g. a path of /hotels/booking looks for a flow with id "hotels/booking" -->		
      	<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
      	    <property name="flowRegistry" ref="flowRegistry"/>
      	    <property name="order" value="0"/>
      	</bean>
      state in question:
      Code:
      <view-state id="reportSelect" model="reportSelect" view="/WEB-INF/views/report/reportSelectF.jsp">
              <secured attributes="ROLE_USER" />
              <on-render>
      		    <evaluate expression="availableReportsService.selectAvailableReports(currentUser.getPrincipal())" result="viewScope.availableReports" />
      		</on-render>		        
              <transition on="next" to="reportData">
              	<evaluate expression="reportSelect.getReportConfig()" result="reportConfig" />
              </transition>
              <transition on="load" to="reportData">
              	<evaluate expression="saveReportService.loadReport(reportSelect.getReportFile(), currentUser.getPrincipal())" result="reportConfig" result-type="com.hpti.adhoc.ui.dto.ReportConfig"/>
              </transition>
          </view-state>
      conversion service:
      Code:
      public class AdhocConversionService extends DefaultConversionService {
      
      	@Override	  
      	protected void addDefaultConverters() {
      	    
      		super.addDefaultConverters();
      
      		// registers a custom converter reference-able by id and applied when requested	    
      		addConverter(new ReportConverter());
      	  }
      }
      converter:
      Code:
      public class ReportConverter implements TwoWayConverter{
      
      	@Override
      	public Object convertTargetToSourceClass(Object target, Class sourceClass)
      			throws Exception {
      		...do conversion...
      		
      		return reportConfig;
      	}
      
      	@Override
      	public Object convertSourceToTargetClass(Object source, Class targetClass){
      		...do conversion...
      		
      		return configuredReport;
      	}
      
      	@Override
      	public Class getSourceClass() {
      		return ReportConfig.class;
      	}
      
      	@Override
      	public Class getTargetClass() {		
      		return ConfiguredReport.class;
      	}	
      }
      error:
      Code:
      org.springframework.binding.convert.ConversionExecutorNotFoundException: No ConversionExecutor found for converting from sourceClass [com.hpti.adhoc.common.dto.report.ConfiguredReport] to target class [com.hpti.adhoc.ui.dto.ReportConfig]
      Last edited by kwinter; Feb 13th, 2009, 02:54 PM.

      Comment


      • #33
        Yes! Got it Working!

        It has been a while since my original post, but I wanted to share the solution that we are now using. Hopefully it can help someone.

        First, define your converter class and implement the interface methods:

        Code:
        import javax.faces.component.UIComponent;
        import javax.faces.context.FacesContext;
        import javax.faces.convert.Converter;
        
        public class MyCustomObjectConverter implements Converter {
             
             public Object getAsObject(FacesContext context, 
                               UIComponent component, String id) {
        		
                  // retrieve your MyCustomObject instance based on the id
             }
        
             public String getAsString(FacesContext context, 
                              UIComponent component, Object myCustomObject) {
                  
                  // return a string representation of your object; we give it an
                  // id so that we can get the object back using the String 
                  // parameter in getAsObject
                  return myCustomObject == null ? "null" : 
                           ((MyCustomObject) myCustomObject).getId();
             }
        }
        Then, add a reference to the converter in your faces-config.xml, like so:

        Code:
        <faces-config ...>
        
            <converter>
                <converter-for-class>com.your.package.MyCustomObject
                </converter-for-class>
                <converter-class>com.your.package.MyCustomObjectConverter
                </converter-class>
            </converter>
        
        </faces-config>
        ... And that's it!

        Another thing we did was create a custom converter for our super-class that most of our objects extended from. Because of this, we only wrote a couple of converters for the edge cases in our system instead of one for every class used in the view.

        Comment


        • #34
          Possible Fix

          I'm not sure if this will help anyone but I was running into similar problems myself trying to configure a custom date format in following environment:

          - SWF 2.0.7
          - Spring 2.5.6
          - Websphere portlet environment.

          I was beginning to think that it was a bug within swf portlet, but then I RTFM and realised that I had configured the conversion service incorrectly.

          I had my conversion service configured as this:

          Code:
          <webflow:flow-builder-services id="flowBuilderServices"
          		conversion-service="conversionService"  expression-parser="expressionParser"/>
          
          
          	<bean id="expressionParser" class="org.springframework.webflow.expression.el.WebFlowELExpressionParser">
                   <constructor-arg>
                       <bean class="org.jboss.el.ExpressionFactoryImpl"/>    
                   </constructor-arg>
                   <property name="conversionService" ref="conversionService"/>
               </bean>
          
          	<bean id="conversionService"
          		class="onlineexpenses.util.ExpensesConversionService" />
          But what I failed to do was to register my conversion service in the webflow registry. So that should have looked like this (note emphasis):

          Code:
          <webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">...
          When I added the bold text everything worked as expected.

          Hope this helps someone

          Comment


          • #35
            As it turns out, that was my problem. I just kept missing it every time I compared against the ref docs...it's always the little things

            Comment


            • #36
              Hi,

              I'm struggling with the custom converters.

              This is what I got:

              The flow.xml:
              Code:
              <view-state id="rekeninghouder" model="contractPolis">
              	<binder>
              	         <binding property="rekeningHouder.geboorteDatum" converter="dutchDate"/>  
                          <binding property="rekeningHouder.geslacht"/>       
                      </binder>
              		<transition on="back" to="basisgegevens" />
              		<transition on="proceed" to="productgegevens" />
              		<transition on="cancel" to="cancel" bind="false" />
              	</view-state>
              Conversion service:
              Code:
              public class ConversionServiceImpl extends DefaultConversionService {
              	
              	@Override
                  protected void addDefaultConverters() {
                     super.addDefaultConverters();
              
                     StringToDate stringToDate = new StringToDate();
                     stringToDate.setPattern("dd-MM-yyyy");
                     addConverter("dutchDate",stringToDate);
                    
                  }
              
              
              }
              Application context:
              Code:
              <webflow:flow-builder-services id="flowBuilderServices" conversion-service="conversionService" />
              	
              	<bean id="conversionService" class="com.foo.myfoo.webflow.converters.ConversionServiceImpl"/>
              I'm using Spring Web 2.5.5 and Spring Weblow 2.0.8 in a portlet environment.

              I'm getting the following error:

              org.springframework.binding.convert.ConversionExec utorNotFoundException: No custom ConversionExecutor found with id 'dutchDate' for converting from sourceClass [java.util.Date] to targetClass [java.lang.String]
              at org.springframework.binding.convert.service.Generi cConversionService.getConversionExecutor(GenericCo nversionService.java:182)
              at org.springframework.webflow.engine.builder.support .FlowBuilderContextImpl$ParentConversionServicePro xy.getConversionExecutor(FlowBuilderContextImpl.ja va:154)
              at org.springframework.binding.convert.service.Generi cConversionService.getConversionExecutor(GenericCo nversionService.java:180)
              at org.springframework.webflow.mvc.view.BindingModel. getConverter(BindingModel.java:259)
              at org.springframework.webflow.mvc.view.BindingModel. getFormattedValue(BindingModel.java:236)
              at org.springframework.webflow.mvc.view.BindingModel. getFieldValue(BindingModel.java:141)
              at org.springframework.web.servlet.support.BindStatus .<init>(BindStatus.java:120)
              at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getBindStatus(AbstractData BoundFormElementTag.java:172)
              at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getPropertyPath(AbstractDa taBoundFormElementTag.java:192)
              at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getName(AbstractDataBoundF ormElementTag.java:158)
              at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.writeDefaultAttributes(Abs tractDataBoundFormElementTag.java:121)
              at org.springframework.web.servlet.tags.form.Abstract HtmlElementTag.writeDefaultAttributes(AbstractHtml ElementTag.java:379)
              at org.springframework.web.servlet.tags.form.InputTag .writeTagContent(InputTag.java:139)
              at org.springframework.web.servlet.tags.form.Abstract FormTag.doStartTagInternal(AbstractFormTag.java:90 )
              at org.springframework.web.servlet.tags.RequestContex tAwareTag.doStartTag(RequestContextAwareTag.java:7 7)
              at com.ibm._jsp._rekeninghouder._jspx_meth_form_input _3(_rekeninghouder.java:567)
              at com.ibm._jsp._rekeninghouder._jspService(_rekening houder.java:253)
              at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJsp Base.java:85)
              at javax.servlet.http.HttpServlet.service(HttpServlet .java:856)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.ser vice(ServletWrapper.java:966)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.ser vice(ServletWrapper.java:907)
              at com.ibm.ws.webcontainer.filter.WebAppFilterChain.d oFilter(WebAppFilterChain.java:118)
              at com.ibm.ws.webcontainer.filter.WebAppFilterChain._ doFilter(WebAppFilterChain.java:87)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:696)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:641)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.han dleRequest(ServletWrapper.java:475)
              at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.h andleRequest(ServletWrapper.java:463)
              at com.ibm.wsspi.webcontainer.servlet.GenericServletW rapper.handleRequest(GenericServletWrapper.java:11 5)
              at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensio nServletWrapper.handleRequest(AbstractJSPExtension ServletWrapper.java:168)
              at com.ibm.ws.webcontainer.webapp.WebAppRequestDispat cher.include(WebAppRequestDispatcher.java:606)
              at org.springframework.web.servlet.view.InternalResou rceView.renderMergedOutputModel(InternalResourceVi ew.java:231)
              at org.springframework.web.servlet.view.AbstractView. render(AbstractView.java:258)
              at org.springframework.web.servlet.ViewRendererServle t.renderView(ViewRendererServlet.java:111)
              at org.springframework.web.servlet.ViewRendererServle t.processRequest(ViewRendererServlet.java:84)
              at org.springframework.web.servlet.ViewRendererServle t.doGet(ViewRendererServlet.java:65)
              at javax.servlet.http.HttpServlet.service(HttpServlet .java:743)
              at javax.servlet.http.HttpServlet.service(HttpServlet .java:856)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.ser vice(ServletWrapper.java:966)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.ser vice(ServletWrapper.java:907)
              at com.ibm.ws.webcontainer.filter.WebAppFilterChain.d oFilter(WebAppFilterChain.java:118)
              at com.ibm.ws.webcontainer.filter.WebAppFilterChain._ doFilter(WebAppFilterChain.java:87)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:696)
              at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:641)
              at com.ibm.ws.webcontainer.servlet.ServletWrapper.han dleRequest(ServletWrapper.java:475)
              at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.h andleRequest(ServletWrapper.java:463)
              at com.ibm.ws.webcontainer.webapp.WebAppRequestDispat cher.include(WebAppRequestDispatcher.java:606)
              at com.ibm.ws.portletcontainer.core.impl.PortletReque stDispatcherImpl.include(PortletRequestDispatcherI mpl.java:79)
              ... 95 more


              Can please somebody help me with this because I'm entering the state of madness?

              I know the converter is added. The problem is that it can't find it by id.

              Thanks in forward!
              Last edited by mkamer; Aug 12th, 2009, 09:14 AM. Reason: Forgot to mention the portlet environment

              Comment


              • #37
                I debugged in the GenericConversionService and discovered that the customConverter property is populated with the customconverter (with id!) at start-up but is gone when it tries to retrieve it.

                Comment


                • #38
                  Finally solved the problem.

                  Completely missed the required part in

                  Code:
                  <webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">

                  Comment


                  • #39
                    Still cannot make sense of it

                    Hi All,

                    I have been reading all this thread and looked around the web for a solution but so far I am still in the darkness.

                    I still face the problem:

                    No ConversionExecutor found for converting from sourceClass [com.mysite.MyDate] to target class [java.lang.String]
                    org.springframework.binding.convert.ConversionExec utorNotFoundException: No ConversionExecutor found for converting from sourceClass [com.mysite.MyDate] to target class [java.lang.String]

                    Which is strange to me because I have defined the conversion service with:

                    Code:
                    @Component("conversionService")
                    public class ApplicationConversionService extends DefaultConversionService {
                    
                       @Override
                       protected void addDefaultConverters() {
                          super.addDefaultConverters();
                          // registers a default converter for MyDate type
                          addConverter("myDate", new MyDateConverter());
                       }
                    }
                    and the converter with this class
                    Code:
                    public class MyDateConverter extends StringToObject {
                       public MyDateConverter() {
                          super(MyDate.class);
                       }
                    
                       @Override
                       protected Object toObject(String string, Class aClass) throws Exception {
                          MyDate myDate = new MyDate(string);
                          myDate.setDate(string);
                          return myDate;
                       }
                    
                       @Override
                       protected String toString(Object o) throws Exception {
                          MyDate myDate = (MyDate) o;
                          return myDate.toString();
                       }
                    }
                    Plus I have added the required params in the webflow-config:

                    Code:
                    <webflow:flow-builder-services id="flowBuilderServices"
                                                      view-factory-creator="mvcViewFactoryCreator"
                                                      conversion-service="conversionService"
                                                      development="true" />
                    in my flow definition I have

                    Code:
                    <binder>
                             <binding property="birthdate" converter="myDate" required="true" />
                      </binder>
                    I tried to step with debugger inside the ApplicationConversionService class and the addConverter() is sucessfully called. Everything seems to be in order but still no success.

                    Any idea why then it's not working ?

                    Comment


                    • #40
                      Can you please post your full webflow-config? I'm assuming that you may be missing the following:

                      Code:
                      <webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">

                      Comment


                      • #41
                        This is my full webflow-config.xml

                        Code:
                        <?xml version="1.0" encoding="UTF-8"?>
                        
                        <beans xmlns="http://www.springframework.org/schema/beans"
                               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                               xmlns:webflow="http://www.springframework.org/schema/webflow-config"
                               xsi:schemaLocation="
                                   http://www.springframework.org/schema/beans
                                   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                                   http://www.springframework.org/schema/webflow-config
                                   http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">
                        
                           <bean name="/register.htm" id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">
                              <property name="flowExecutor" ref="flowExecutor" />
                           </bean>
                        
                           <!-- For annotated methods and types -->
                           <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
                           <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
                        
                           <!--enable jawr controller to be found without errors-->
                           <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
                        
                        
                           <webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry" />
                        
                           <!--This creates an XmlFlowRegistryFactory bean -->
                           <webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">
                              <webflow:flow-location path="/WEB-INF/flows/register.xml" />
                           </webflow:flow-registry>
                        
                           <webflow:flow-builder-services id="flowBuilderServices"
                                                          view-factory-creator="mvcViewFactoryCreator"
                                                          conversion-service="conversionService"
                                                          development="true" />
                        
                           <bean id="mvcViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
                              <property name="viewResolvers" ref="viewResolver" />
                              <property name="useSpringBeanBinding" value="true" />
                           </bean>
                        
                           <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
                              <property name="flowRegistry" ref="flowRegistry" />
                              <property name="order" value="0" />
                           </bean>
                        
                           <!-- Enables FlowHandler URL mapping -->
                           <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
                              <property name="flowExecutor" ref="flowExecutor" />
                           </bean>
                        
                        
                        </beans>
                        the line webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices" is present so the problem should lie somewhere else. I noticed that the constructor of the ApplicationConversionService is called twice and therefore also the line addConverter("myDate", new MyDateConverter()); inside that class is called twice.

                        I removed the @Service annotation for this class by using the standard <bean id="" class="" > definition but still the constructor is called twice. Before moving to webflow in my old controller with Spring MVC I was using a property editor for the MyDate class without any isse.

                        Open for suggestions.
                        Last edited by dawez; Sep 15th, 2009, 06:38 AM. Reason: Adding better explanations

                        Comment


                        • #42
                          Hi.

                          I swear I tried to solve this problem by searching the forum, but I failed.

                          The CUSTOM DATE conversion only works one way for me. It only work when the form is submitted (then the date string is properly parsed and converted into java.util.Date). The other way (converting a java.util.Date instance into a formatted String for displaying in a form) does not work.

                          Neither of this works (java.util.Date is not converted to a formatted String):

                          Code:
                          <input type="text" class="date_field" value="${ticketFilterCommand.dateFrom}" id="dateFrom" name="dateFrom" />
                          Code:
                          <form:input path="dateFrom" cssClass="date_field" />
                          My config:

                          Spring Framework 2.5.6
                          Spring Web Flow 2.0.8
                          com.springsource.org.jboss.el-2.0.0.GA.jar
                          Tiles 2.0.7

                          My definitions:

                          Code:
                          <flow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">
                          
                              <flow:flow-location path="/WEB-INF/flows/tickets_flow.xml" id="auth/tickets" />
                              <flow:flow-location path="/WEB-INF/flows/create_ticket_flow.xml" id="auth/create_ticket" />
                              <flow:flow-location path="/WEB-INF/flows/ticket_inspector_flow.xml" id="auth/ticket_inspector" />
                          
                              <flow:flow-location path="/WEB-INF/flows/contact_persons_flow.xml" id="auth/contact_persons" />
                              <flow:flow-location path="/WEB-INF/flows/create_contact_person_flow.xml" id="auth/create_contact_person" />
                              <flow:flow-location path="/WEB-INF/flows/edit_contact_person_flow.xml" id="auth/edit_contact_person" />
                          
                              <flow:flow-location path="/WEB-INF/flows/contact_person_access_flow.xml" id="auth/contact_person_access" />
                          
                          </flow:flow-registry>
                          
                          <flow:flow-executor id="flowExecutor" />
                          
                          <flow:flow-builder-services id="flowBuilderServices"
                              view-factory-creator="mvcViewFactoryCreator"
                              conversion-service="myConversionService" />
                          
                          <bean id="mvcViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
                              <property name="viewResolvers" ref="tilesViewResolver"/>
                              <property name="useSpringBeanBinding" value="false" />
                          </bean>
                          
                          <bean id="tilesViewResolver" class="org.springframework.js.ajax.AjaxUrlBasedViewResolver">
                              <property name="viewClass" value="org.springframework.webflow.mvc.view.FlowAjaxTilesView"/>
                          </bean>
                          The custom converter:

                          Code:
                          public class MyStringToDate extends StringToDate {
                          
                              public MyStringToDate() {
                          
                                  setPattern("dd.MM.yyyy");
                          
                              }
                          
                          }
                          The custom conversion service with two versions of the addDefaultConverters() method (none of them working):

                          Code:
                          @Component("myConversionService")
                          public class MyConversionService extends DefaultConversionService {
                          
                              /*@Override
                              protected void addDefaultConverters() {
                          
                                  super.addDefaultConverters();
                          
                                  addConverter(new MyStringToDate());
                                  
                              }*/
                          
                              @Override
                              protected void addDefaultConverters() {
                          
                                  super.addDefaultConverters();
                          
                                  StringToDate stringToDate = new StringToDate();
                                  stringToDate.setPattern("dd.MM.yyyy");
                          
                                  addConverter(stringToDate);
                          
                              }
                          
                          }
                          Observations:
                          • I tried to turn the useSpringBeanBinding option on and off without any success or difference.

                          Question

                          What am I doing wrong?

                          Can I use the custom conversion service to convert java.util.Date instances into a formatted string or am I getting something wrong here?

                          Thank you very much for you assistance and help.

                          Comment


                          • #43
                            HI MartinCZ,

                            it seems to me that your converter is a bit too short. I am using the following one. Please try something like this.

                            Code:
                            public class StringToMyDate extends StringToObject {
                               public StringToMyDate() {
                                  super(MyDate.class);
                               }
                            
                               @Override
                               public Object toObject(String string, Class aClass) throws Exception {
                                  MyDate myDate = new MyDate(string);
                                  return myDate;
                               }
                            
                               @Override
                               public String toString(Object object) throws Exception {
                                  MyDate myDate = (MyDate) object;
                                  return myDate.toString();
                               }
                            I am converting back<->forth Date class to Mydate class [which contains specific method for my app.] This way is working like a charm.

                            Let me know if this is not working and I will try to help more.

                            Comment


                            • #44
                              Hi, thanks for the tip. I didn't have to use it though, because my converter suddenly began to work I really have no idea what's going on here, I am pretty sure I didn't do any changes in the code. I was just debugging the framework's code and suddenly it worked.

                              Comment


                              • #45
                                Hey Cool !

                                I also had time ago an issue that was working only when debugging in intellij. At the end I managed to understand that the debugger is initializing the classes/object and sometimes you have different results in debug/run configuration.

                                Cool... working code is always good !

                                Comment

                                Working...
                                X