@Override public CreateSnapshotResponseProto createSnapshot(RpcController controller, CreateSnapshotRequestProto req) throws ServiceException { try { final CreateSnapshotResponseProto.Builder builder = CreateSnapshotResponseProto.newBuilder(); final String snapshotPath = server.createSnapshot(req.getSnapshotRoot(), req.hasSnapshotName()? req.getSnapshotName(): null); if (snapshotPath != null) { builder.setSnapshotPath(snapshotPath); } return builder.build(); } catch (IOException e) { throw new ServiceException(e); } }
@Override public String createSnapshot(String snapshotRoot, String snapshotName) throws IOException { final CreateSnapshotRequestProto.Builder builder = CreateSnapshotRequestProto.newBuilder().setSnapshotRoot(snapshotRoot); if (snapshotName != null) { builder.setSnapshotName(snapshotName); } final CreateSnapshotRequestProto req = builder.build(); try { return rpcProxy.createSnapshot(null, req).getSnapshotPath(); } catch (ServiceException e) { throw ProtobufHelper.getRemoteException(e); } }