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);
}
}
Aggregations