private IResourceStream exportLayerJson() { try { AnnotationLayer layer = getModelObject(); List<ExportedAnnotationLayer> exLayers = new ArrayList<>(); ExportedAnnotationLayer exMainLayer = ImportUtil.exportLayerDetails(null, null, layer, annotationService); exLayers.add(exMainLayer); // If the layer is attached to another layer, then we also have to export // that, otherwise we would be missing it during re-import. if (layer.getAttachType() != null) { AnnotationLayer attachLayer = layer.getAttachType(); ExportedAnnotationLayer exAttachLayer = ImportUtil.exportLayerDetails(null, null, attachLayer, annotationService); exMainLayer.setAttachType( new ExportedAnnotationLayerReference(exAttachLayer.getName())); exLayers.add(exAttachLayer); } return new InputStreamResourceStream(new ByteArrayInputStream( JSONUtil.toPrettyJsonString(exLayers).getBytes("UTF-8"))); } catch (Exception e) { error("Unable to generate the JSON file: " + ExceptionUtils.getRootCauseMessage(e)); ProjectLayersPanel.LOG.error("Unable to generate the JSON file", e); RequestCycle.get().find(IPartialPageRequestHandler.class) .ifPresent(handler -> handler.addChildren(getPage(), IFeedback.class)); return null; } }
private IResourceStream exportLayerJson() { try { AnnotationLayer layer = getModelObject(); List<ExportedAnnotationLayer> exLayers = new ArrayList<>(); ExportedAnnotationLayer exMainLayer = ImportUtil.exportLayerDetails(null, null, layer, annotationService); exLayers.add(exMainLayer); // If the layer is attached to another layer, then we also have to export // that, otherwise we would be missing it during re-import. if (layer.getAttachType() != null) { AnnotationLayer attachLayer = layer.getAttachType(); ExportedAnnotationLayer exAttachLayer = ImportUtil.exportLayerDetails(null, null, attachLayer, annotationService); exMainLayer.setAttachType( new ExportedAnnotationLayerReference(exAttachLayer.getName())); exLayers.add(exAttachLayer); } return new InputStreamResourceStream(new ByteArrayInputStream( JSONUtil.toPrettyJsonString(exLayers).getBytes("UTF-8"))); } catch (Exception e) { error("Unable to generate the JSON file: " + ExceptionUtils.getRootCauseMessage(e)); ProjectLayersPanel.LOG.error("Unable to generate the JSON file", e); RequestCycle.get().find(IPartialPageRequestHandler.class) .ifPresent(handler -> handler.addChildren(getPage(), IFeedback.class)); return null; } }