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
Announcement
Collapse
No announcement yet.
X
-
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:
-
An engineer has started looking at this issue, we will update this thread when there is more to say
Leave a comment:
-
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:
-
As the earlier comment stated, this is queued to be looked at behind paid support.
Leave a comment:
-
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:
-
Is this good test case?
Should it be more simplified to get higher priority?
Thanks,
Dejan
Leave a comment:
-
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>
Code:<script src="dsdmi/sc/DataSourceLoader?dataSource=supplyItem,supplyItemDMI,Contract,Item,TimeSeries,KeyValueOfdateTimedouble"></script>
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" } ] } } ]
Code:items:[ { timeSeries:{ values:null } }, { timeSeries:{ values:null } } ]
Dejan
Leave a comment:
-
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:
-
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>
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!"); } });
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 allIn 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,
DejanAttached Files- ArrayOfItem.java (1.3 KB, 128 views)
- Contract.ds.xml (712 Bytes, 148 views)
- 5_0Response.txt (10.5 KB, 133 views)
- 6_0Response.txt (1.3 KB, 140 views)
- TimeSeries.ds.xml (401 Bytes, 127 views)
- KeyValueOfdateTimedouble.ds.xml (193 Bytes, 127 views)
- ItemVariableData.ds.xml (336 Bytes, 158 views)
- Item.ds.xml (771 Bytes, 142 views)
- TimeSeries.java (6.6 KB, 147 views)
- ArrayOfItemVariableData.java (1.4 KB, 135 views)
- Item.java (23.3 KB, 140 views)
- KeyValueOfdateTimedouble_type0.java (1.1 KB, 141 views)
- ItemVariableData.java (5.0 KB, 132 views)
- EnDays.java (961 Bytes, 131 views)
- EnTimeSeriesPeriodType.java (1.7 KB, 144 views)
- EnDays_type0.java (2.2 KB, 129 views)
- EnActivationType.java (1.7 KB, 151 views)
- DataService.java (3.2 KB, 123 views)
- Contract.java (2.8 KB, 141 views)
- ArrayOfKeyValueOfdateTimedouble.java (1.5 KB, 141 views)
Leave a comment:
-
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:
-
Hi, again. I don't know is this good or bad.
DataSource.getProperties() works well. I've usedCode:DataSource ds = DataSourceManager.get("Contract")
Then calledCode:ds.getProperties()
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
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 withCode:<isomorphic:XML> <jsp:include page="/ds/MyDataSource.ds.xml"></jsp:include>
Leave a comment:
-
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:
-
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:
-
Also, if the information is confidential, you can email it to support@isomorphic.com.
Leave a comment:
Leave a comment: