Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • dsijakovic
    replied
    Issue fixed! Everything works now as expected. Thank you Isomorphic, great job.

    Blama You were right about encoding problem. I've set -Dfile.encoding=UTF-8 and issue with encoding is also gone.

    Thanks Isomorphic and Blama for your help. Have a nice day :-)

    Best regards,

    Dejan


    Leave a comment:


  • Isomorphic
    replied
    We have just committed a fix for this problem. Please try your use cases with tomorrow's 6.0 or 6.1 builds (those dated February 23) and let us know if you still see an issue

    Leave a comment:


  • Isomorphic
    replied
    An engineer has started looking at this issue, we will update this thread when there is more to say

    Leave a comment:


  • dsijakovic
    replied
    It's been a month since first post in this topic.
    Did you noticed new test case in post #19 (5 files) that require 3 copy paste operations and run to see the problem in framework?
    I'm a PRO user, purchased two SmartGWT Pro (2.5 and 6.0) licences already.
    Do you have any information where in the queue is my test case and are we talking about days,weeks or months to be looked at?

    Best regards
    Dejan

    Leave a comment:


  • Isomorphic
    replied
    As the earlier comment stated, this is queued to be looked at behind paid support.

    Leave a comment:


  • dsijakovic
    replied
    Hi Isomorphic, do you have anything on this? Or any info when it will be looked at?
    We purchased 6.0 version and now can't upgrade to it because of this issue. Any info from your side would be very helpful.

    Thanks.

    Leave a comment:


  • dsijakovic
    replied
    Is this good test case?

    Should it be more simplified to get higher priority?
    Thanks,

    Dejan

    Leave a comment:


  • dsijakovic
    replied
    Hi,
    getProperties() on bean structure and pretty print is good. Everything there.
    Drop extra fields does not correct the problem.
    I've created one java file with bean structure. Removed all unnecessary fields from beans and Datasources in ds-dmi example.

    Because main issue here is Nested datasource fields with multiple="true" and valueXPath, i think that you can't reproduce issue without more datasource files:
    Code:
    <field name="items" type="Item" multiple="true" valueXPath="items/item"></field>
    DataSourceLoader in DataSourceDMI.html:
    Code:
     <script src="dsdmi/sc/DataSourceLoader?dataSource=supplyItem,supplyItemDMI,Contract,Item,TimeSeries,KeyValueOfdateTimedouble"></script>
    Part to call fetch operation on Contract datasource from onModuleLoad() method is the same as in the post #17

    Differences in RPC tab between 5.0 and 6.0
    5.0:
    Code:
     
    items:[
                    {
                        days:[
                            "Monday", 
                            "Saturday"
                        ], 
                        timeSeries:{
                            seriesType:"Min60", 
                            values:[
                                {
                                    value:34.67, 
                                    key:"2017-02-01T22:33:16.257"
                                }, 
                                {
                                    value:34.67, 
                                    key:"2017-02-01T22:33:16.257"
                                }
                            ]
                        }
                    }, 
                    {
                        days:[
                            "Monday", 
                            "Saturday"
                        ], 
                        timeSeries:{
                            seriesType:"Min60", 
                            values:[
                                {
                                    value:800, 
                                    key:"2017-02-01T22:33:16.257"
                                }, 
                                {
                                    value:800, 
                                    key:"2017-02-01T22:33:16.257"
                                }
                            ]
                        }
                    }
                ]
    6.0:
    Code:
    items:[
                    {
                        timeSeries:{
                            values:null
                        }
                    }, 
                    {
                        timeSeries:{
                            values:null
                        }
                    }
                ]
    Best regards,
    Dejan
    Attached Files

    Leave a comment:


  • Isomorphic
    replied
    This still isn't even close to minimal - if it wasn't clear, a minimal test case would involve just enough of a bean structure to show a misbehaving valueXPath. In this case it could probably be one .ds.xml and a couple of beans with just a couple of properties; it can probably all be done in one server-side .java file using inner classes. Aside from just being the standard way to report a bug, this would also keep you from having to upload a dozen files, populate unrelated fields, etc - simpler for both of us.

    We can still potentially look at the test case as it stands, but not being minimal, it receives much lower priority.

    Also, you previously said that the problem could not be reproduced with getProperties(). So in this test case, if you try calling getProperties() on your bean structure, and then print out the result via DataTools.prettyPrint() (which is pretty close to JSON), do you see the data structure you'd like to see delivered to the client?

    Also, if you set dropExtraFields="false" on your DataSources, does that correct the problem?

    Leave a comment:


  • dsijakovic
    replied
    Hi, I've reproduced issue in ds-dmi example.
    Copy java files to com.smartgwt.sample.server.
    Datasource files to ds folder.
    I'l attach DataSourceDMI.html (only added my datasources to DataDourceLoader)
    Code:
    <script src="dsdmi/sc/DataSourceLoader?dataSource=supplyItem,supplyItemDMI,Contract,Item,TimeSeries,ItemVariableData,KeyValueOfdateTimedouble"></script>
    At the end of onModuleLoad() method in com.smartgwt.sample.client.DataSourceDMI.java add:
    Code:
    DataSource contractDs = DataSource.get("Contract");
            contractDs.fetchData(null, new DSCallback() {
                
                @Override
                public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest) {
                    SC.warn("Data fetched!");
                    
                }
            });
    You should be able to see differences in responses in RPC tab from SmartGWT 5.0 and 6.0.
    5_0_Response is expected result.

    Few differences:
    In 5.0:
    itemVariables:[
    {
    date:"2017-01-31T08:42:40.772",
    capacityContract:"SOME_LONG_STRING",
    capacityContractType:"A04",
    id:1
    }
    ],

    In 6.0:
    itemVariables:null,
    In 5.0:
    days:[
    "Monday",
    "Saturday"
    ],

    In 6.0:
    No days at all
    In 5.0:
    values:[
    {
    value:34.67,
    key:"2017-01-31T08:42:40.772"
    },
    {
    value:34.67,
    key:"2017-01-31T08:42:40.772"
    },
    {
    value:34.67,
    key:"2017-01-31T08:42:40.772"
    },

    In 6.0:
    values:null,

    Versions tested are :
    SmartClient Version: v10.0p_2017-01-13/Pro Deployment (built 2017-01-13)

    SmartClient Version: v11.0p_2017-01-11/Pro Deployment (built 2017-01-11)

    Best regards,

    Dejan
    Attached Files

    Leave a comment:


  • Isomorphic
    replied
    If you think the problem is in DSResponse processing after you've returned your DSResponse, then the minimal test case we described above could be changed so that it shows a DataSource operation being performed rather than just being a standalone Java application. But we still need the *minimal* test case, not a bunch of Axis-generated WSDL wrappers.

    Leave a comment:


  • dsijakovic
    replied
    Hi, again. I don't know is this good or bad.
    DataSource.getProperties() works well. I've used
    Code:
    DataSource ds =  DataSourceManager.get("Contract")
    in my method.
    Then called
    Code:
    ds.getProperties()
    for loaded Axis2 object from xml and everything is there.
    Server side execution of a valueXPath is working. Used JSTranslator to write returned Map from getProperties() method to JS and that's the data i'm expecting on client side isn't it (will send files to support@isomorphic.com)?
    Next step is creating DSResponse object and call setData. I even used JSTranslator to write DSResponse.getData() to JS and that is also good.

    But, returning DSResponse object causes DataSources warnings can't get value for valueXPath which ds.getProperties() didn't. And finally there is response in RPC tab of console and that response is missing some objects and properties that should be there.
    I'l send
    • ContractData.json(test data),
    • DataSourceGetPropertiesMapToJS.json ( DataSource.getProperies() result),
    • ResponseInRPCtab.json( response in rpc tab) and
    • all datasources
    to support@isomorphic.com

    So problem is when i return DSResponse from my method. How can i inspect what's hapening after that?

    Maybe this is important. I'noticed that till version 5.1 SmartClient pooling for DataSource objects was disabled, and now is enabled. Maybe in pooling process is some kind of error and DataSource can't be found or something like that.
    I'm loading DataSources with
    Code:
    <isomorphic:XML> <jsp:include page="/ds/MyDataSource.ds.xml"></jsp:include>
    inside JSP



    Leave a comment:


  • Isomorphic
    replied
    It seems like you're saying that the issue is server-side execution of a valueXPAth against some Java beans. In that case a minimal test case would be some POJOs, a DataSource declaring a valueXPath, and code to cause the valueXPath or be executed (a standalone Java program that just calls DataSource.getProperties() should do it).

    That would consistute a minimal, ready-to-run test case that clearly demonstrates a framework bug.

    Leave a comment:


  • dsijakovic
    replied
    Hi Isomorphic.
    Tried all of that, then realized that we didn't understood each other well. At least I think so.
    I'm not using WSDL binding. I'm not loading/using WSDL on client side.
    My Java server side class ( for example in eeshowcase javabeans: SupplyItemDMI.java) fetch method is calling WCF service (with axis2 generated stubs) on other server. I'm not calling web service from client.
    DSResponse object from that fetch method is populated with a list of axis2 generated objects (javabeans...adbbeans...).
    So the problem is when SmartClient is serializing objects (calling getters methods on generated axis2 classes) to javascript. Difference in responses between 5.0 and 5.1 version is visible in post #3.

    So I think you can't reproduce issue without those axis2 objects.
    ​ Is post #10 good to go or do you have another idea?

    Thank you,

    Dejan

    Leave a comment:


  • Isomorphic
    replied
    Also, if the information is confidential, you can email it to support@isomorphic.com.

    Leave a comment:

Working...
X