Alejandro Acuña
2024-10-07 e68f1da78bc96da5410d19e0486446917d263fc6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package art.servers.transactionsserver.test.serialization;
 
import art.library.model.devices.user.User;
import art.library.interop.serialization.Serialization;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
 
public class TestSerializationTypeReference
{
 
    public static void main(String[] args) throws Exception
    {
        Long lon = 5L;
        long id = 5;
 
        @SuppressWarnings("unchecked")
        Map<String, User> usersHash = new HashMap<>();
        usersHash.put("user1", new User("user1"));
 
        List<User> usersList = new ArrayList<>();
        usersList.add(new User("user1"));
        usersList.add(new User("user2"));
        usersList.add(new User("user3"));
 
        User[] usersArray = {new User("user1"), new User("user2"), new User("user3")};
        
        @SuppressWarnings("unchecked")
        Map<String, String> vehiclessdsHash2 = new HashMap<>();
        vehiclessdsHash2.put("a", "obja");
        vehiclessdsHash2.put("b", "objb");
 
        ArrayList<String> listStr2 = new ArrayList<>();
        listStr2.add("obja");
        listStr2.add("objb");
 
        try
        {
            ObjectMapper mapper = new ObjectMapper();
            
            Serialization.serialize(usersList, new File("testList.json"));
            List<User> testlist1 = (List<User>)Serialization.deserialize(usersList.getClass(), new File("testList.json"));
            
            Serialization.serialize(usersArray, new File("testArray.json"));
            User[] testarray1 = (User[])Serialization.deserialize(User[].class, new File("testArray.json"));
            
            int a = 0;    
            //Serialization.serialize(usersList, new File("testListInterop.json"));
            
            //mapper.writerWithDefaultPrettyPrinter().writeValue(new File("testList.json"), usersList);
 
            //mapper.writerWithDefaultPrettyPrinter().writeValue(new File("testMap.json"), usersHash);
 
            
            //List<User> usersListtest2 = (List<User>)Serialization.deserialize(usersList.getClass(), new File("testListInterop.json"));
            //List<User> usersListtest = (List<User>)Serialization.deserialize(new TypeReference<ArrayList<User>>(){}, new File("testListInterop.json"));
            
            //List<User> usersListtest = mapper.readValue(new File("testList.json"), usersList.getClass());
            
            //User[] usersListtest = mapper.readValue(new File("testList.json"), User[].class);
            
            
//            usersList = mapper.readValue(new File("testList.json"), new TypeReference<ArrayList<User>>()
//            {
//            });
//            usersHash = mapper.readValue(new File("testMap.json"), new TypeReference<HashMap<String, User>>()
//            {
//            });
 
            try
            {
                Class class1 = Class.forName("java.util.ArrayList");
                Object obj1 = class1.newInstance();
                ArrayList<String> list1 = (ArrayList<String>) obj1;
            } catch (ClassNotFoundException ex)
            {
                Logger.getLogger(TestSerializationTypeReference.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex)
            {
                Logger.getLogger(TestSerializationTypeReference.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex)
            {
                Logger.getLogger(TestSerializationTypeReference.class.getName()).log(Level.SEVERE, null, ex);
            }
 
            //usersList = (Class.forName("java.util.ArrayList")<User>)mapper.readValue(new File("testList.json"),  Class.forName("java.util.ArrayList")<User>);
            System.out.println(usersList.getClass());
 
            TypeReference t = new TypeReference<ArrayList<User>>()
            {
            };
            System.out.println("");
        } catch (IOException ex)
        {
            Logger.getLogger(TestSerializationTypeReference.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
}