Skip to content

Commit 2883509

Browse files
authored
Merge pull request #469 from Backendless/oleg.vyalyh/22707/json_adapting_type
Oleg.vyalyh/22707/json adapting type
2 parents 954a860 + f1ed0cf commit 2883509

File tree

4 files changed

+23
-19
lines changed

4 files changed

+23
-19
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ apply plugin: 'signing'
55

66

77
group 'com.backendless'
8-
version '6.0.2'
8+
version '6.1.0'
99
archivesBaseName='backendless'
1010

1111

@@ -63,7 +63,7 @@ uploadArchives {
6363
def ossrhPassword=''
6464

6565
// Properties props = new Properties()
66-
// props.load(new FileInputStream("/Users/ksv/dev/Android-SDK/ossrh.properties"))
66+
// props.load(new FileInputStream("./ossrh.properties"))
6767
//
6868
// ossrhUsername=props.getProperty( "user.name" )
6969
// ossrhPassword=props.getProperty( "user.password" )
@@ -261,7 +261,7 @@ dependencies {
261261
compileOnly( group: "com.backendless", name: "commons", version: "6.0.0", changing: true, ) {
262262
exclude group: 'com.fasterxml.jackson.core'
263263
}
264-
compileOnly( group: "weborb", name: "weborbclient", version: "5.2.0.1", changing: true)
264+
compileOnly( group: "weborb", name: "weborbclient", version: "5.2.0.3", changing: true)
265265

266266
compileOnly ('io.socket:socket.io-client:1.0.0') {
267267
// excluding org.json which is provided by Android

src/com/backendless/Backendless.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,16 @@
2929
import com.backendless.io.BackendlessUserFactory;
3030
import com.backendless.io.BackendlessUserWriter;
3131
import com.backendless.io.DoubleWriter;
32-
import com.backendless.persistence.*;
32+
import com.backendless.persistence.BackendlessSerializer;
33+
import com.backendless.persistence.Geometry;
34+
import com.backendless.persistence.GeometryDTO;
35+
import com.backendless.persistence.JsonDTO;
36+
import com.backendless.persistence.JsonDTOAdaptingType;
37+
import com.backendless.persistence.LineString;
38+
import com.backendless.persistence.Point;
39+
import com.backendless.persistence.Polygon;
40+
import com.backendless.persistence.QueryOptions;
41+
import com.backendless.persistence.RealmSerializer;
3342
import com.backendless.persistence.local.UserIdStorageFactory;
3443
import com.backendless.persistence.local.UserTokenStorageFactory;
3544
import com.backendless.rt.RTService;
@@ -193,7 +202,7 @@ public static void initApp( Object context, final String applicationId, final St
193202
ObjectFactories.addArgumentObjectFactory( Point.class.getName(), new BackendlessGeometryFactory() );
194203
ObjectFactories.addArgumentObjectFactory( LineString.class.getName(), new BackendlessGeometryFactory() );
195204
ObjectFactories.addArgumentObjectFactory( Polygon.class.getName(), new BackendlessGeometryFactory() );
196-
Types.addClientClassMapping( JsonDTO.class.getName(), JsonDTOAdapter.class );
205+
Types.addClientClassMapping( JsonDTO.class.getName(), JsonDTOAdaptingType.class );
197206
//ObjectFactories.addArgumentObjectFactory( JsonDTO.class.getName(), new BackendlessJsonFactory() );
198207
ContextHandler.setContext( context );
199208

src/com/backendless/persistence/JsonDTOAdapter.java renamed to src/com/backendless/persistence/JsonDTOAdaptingType.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,22 @@
44
import weborb.exceptions.AdaptingException;
55
import weborb.reader.ReferenceCache;
66
import weborb.types.ICacheableAdaptingType;
7-
import weborb.util.reflect.TypeUtils;
87

9-
import java.lang.reflect.ParameterizedType;
108
import java.lang.reflect.Type;
119
import java.util.HashMap;
1210
import java.util.Map;
1311
import java.util.Objects;
1412

1513

16-
public class JsonDTOAdapter implements ICacheableAdaptingType
14+
public class JsonDTOAdaptingType implements ICacheableAdaptingType
1715
{
1816
private String rawJsonString;
1917

20-
public JsonDTOAdapter()
18+
public JsonDTOAdaptingType()
2119
{
22-
2320
}
2421

25-
public JsonDTOAdapter( String rawJsonString )
22+
public JsonDTOAdaptingType( String rawJsonString )
2623
{
2724
this.rawJsonString = rawJsonString;
2825
}
@@ -46,7 +43,7 @@ public boolean equals( Object o )
4643
if( !(o instanceof JsonDTO) )
4744
return false;
4845

49-
JsonDTOAdapter jsonDTO = (JsonDTOAdapter) o;
46+
JsonDTOAdaptingType jsonDTO = (JsonDTOAdaptingType) o;
5047
return Objects.equals( rawJsonString, jsonDTO.rawJsonString );
5148
}
5249

@@ -99,10 +96,7 @@ public Object adapt( Type type, ReferenceCache referenceCache ) throws AdaptingE
9996
if( getRawJsonString() == null )
10097
return null;
10198

102-
if( type instanceof ParameterizedType )
103-
type = TypeUtils.getClass( ((ParameterizedType) type).getRawType() );
104-
105-
Object result = JSONUtil.getJsonConverter().readObject( getRawJsonString(), (Class) type );
99+
Object result = JSONUtil.getJsonConverter().readObject( getRawJsonString(), type );
106100
return result;
107101
}
108102
}

src/com/backendless/utils/JSONConverterWeborbImpl.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,18 @@
77
import weborb.util.io.Serializer;
88

99
import java.io.IOException;
10+
import java.lang.reflect.Type;
11+
1012

1113
public class JSONConverterWeborbImpl implements JSONConverter
1214
{
1315
@Override
14-
public <T> T readObject( String jsonString, Class<T> typeClass )
16+
public <T> T readObject( String jsonString, Type type )
1517
{
1618
try
1719
{
1820
IAdaptingType adaptingType = (IAdaptingType) Serializer.fromBytes( jsonString.getBytes(), Serializer.JSON, true );
19-
20-
return (T) adaptingType.adapt( typeClass );
21+
return (T) adaptingType.adapt( type );
2122
}
2223
catch( IOException e )
2324
{

0 commit comments

Comments
 (0)