Search in sources :

Example 1 with C2dFile

use of com.willwinder.ugs.nbp.designer.io.c2d.model.C2dFile in project Universal-G-Code-Sender by winder.

the class C2dReader method read.

@Override
public Optional<Design> read(InputStream resourceAsStream) {
    try {
        String designFileContent = IOUtils.toString(resourceAsStream, StandardCharsets.UTF_8);
        designFileContent = StringUtils.substringBefore(designFileContent, "MODELV1");
        if (StringUtils.isEmpty(designFileContent)) {
            return Optional.empty();
        }
        Gson gson = new GsonBuilder().create();
        C2dFile c2dFile = gson.fromJson(designFileContent, C2dFile.class);
        List<Entity> entities = new ArrayList<>();
        entities.addAll(parseCurveObjects(c2dFile));
        entities.addAll(parseCircleObjects(c2dFile));
        entities.addAll(parseRectangleObjects(c2dFile));
        Design design = new Design();
        design.setEntities(entities);
        return Optional.of(design);
    } catch (Exception e) {
        throw new IllegalStateException("Couldn't read from stream", e);
    }
}
Also used : Design(com.willwinder.ugs.nbp.designer.model.Design) Entity(com.willwinder.ugs.nbp.designer.entities.Entity) GsonBuilder(com.google.gson.GsonBuilder) C2dFile(com.willwinder.ugs.nbp.designer.io.c2d.model.C2dFile) ArrayList(java.util.ArrayList) Gson(com.google.gson.Gson) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

Gson (com.google.gson.Gson)1 GsonBuilder (com.google.gson.GsonBuilder)1 Entity (com.willwinder.ugs.nbp.designer.entities.Entity)1 C2dFile (com.willwinder.ugs.nbp.designer.io.c2d.model.C2dFile)1 Design (com.willwinder.ugs.nbp.designer.model.Design)1 FileNotFoundException (java.io.FileNotFoundException)1 ArrayList (java.util.ArrayList)1