Example usage for org.apache.commons.io FileSystemUtils freeSpaceKb

List of usage examples for org.apache.commons.io FileSystemUtils freeSpaceKb

Introduction

In this page you can find the example usage for org.apache.commons.io FileSystemUtils freeSpaceKb.

Prototype

public static long freeSpaceKb(String path) throws IOException 

Source Link

Document

Returns the free space on a drive or volume in kilobytes by invoking the command line.

Usage

From source file:models.monitor.MonitorProvider.java

public DiskUsage getFreeDiskspace() {

    long freeSpace = -1L;
    try {//from   ww w.  ja v a2 s  .  c  o  m
        freeSpace = FileSystemUtils.freeSpaceKb("/");
    } catch (IOException e) {
        models.utils.LogUtils.printLogError("Error in getFreeDiskspace() " + e.getLocalizedMessage());
        //e.printStackTrace();
    }
    int gb = 1024 * 1024;
    DiskUsage usage = new DiskUsage();
    usage.freeSpaceGb = (double) freeSpace / (double) gb;

    if (VarUtils.IN_DETAIL_DEBUG) {

        models.utils.LogUtils.printLogNormal("Free Space:" + usage.freeSpaceGb + " GB");
    }

    currentDiskUsage = usage;
    return usage;
}

From source file:com.apporiented.hermesftp.cmd.impl.FtpCmdAllo.java

/**
 * {@inheritDoc}//from  w  w w  .  ja  v a  2s .  c o m
 */
public void execute() throws FtpCmdException {
    String response;
    try {
        long requiredSize = Long.parseLong(getArguments().trim());
        long availSize = FileSystemUtils.freeSpaceKb(getCtx().getRemoteDir()) * 1024;
        if (requiredSize <= availSize) {
            response = msg(MSG200_SIZE, new Object[] { availSize });
        } else {
            response = msg(MSG501_SIZE, new Object[] { availSize });
        }
    } catch (NumberFormatException e1) {
        response = msg(MSG501);
    } catch (IOException e) {
        log.error("Could not read disk space: " + e);
        response = msg(MSG550);
    }
    out(response);
}

From source file:com.jaeksoft.searchlib.Monitor.java

public Long getFreeDiskSpace() throws SecurityException, IOException, SearchLibException {
    try {//from w w  w  .ja v a 2 s . c om
        long l = ClientFactory.INSTANCE.properties.getMaxStorage();
        if (l > 0) {
            l -= ClientCatalog.getInstanceSize();
            if (l < 0)
                l = 0;
            return l;
        }
        if (StartStopListener.OPENSEARCHSERVER_DATA_FILE.getClass().getDeclaredMethod("getFreeSpace") != null)
            return StartStopListener.OPENSEARCHSERVER_DATA_FILE.getFreeSpace();
    } catch (NoSuchMethodException e) {
    }
    return FileSystemUtils.freeSpaceKb(StartStopListener.OPENSEARCHSERVER_DATA_FILE.getAbsolutePath()) * 1000;
}

From source file:eu.optimis.ics.core.io.BaseImageCopier.java

/**
 * Checks that <code>destination</code> has enough space to create a copy of
 * <code>baseImage</code>.//from   w  w  w .ja v a2 s  .  com
 * 
 * @param destination
 *            the destination which will be checked for free space
 * 
 * @param file
 *            the file to copy
 * 
 * @return <code>True</code> if there is enough space available to create a
 *         copy of <code>baseImage</code> on <code>destination</code>,
 *         <code>false</code> otherwise
 */
private boolean checkDiskspace(String destination, File file) {
    // Determine free space in KB
    long freeSpaceKb;
    try {
        freeSpaceKb = FileSystemUtils.freeSpaceKb(destination.toString());
    } catch (IOException ioException) {
        LOG.error("ics.core.io.BaseImageCopier.checkDiskspace(): Cannot determine free space in image folder '"
                + destination.toString() + "'", ioException);
        return false;
    }
    LOG.debug("ics.core.io.BaseImageCopier.checkDiskspace(): Free disk space: " + freeSpaceKb + "KB");

    // Determine required size in KB
    long requiredSizeKb = (file.length() / 1024);
    LOG.debug("ics.core.io.BaseImageCopier.checkDiskspace(): Required disk space: " + requiredSizeKb + "KB");

    // Check if enough space is available
    if (requiredSizeKb > freeSpaceKb) {
        LOG.error("ics.core.io.BaseImageCopier.checkDiskspace(): Not enough disk space for cloning image");
        return false;
    } else {
        LOG.debug("ics.core.io.BaseImageCopier.checkDiskspace(): Image can be cloned, enough disk space");
        return true;
    }
}

From source file:com.jaeksoft.searchlib.Monitor.java

public Long getTotalDiskSpace() throws SecurityException, IOException {
    try {// w  w w . ja va 2  s.  c  o m
        long l = ClientFactory.INSTANCE.properties.getMaxStorage();
        if (l > 0)
            return l;
        if (StartStopListener.OPENSEARCHSERVER_DATA_FILE.getClass().getDeclaredMethod("getTotalSpace") != null)
            return StartStopListener.OPENSEARCHSERVER_DATA_FILE.getTotalSpace();
    } catch (NoSuchMethodException e) {
    }
    return FileSystemUtils.freeSpaceKb(StartStopListener.OPENSEARCHSERVER_DATA_FILE.getAbsolutePath()) * 1000;
}

From source file:de.uzk.hki.da.convert.ConverterService.java

private void waitUntilThereIsSufficientSpaceOnCacheResource(String path, int neededAmountInKb,
        int sleepInterval) {
    long freeSpaceKb = 0;
    do {/* ww  w .  j ava2  s  . co  m*/
        try {
            freeSpaceKb = FileSystemUtils.freeSpaceKb(path);

        } catch (IOException e) {
            throw new RuntimeException("Error while trying to determine free space on cache resouce", e);
        }
        logger.debug("free space on cache resource is: " + freeSpaceKb + "kb");

        if (freeSpaceKb > neededAmountInKb)
            break; // to prevent waiting when sufficient space is there
        try {
            Thread.sleep(sleepInterval);
        } catch (InterruptedException e) {
            throw new RuntimeException("Problem with thread sleep", e);
        }

    } while (freeSpaceKb < neededAmountInKb);
}

From source file:gov.redhawk.core.filemanager.filesystem.JavaFileSystem.java

@Override
public void query(final PropertiesHolder fileSystemProperties) throws UnknownFileSystemProperties {
    final List<DataType> unknownProperties = new ArrayList<DataType>();
    for (final DataType dataType : fileSystemProperties.value) {
        if (dataType.id.equals("SIZE")) {
            final Any any = this.orb.create_any();
            // TODO For now we don't support SIZE
            any.insert_ulonglong(0);//from  ww  w . j  a va 2  s .  com
            //            any.insert_ulonglong(this.root..getTotalSpace());
            dataType.value = any;
        } else if (dataType.id.equals("AVAILABLE SPACE")) {
            final Any any = this.orb.create_any();
            long freeKb;
            try {
                freeKb = FileSystemUtils.freeSpaceKb(this.root.getAbsolutePath());
            } catch (final IOException e) {
                // PASS
                freeKb = 0;
            }
            any.insert_ulonglong(freeKb * 1024 / 8); // SUPPRESS CHECKSTYLE MagicNumber
            dataType.value = any;
        } else {
            unknownProperties.add(dataType);
        }
    }
    if (unknownProperties.size() > 0) {
        throw new UnknownFileSystemProperties(
                unknownProperties.toArray(new DataType[unknownProperties.size()]));
    }

}

From source file:edu.stanford.epad.epadws.processing.pipeline.watcher.EPADSessionWatcher.java

@Override
public void run() {
    EpadProjectOperations projectOperations = DefaultEpadProjectOperations.getInstance();
    EpadDatabaseOperations epadDatabaseOperations = EpadDatabase.getInstance().getEPADDatabaseOperations();
    Calendar prevTime = null;//from w  w  w . j a  v  a 2s .  co m
    long count = 0;
    while (!shutdownSignal.hasShutdown()) {
        try {
            long freeHeap = Runtime.getRuntime().freeMemory();
            long totalHeap = Runtime.getRuntime().totalMemory();
            count++;
            if (freeHeap < totalHeap / 8 && count % 5 == 0)
                log.info("Total Heap = " + totalHeap + ", Free Heap = " + freeHeap);

            // Timeout expired sessions
            EPADSessionOperations.checkSessionTimeout();

            Calendar now = Calendar.getInstance();
            // every 15 minutes
            if (now.get(Calendar.MINUTE) % 15 == 0) {
                diskspacealert = false;
                try {
                    long dcm4cheeMb = FileSystemUtils.freeSpaceKb(EPADConfig.dcm4cheeDirRoot) / 1024;
                    long epadMb = FileSystemUtils.freeSpaceKb(EPADConfig.getEPADWebServerBaseDir()) / 1024;
                    long tmpMb = FileSystemUtils.freeSpaceKb(System.getProperty("java.io.tmpdir")) / 1024;
                    long mysqlMb = MIN_DISKSPACE;
                    if (new File("/var/lib/mysql").exists())
                        mysqlMb = FileSystemUtils.freeSpaceKb("/var/lib/mysql") / 1024;
                    if (dcm4cheeMb < MIN_DISKSPACE || epadMb < MIN_DISKSPACE || tmpMb < MIN_DISKSPACE
                            || mysqlMb < MIN_DISKSPACE) {
                        diskspacealert = true;
                        projectOperations.createEventLog("system", null, null, null, null, null, null, null,
                                "Disk Space", "Server running out of disk space", true);
                        epadDatabaseOperations.insertEpadEvent("admin", "Server running out of disk space", "",
                                "", "", "", "", "", "Server running out of disk space");
                    }
                    if (EPadWebServerVersion.restartRequired) {
                        epadDatabaseOperations.insertEpadEvent("admin", "Software updated, Please restart ePAD",
                                "", "", "", "", "", "", "Please restart ePAD");
                    }
                } catch (Exception x) {
                    log.warning("Exception checking disk space", x);
                }
            }

            // Once a day
            if (prevTime == null || (now.get(Calendar.HOUR_OF_DAY) == 0 && prevTime != null
                    && prevTime.get(Calendar.HOUR_OF_DAY) != 0)) {
                if (projectOperations.getCacheSize() > 1000 && UserProjectService.pendingPNGs.isEmpty()
                        && RemotePACService.pendingTransfers.isEmpty())
                    projectOperations.clearCache();
                epadDatabaseOperations.deleteOldEvents();
                try {
                    if (!"true".equalsIgnoreCase(EPADConfig.getParamValue("DISABLE_STATISTICS"))) {
                        EpadStatisticsTask est = new EpadStatisticsTask();
                        new Thread(est).start();
                    }
                } catch (Exception x) {
                    log.warning("Exception running statistics", x);
                }
                try {
                    CleanupTempTask ctt = new CleanupTempTask();
                    new Thread(ctt).start();
                } catch (Exception x) {
                    log.warning("Exception running cleanup", x);
                }
            }
            prevTime = now;
            TimeUnit.MILLISECONDS.sleep(CHECK_INTERVAL);
        } catch (Exception e) {
            log.severe("Exception in EPAD Session Timer thread", e);
        }
    }
    log.info("Warning: EPADSessionWatcher shutting down.");
}

From source file:edu.stanford.epad.epadws.handlers.admin.ServerStatusHandler.java

@Override
public void handle(String s, Request request, HttpServletRequest httpRequest,
        HttpServletResponse httpResponse) {
    PrintWriter responseStream = null;
    int statusCode;

    httpResponse.setContentType("text/html");
    if (request != null) // In case handler is not called thru jetty
        request.setHandled(true);//from  w  w  w  . j a v a 2 s .  c  o  m

    try {
        boolean debug = "true".equalsIgnoreCase(httpRequest.getParameter("system_debug"));
        responseStream = httpResponse.getWriter();
        boolean validSession = SessionService.hasValidSessionID(httpRequest);
        User user = null;
        String sessionID = null;
        String username = null;
        if (validSession) {
            sessionID = SessionService.getJSessionIDFromRequest(httpRequest);
            username = EPADSessionOperations.getSessionUser(sessionID);
            user = DefaultEpadProjectOperations.getInstance().getUser(username);
            long upTime = System.currentTimeMillis() - startTime;
            long upTimeHr = upTime / (1000 * 60 * 60);
            long remain = upTime % (1000 * 60 * 60);
            long upTimeMin = remain / (1000 * 60);
            long upTimeSec = remain % (1000 * 60);
            upTimeSec = upTimeSec / 1000;
            responseStream.println("<body  topmargin='10px' leftmargin='10px' width='900px'>");
            String path = httpRequest.getContextPath().replace("status/", "").replace("status", "");
            if (!path.endsWith("/"))
                path = path + "/";
            responseStream.println("<a href=\"javascript:window.parent.location='" + path
                    + "Web_pad.html'\"><b>Back to ePAD</b></a>");
            if (Main.testPages && user != null && user.isAdmin())
                responseStream.println("<div style='float:right'><a href=\"javascript:window.parent.location='"
                        + path + "test/index.jsp'\"><b>Test Pages</b></a></div>");
            responseStream.println("<hr>");
            responseStream.println("<h3><center>ePAD Server Status</center></h3>");
            responseStream.println("<hr>");
            responseStream.println("<b>ePAD server started:</b> " + new Date(startTime) + "<br>");
            responseStream.println("<b>ePAD server uptime:</b> " + upTimeHr + " hrs " + upTimeMin + " mins "
                    + upTimeSec + " secs<br>");
            responseStream.println("<br>");
        }
        if (!validSession)
            responseStream.println("Version: " + new EPadWebServerVersion().getVersion() + " Build Date: "
                    + new EPadWebServerVersion().getBuildDate() + " Build Host: "
                    + new EPadWebServerVersion().getBuildHost() + "<br>");
        if (validSession || debug) {
            responseStream.println("<b>Version:</b> " + new EPadWebServerVersion().getVersion()
                    + " <b>Build Date:</b> " + new EPadWebServerVersion().getBuildDate()
                    + " <b>Build Host:</b> " + new EPadWebServerVersion().getBuildHost() + "<br>");

            //responseStream.println("Plugin Version - interface:      " + EPadPlugin.PLUGIN_INTERFACE_VERSION + "<br>");
            //responseStream.println("Plugin Version - implementation: " + ePadPlugin.getPluginImplVersion() + "<br>");
            EpadDatabase epadDatabase = EpadDatabase.getInstance();
            responseStream.println("<table width=50%>");
            //responseStream.println("ePAD database startup time: " + epadDatabase.getStartupTime() + " ms, database version: " + epadDatabase.getEPADDatabaseOperations().getDBVersion() + "<br>");
            //Dcm4CheeDatabase dcm4CheeDatabase = Dcm4CheeDatabase.getInstance();
            //responseStream.println("<br>");
            //responseStream.println("DCM4CHEE database startup time: " + dcm4CheeDatabase.getStartupTime() + " ms" + "<br>");
            //responseStream.println("<br>");
            responseStream.println("<tr><td colspan=2><hr></td></tr>");
            responseStream.println(
                    "<tr><td><b>Config Server:</b></td><td nowrap>" + EPADConfig.xnatServer + "</td></tr>");
            responseStream.println("<tr><td><b>Config serverProxy:</b></td><td nowrap>"
                    + EPADConfig.getParamValue("serverProxy") + "</td></tr>");
            responseStream.println("<tr><td><b>Config webserviceBase:</b></td><td nowrap>"
                    + EPADConfig.getParamValue("webserviceBase") + "</td></tr>");
            responseStream.println("<tr><td><b>Hostname:</b></td><td>"
                    + InetAddress.getLocalHost().getHostName() + "</td></tr>");
            responseStream.println(
                    "<tr><td><b>IP Address:</b></td><td>" + EpadStatisticsTask.getIPAddress() + "</td></tr>");
            if (EPADSessionWatcher.diskspacealert) {
                responseStream.println(
                        "<tr><td colspan=2><font size=+1 color=red><b>Low System Disk Space</b></font></td></tr>");
            }
            responseStream
                    .println("<style>tbody { display: block;max-height:440px;overflow-y:auto; } </style>");
            List<EventLog> recentLogs = new ArrayList<EventLog>();
            int free = EpadDatabase.getInstance().getEPADDatabaseOperations().getFreeConnections();
            int used = EpadDatabase.getInstance().getEPADDatabaseOperations().getUsedConnections();
            if ((user != null && user.isAdmin()) || debug) {
                responseStream.println("<tr><td colspan=2><hr></td></tr>");
                responseStream.println(
                        "<tr><td nowrap><b>Available DB Connections:</b></td><td>" + free + "</td></tr>");
                responseStream.println("<tr><td><b>Used DB Connections:</b></td><td>" + used + "</td></tr>");
                responseStream.println("<tr><td colspan=2><hr></td></tr>");
                long freeHeap = Runtime.getRuntime().freeMemory();
                long totalHeap = Runtime.getRuntime().totalMemory();
                DecimalFormat df = new DecimalFormat("###,###,###");
                responseStream.println(
                        "<tr><td><b>Available Heap Space:</b></td><td>" + df.format(freeHeap) + "</td></tr>");
                responseStream.println(
                        "<tr><td><b>Total Heap Space:</b></td><td>" + df.format(totalHeap) + "</td></tr>");
                responseStream.println("<tr><td colspan=2><hr></td></tr>");
                try {
                    responseStream.println("<tr><td><b>dcm4chee Free Space: </b></td><td>"
                            + df.format(FileSystemUtils.freeSpaceKb(EPADConfig.dcm4cheeDirRoot) / 1024)
                            + " Mb</td></tr>");
                    responseStream.println("<tr><td><b>ePad Free Space: </b></td><td>"
                            + df.format(
                                    FileSystemUtils.freeSpaceKb(EPADConfig.getEPADWebServerBaseDir()) / 1024)
                            + " Mb</td></tr>");
                    responseStream.println("<tr><td><b>Tmp Free Space: </b></td><td>"
                            + df.format(
                                    FileSystemUtils.freeSpaceKb(System.getProperty("java.io.tmpdir")) / 1024)
                            + " Mb (Max Upload)</td></tr>");
                    if (new File("/var/lib/mysql").exists())
                        responseStream.println("<tr><td><b>Mysql DB Free Space: </b></td><td>"
                                + df.format(FileSystemUtils.freeSpaceKb("/var/lib/mysql") / 1024)
                                + " Mb</td></tr>");
                } catch (Exception x) {
                }
                responseStream.println("<tr><td colspan=2><hr></td></tr>");
                responseStream.println("<tr><td><b>Series Queue:</b></td><td>"
                        + QueueAndWatcherManager.dicomSeriesWatcherQueue.size() + "</td></tr>");
                responseStream.println("<tr><td><b>PNG Queue:</b></td><td>"
                        + QueueAndWatcherManager.pngGeneratorTaskQueue.size() + "</td></tr>");
                responseStream.println("<tr><td><b>AddToProject Queue:</b></td><td>"
                        + QueueAndWatcherManager.xnatSeriesWatcherQueue.size() + "</td></tr>");
                responseStream.println("<tr><td colspan=2><hr></td></tr>");
                responseStream.println("</table>");
                List<Plugin> plugins = PluginOperations.getInstance().getPlugins();
                responseStream.println("<br>");
                responseStream.println("<b>Loaded Plugins:</b>");
                responseStream.println("<br><table border=1 cellpadding=2><tr style='font-weight: bold;'>"
                        + "<td align=center>ID</td><td align=center>Name</td><td align=center>Description</td>"
                        + "<td align=center>Javaclass</td><td align=center>Enabled</td><td align=center>Status</td><td align=center>Modality</td></tr>");
                for (Plugin plugin : plugins) {
                    responseStream.println("<tr><td>" + plugin.getPluginId() + "</td><td>" + plugin.getName()
                            + "</td><td>" + checkNull(plugin.getDescription(), "&nbsp;") + "</td>");
                    responseStream.println("<td>" + plugin.getJavaclass() + "</td><td>" + plugin.getEnabled()
                            + "</td><td>" + checkNull(plugin.getStatus(), "&nbsp;") + "</td><td>"
                            + checkNull(plugin.getModality(), "&nbsp;") + "</td></tr>");
                }
                responseStream.println("</table>");
                responseStream.println("<br><b>Current Sessions: </b>");
                Map<String, EPADSession> sessions = EPADSessionOperations.getCurrentSessions();
                responseStream.println(
                        "<br><table border=1 cellpadding=2 ><tbody><tr style='font-weight: bold;'><td align=center>User</td><td align=center>Started</td><td align=center>Client</td><td align=center>Last Request</td><td align=center>Request Time</td></tr>");
                for (String id : sessions.keySet()) {
                    String you = "";
                    if (id.equals(sessionID))
                        you = "*";
                    EPADSession session = sessions.get(id);
                    responseStream.println("<tr><td>" + session.getUsername() + you + "</td><td nowrap>"
                            + shortformat.format(session.getCreatedTime()) + "</td><td nowrap>"
                            + session.getRemoteHost() + "/" + session.getRemoteAddr() + "</td><td>"
                            + session.getLastRequest() + "</td><td nowrap>"
                            + shortformat.format(session.getLastActivity()) + "</td></tr>");
                }
                responseStream.println("</table>");
                Collection<User> users = DefaultEpadProjectOperations.getUserCache();
                responseStream.println("<br><b>Background Tasks: </b>");
                responseStream.println(
                        "<br><table border=1 cellpadding=2 ><tbody><tr style='font-weight: bold;'><td align=center>User</td><td align=center>Task</td><td align=center>Start</td><td align=center>Complete</td><td align=center>Elapsed</td><td align=center>Target</td><td align=center>Status</td></tr>");
                boolean empty = true;
                for (User u : users) {
                    Collection<TaskStatus> tssCol = u.getCurrentTasks().values();
                    List<TaskStatus> tss = new ArrayList<TaskStatus>();
                    tss.addAll(tssCol);
                    Collections.sort(tss, new TSComparator());
                    for (TaskStatus ts : tss) {
                        responseStream
                                .println("<tr><td>" + u.getUsername() + "</td><td>" + ts.type + "</td><td>"
                                        + ts.starttime + "</td><td>" + checkNull(ts.completetime, "In Process")
                                        + "</td><td>" + getDiff(getDate(ts.starttime), getDate(ts.completetime))
                                        + "</td><td>" + ts.target
                                        + "</td><td style='max-width:500px; max-height:40px; overflow-y:auto'>"
                                        + ts.status + "</td></tr>");
                        empty = false;
                    }
                }
                if (empty)
                    responseStream.println(
                            "<tr><td colspan=100% align=center>No background processes running</td></tr>");
                responseStream.println("</tbody></table>");
                if (free > 0 && !debug)
                    recentLogs = DefaultEpadProjectOperations.getInstance().getUseEventLogs("%", 0, 100);
            } else {
                responseStream.println("<br><b>Background Tasks: </b>");
                responseStream.println(
                        "<br><table border=1 cellpadding=2 ><tbody><tr style='font-weight: bold;'><td align=center>User</td><td align=center>Task</td><td align=center>Start</td><td align=center>Complete</td><td align=center>Elapsed</td><td align=center>Target</td><td align=center>Status</td></tr>");
                Collection<TaskStatus> tssCol = user.getCurrentTasks().values();
                List<TaskStatus> tss = new ArrayList<TaskStatus>();
                tss.addAll(tssCol);
                Collections.sort(tss, new TSComparator());
                for (TaskStatus ts : tss) {
                    responseStream.println("<tr><td>" + user.getUsername() + "</td><td>" + ts.type + "</td><td>"
                            + ts.starttime + "</td><td>" + checkNull(ts.completetime, "In Process")
                            + "</td><td>" + getDiff(getDate(ts.starttime), getDate(ts.completetime))
                            + "</td><td>" + ts.target + "</td><td>" + ts.status + "</td></tr>");
                }
                if (tss.size() == 0)
                    responseStream.println(
                            "<tr><td colspan=100% align=center>No background processes running</td></tr>");
                responseStream.println("</tbody></table>");
                if (free > 0)
                    recentLogs = DefaultEpadProjectOperations.getInstance().getUseEventLogs(username, 0, 100);
            }
            responseStream.println("<br><b>Event Logs: </b>");
            responseStream.println(
                    "<br><table border=1 cellpadding=2><tbody><tr style='font-weight: bold;'><td align=center>Time</td><td align=center>User</td><td align=center>Action</td><td align=center>Project</td><td align=center >Target</td></tr>");
            for (EventLog elog : recentLogs) {
                responseStream.println(
                        "<tr style='max-height:40px;'><td nowrap>" + dateformat.format(elog.getCreatedTime())
                                + "</td><td>" + elog.getUsername() + "</td><td nowrap>" + elog.getFunction()
                                + "</td><td nowrap>" + checkNull(elog.getProjectID(), "N/A")
                                + "</td><td><div style='max-width:500px; max-height:40px; overflow-y:auto'>"
                                + checkNull(elog.getTarget(), "N/A") + "</div></td></tr>");
            }
            responseStream.println("</tbody></table>");

            responseStream.println("</body>");
        }
        statusCode = HttpServletResponse.SC_OK;
    } catch (Throwable t) {
        log.warning(INTERNAL_EXCEPTION_MESSAGE, t);
        statusCode = HandlerUtil.internalErrorResponse(INTERNAL_EXCEPTION_MESSAGE, responseStream, log);
    }
    httpResponse.setStatus(statusCode);
}

From source file:com.versusoft.packages.ooo.odt2daisy.addon.gui.UnoGUI.java

/**
 * Save as Full DAISY.//from www . j av  a 2s.  com
 */
public void saveAsFull() {

    try {

        boolean isInUserFolder = false;
        boolean isInTmpFolder = false;
        boolean isExtracted = false;
        boolean isOutdated = false;

        String extract_dir = null;

        PipelineLite pipelinelite = new PipelineLite(logger);

        // check PipelineLite presence
        isInUserFolder = PipelineLite.isExctracted(PipelineLite.USERMODE_FOLDER);
        isInTmpFolder = PipelineLite.isExctracted(PipelineLite.TMPMODE_FOLDER);
        isExtracted = isInUserFolder || isInTmpFolder;

        // check if Pipeline is not outdated
        // set extract_dir
        if (isExtracted) {
            if (isInUserFolder) {
                isOutdated = PipelineLite.isOutdated(PipelineLite.USERMODE_FOLDER);
                extract_dir = PipelineLite.USERMODE_FOLDER;
            } else if (isInTmpFolder) {
                isOutdated = PipelineLite.isOutdated(PipelineLite.TMPMODE_FOLDER);
                extract_dir = PipelineLite.TMPMODE_FOLDER;

            }
        }

        logger.info("DEBUG extracted:" + isExtracted);
        logger.info("DEBUG outdated:" + isOutdated);
        logger.info("DEBUG in home:" + isInUserFolder);
        logger.info("DEBUG in tmpdir:" + isInTmpFolder);

        // show outdated warning
        if (isOutdated) {

            UnoAwtUtils.showInfoMessageBox(parentWindowPeer, L10N_MessageBox_Info_Title,
                    L10N_PipelineLite_Update_Message);

            // force install update
            isExtracted = false;
        }

        // Extract PipelineLite
        if (!isExtracted) {

            // choose user home folder if enough disk space, else tmp
            if (FileSystemUtils.freeSpaceKb(PipelineLite.USERMODE_FOLDER) > PipelineLite.REQUIRED_KB) {
                extract_dir = PipelineLite.USERMODE_FOLDER;
            } else if (FileSystemUtils.freeSpaceKb(PipelineLite.TMPMODE_FOLDER) > PipelineLite.REQUIRED_KB) {
                extract_dir = PipelineLite.TMPMODE_FOLDER;
            } else {

                UnoAwtUtils.showErrorMessageBox(parentWindowPeer, L10N_MessageBox_Error_Title,
                        L10N_PipelineLite_Size_Error_Message + " " + (PipelineLite.REQUIRED_KB / 1000) + "Mo");
                return;
            }

            // show dialog with extract folder info
            // avoid dialog on update
            if (!isOutdated) {
                UnoAwtUtils.showInfoMessageBox(parentWindowPeer, L10N_MessageBox_Info_Title,
                        L10N_PipelineLite_Extract_Message + " " + extract_dir
                                + PipelineLite.PIPELINE_FOLDER_NAME + " ");
            }

            // extract pipeline
            try {

                logger.info("DEBUG: start extraction" + extract_dir);
                pipelinelite.extract(extract_dir);
                logger.info("DEBUG: end extraction" + extract_dir);

            } catch (Exception e) {

                String message = L10N_PipelineLite_Extract_Error_Message + "\n";
                message += L10N_Export_Aborted_Message + " " + logFile.getAbsolutePath();

                e.printStackTrace();
                logger.log(Level.SEVERE, message);

                UnoAwtUtils.showErrorMessageBox(parentWindowPeer, L10N_MessageBox_Error_Title, message);
                return;
            }
        }

        // launch narrator
        try {

            int retcode = pipelinelite.launchNarrator(extract_dir, exportUrl, exportUrl + ".full",
                    dialog.isFixRoutine(), dialog.isSentDetection(), dialog.getBitrate());

            logger.info("DEBUG retcode:" + retcode);

            if (retcode == 0) {

                //showOkSaveAsXML();
                logger.info("Save as Full DAISY OK !");

            } else {
                // throw new Exception();
            }

        } catch (Exception e) {

            String message = L10N_PipelineLite_Exec_Error_Message + "\n";
            message += L10N_Export_Aborted_Message + " " + logFile.getAbsolutePath();

            logger.log(Level.SEVERE, message, e);
            e.printStackTrace();

            UnoAwtUtils.showErrorMessageBox(parentWindowPeer, L10N_MessageBox_Error_Title, message);
            return;
        }

    } catch (Exception e) {

        String message = L10N_Export_Aborted_Message + " " + logFile.getAbsolutePath() + "\n";

        e.printStackTrace();
        logger.log(Level.SEVERE, message, e);

        UnoAwtUtils.showErrorMessageBox(parentWindowPeer, L10N_MessageBox_InternalError_Title, message);

        return;
    }

}