// Path: admin-offline/src/main/java/ch/ge/ve/offlineadmin/exception/ProcessInterruptedException.java
// public class ProcessInterruptedException extends Exception {
//     /**
//      * Constructor usually used when the interruption was caused by a user action
//      *
//      * @param message the message explaining the interruption
//      */
//     public ProcessInterruptedException(String message) {
//         super(message);
//     }
// 
//     /**
//      * Contructor used when the interruption is caused by a previous exception
//      *
//      * @param message the message explaining the interruption
//      * @param cause   the cause of the interruption
//      */
//     public ProcessInterruptedException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ResourceBundle;
import ch.ge.ve.offlineadmin.exception.ProcessInterruptedException;
import javafx.application.Platform;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
package ch.ge.ve.offlineadmin.controller;

/*-
 * #%L
 * Admin offline
 * %%
 * Copyright (C) 2015 - 2016 République et Canton de Genève
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * #L%
 */




/**
 * This abstract class defines the handling of {@link ProcessInterruptedException}
 * <p/>
 * When such an error occurs, a dialog is shown with the exception stacktrace
 */
public abstract class InterruptibleProcessController {
    public static final String PROCESS_INTERRUPTED_MESSAGE = "Process interrupted";

    protected abstract ResourceBundle getResourceBundle();

    /**
     * Default handling of the exception, displays information in an alert dialog.
     *
     * @param e the exception
     */
// Path: admin-offline/src/main/java/ch/ge/ve/offlineadmin/exception/ProcessInterruptedException.java
// public class ProcessInterruptedException extends Exception {
//     /**
//      * Constructor usually used when the interruption was caused by a user action
//      *
//      * @param message the message explaining the interruption
//      */
//     public ProcessInterruptedException(String message) {
//         super(message);
//     }
// 
//     /**
//      * Contructor used when the interruption is caused by a previous exception
//      *
//      * @param message the message explaining the interruption
//      * @param cause   the cause of the interruption
//      */
//     public ProcessInterruptedException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


// Path: admin-offline/src/main/java/ch/ge/ve/offlineadmin/controller/InterruptibleProcessController.java
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ResourceBundle;
import ch.ge.ve.offlineadmin.exception.ProcessInterruptedException;
import javafx.application.Platform;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;

package ch.ge.ve.offlineadmin.controller;

/*-
 * #%L
 * Admin offline
 * %%
 * Copyright (C) 2015 - 2016 République et Canton de Genève
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * #L%
 */




/**
 * This abstract class defines the handling of {@link ProcessInterruptedException}
 * <p/>
 * When such an error occurs, a dialog is shown with the exception stacktrace
 */
public abstract class InterruptibleProcessController {
    public static final String PROCESS_INTERRUPTED_MESSAGE = "Process interrupted";

    protected abstract ResourceBundle getResourceBundle();

    /**
     * Default handling of the exception, displays information in an alert dialog.
     *
     * @param e the exception
     */
    public void handleInterruption(ProcessInterruptedException e) {