Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

BackupBackendTask.java

00001 /**
00002  * C-JDBC: Clustered JDBC.
00003  * Copyright (C) 2002-2004 French National Institute For Research In Computer
00004  * Science And Control (INRIA).
00005  * Contact: c-jdbc@objectweb.org
00006  * 
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published by the
00009  * Free Software Foundation; either version 2.1 of the License, or any later
00010  * version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00015  * for more details.
00016  * 
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with this library; if not, write to the Free Software Foundation,
00019  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00020  *
00021  * Initial developer(s): Nicolas Modrzyk
00022  * Contributor(s): ______________________.
00023  */
00024 
00025 package org.objectweb.cjdbc.console.gui.threads.task;
00026 
00027 import org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean;
00028 import org.objectweb.cjdbc.console.gui.CjdbcGui;
00029 import org.objectweb.cjdbc.console.gui.constants.GuiConstants;
00030 import org.objectweb.cjdbc.console.gui.objects.BackendObject;
00031 
00032 /**
00033  * This class defines a BackupBackendTask
00034  * 
00035  * @author <a href="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
00036  * @version 1.0
00037  */
00038 public class BackupBackendTask implements Runnable
00039 {
00040 
00041   private VirtualDatabaseMBean database;
00042   private BackendObject            bob;
00043   private String                   checkpointName;
00044   private CjdbcGui                 gui;
00045 
00046   /**
00047    * Creates a new <code>BackupBackendTask</code> object
00048    * 
00049    * @param gui the main frame
00050    * @param database the jmx client
00051    * @param bob the backend reference
00052    * @param checkpointName the checkpoint
00053    */
00054   public BackupBackendTask(CjdbcGui gui, VirtualDatabaseMBean database,
00055       BackendObject bob, String checkpointName)
00056   {
00057     this.database = database;
00058     this.checkpointName = checkpointName;
00059     this.bob = bob;
00060     this.gui = gui;
00061   }
00062 
00063   /**
00064    * @see java.lang.Runnable#run()
00065    */
00066   public void run()
00067   {
00068     String backendName = bob.getName();
00069     gui.actionChangeBackendState(bob, GuiConstants.BACKEND_STATE_BACKUP);
00070 
00071     gui.appendDebugText("Backing up backend:" + backendName);
00072 
00073     try
00074     {
00075       database.backupBackendWithCheckpoint(backendName, checkpointName, null);
00076       gui.appendDebugText("Backup of backend:" + backendName + " completed");
00077     }
00078     catch (Exception e)
00079     {
00080       gui.appendDebugText("Backup of backend:" + backendName + " failed", e);
00081     }
00082 /*
00083     gui.actionChangeBackendState(bob, GuiConstants.BACKEND_STATE_RECOVERY);
00084     gui.appendDebugText("Enabling backend:" + backendName);
00085 
00086     try
00087     {
00088       database.enableBackendFromCheckpoint(backendName, checkpointName);
00089       gui.appendDebugText("Backend:" + backendName + " enabled");
00090     }
00091     catch (Exception e)
00092     {
00093       gui
00094           .appendDebugText("Backend:" + backendName + " could not be enabled",
00095               e);
00096     }
00097 */
00098     gui.paintBackendPane();
00099   }
00100 
00101 }

Generated on Mon Apr 11 22:01:29 2005 for C-JDBC by  doxygen 1.3.9.1