В моем приложении я получаю некоторые данные из файла, расположенного на сервере. Данные хранятся в текстовом файле (.obj), поэтому я использую rpc для чтения файла и получения данных. Файл читается с использованием сторонней библиотеки http://www.pixelnerve.com/processing/libraries/objimport/ Я отправляю данные клиенту с помощью ArrayLists, в основном отправляю это: ArrayList [ArrayList [Vertex3dDTO]], где Vertex3dDTO - сериализуемый объект с содержанием float параметры. ArrayList [Vertex3dDTO] содержится в другом сериализуемом классе Face3dDTO, а ArrayList [Face3dDTO] находится в сериализуемом классе Group3dDTO.
package com.nyquicksale.tailorapp.shared;
import java.io.Serializable;
public class Vertex3dDTO implements Serializable {
float x,y,z;
public Vertex3dDTO(){
}
public Vertex3dDTO(float x, float y, float z){
this.x = x;
this.y = y;
this.z = z;
}
}
public class Face3dDTO implements Serializable {
ArrayList<Vertex3dDTO> vL = new ArrayList<Vertex3dDTO>();
Vertex3dDTO normal = new Vertex3dDTO();
Vertex3dDTO color = new Vertex3dDTO();
public Face3dDTO(){
}
public Face3dDTO(ArrayList<Vertex3dDTO> v) {
for(Vertex3dDTO v3dDTO : v){
vL.add(v3dDTO);
}
updateNormal();
}
public class Group3dDTO implements Serializable {
ArrayList<Face3dDTO> fL = new ArrayList<Face3dDTO>();
String name;
public Group3dDTO(){
}
public Group3dDTO(ArrayList<Face3dDTO> f) {
for(Face3dDTO f3dDTO : f){
fL.add(f3dDTO);
}
}
}
Теперь все работает хорошо в режиме разработки, но когда я тестировал приложение в размещенном режиме, все, что я получаю в ответ: // OK [0,1, ["java.util.ArrayList / 4159755760"], 0,7]
Итак, я проверил некоторые другие вопросы и, похоже, проблема в десериализации, но я не нашел ничего конкретного.
Вопрос в том, что мне нужно сделать, чтобы приложение работало хорошо в размещенном режиме?