60 lines
2.3 KiB
Java
60 lines
2.3 KiB
Java
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import de.assecutor.votianlt.dto.JobWithRelatedDataDTO;
|
|
import de.assecutor.votianlt.model.CargoItem;
|
|
import de.assecutor.votianlt.model.Job;
|
|
import de.assecutor.votianlt.model.TaskEntry;
|
|
import org.bson.types.ObjectId;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Simple test to verify JSON serialization of ObjectIds as strings
|
|
*/
|
|
public class JsonSerializationTest {
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
System.out.println("[DEBUG_LOG] Testing Job ID serialization...");
|
|
|
|
// Create test data
|
|
Job job = new Job();
|
|
job.setId(new ObjectId());
|
|
job.setJobNumber("TEST-001");
|
|
|
|
CargoItem cargo = new CargoItem();
|
|
cargo.setId(new ObjectId());
|
|
cargo.setJobId(job.getId());
|
|
cargo.setDescription("Test cargo");
|
|
|
|
TaskEntry task = new TaskEntry();
|
|
task.setId(new ObjectId());
|
|
task.setJobId(job.getId());
|
|
task.setText("Test task");
|
|
|
|
JobWithRelatedDataDTO dto = new JobWithRelatedDataDTO(job, List.of(cargo), List.of(task));
|
|
|
|
// Serialize to JSON
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
String json = mapper.writeValueAsString(dto);
|
|
|
|
System.out.println("[DEBUG_LOG] Serialized JSON: " + json);
|
|
|
|
// Check if job ID is serialized as string
|
|
if (json.contains("\"id\":\"" + job.getId().toString() + "\"")) {
|
|
System.out.println("[DEBUG_LOG] ✓ Job ID correctly serialized as string");
|
|
} else if (json.contains("\"id\":{")) {
|
|
System.out.println("[DEBUG_LOG] ✗ Job ID serialized as ObjectId object");
|
|
} else {
|
|
System.out.println("[DEBUG_LOG] ? Job ID serialization format unclear");
|
|
}
|
|
|
|
// Test individual Job serialization
|
|
String jobJson = mapper.writeValueAsString(job);
|
|
System.out.println("[DEBUG_LOG] Individual Job JSON: " + jobJson);
|
|
|
|
if (jobJson.contains("\"id\":\"" + job.getId().toString() + "\"")) {
|
|
System.out.println("[DEBUG_LOG] ✓ Individual Job ID correctly serialized as string");
|
|
} else {
|
|
System.out.println("[DEBUG_LOG] ✗ Individual Job ID not serialized as string");
|
|
}
|
|
}
|
|
} |