diff options
Diffstat (limited to 'src')
42 files changed, 382 insertions, 205 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java index 4c75c375..f85afd4d 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java @@ -258,6 +258,14 @@ public class VolumesClient extends AbstractClient { putRequest(volumeName, form); } + public void volumeLogRotate(String volumeName, List<String> brickList) { + Form form = new Form(); + String bricks = StringUtil.collectionToString(brickList, ","); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_LOG_ROTATE); + form.add(FORM_PARAM_BRICKS, bricks); + putRequest(volumeName, form); + } + public static void main(String[] args) { UsersClient usersClient = new UsersClient(); try { diff --git a/src/com.gluster.storage.management.console/plugin.xml b/src/com.gluster.storage.management.console/plugin.xml index e7c2c2d4..6983b9dd 100644 --- a/src/com.gluster.storage.management.console/plugin.xml +++ b/src/com.gluster.storage.management.console/plugin.xml @@ -302,6 +302,11 @@ id="com.gluster.storage.management.console.commands.Preferences" name="Settings"> </command> + <command + description="Volume Log Rotate" + id="com.gluster.storage.management.console.commands.LogRotate" + name="LogRotate"> + </command> </extension> <extension point="org.eclipse.ui.bindings"> @@ -521,6 +526,19 @@ label="Volume Actions" visible="false"> <action + class="com.gluster.storage.management.console.actions.VolumeLogRotateAction" + definitionId="com.gluster.storage.management.console.commands.LogRotate" + icon="icons/tango/32x32/download-log.png" + id="com.gluster.storage.management.console.actions.LogRotateAction" + label="L&og Rotate" + menubarPath="com.gluster.storage.management.console.menu.volume/volume" + pulldown="false" + state="true" + style="push" + toolbarPath="Normal" + tooltip="Rotate the volume logs"> + </action> + <action allowLabelUpdate="false" class="com.gluster.storage.management.console.actions.MigrateBrickAction" definitionId="com.gluster.storage.management.console.commands.MigrateDisk" diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationWorkbenchAdvisor.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationWorkbenchAdvisor.java index fcbe3fcf..8d6c81da 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationWorkbenchAdvisor.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ApplicationWorkbenchAdvisor.java @@ -65,7 +65,7 @@ public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor { @Override public void propertyChange(PropertyChangeEvent event) { if(event.getProperty().equals(PreferenceConstants.P_DATA_SYNC_INTERVAL)) { - JOB_INTERVAL = (Integer)event.getNewValue() * 1000l; + JOB_INTERVAL = (Integer)event.getNewValue() * 1000L; } } }; diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java index 83986745..e43bcbae 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java @@ -331,7 +331,7 @@ public class GlusterDataModelManager { device.setStatus(status); device.setType(DEVICE_TYPE.DATA); for (ClusterListener listener : listeners) { - listener.serverChanged((GlusterServer) server, new Event(EVENT_TYPE.DEVICES_CHANGED, device)); + listener.serverChanged(server, new Event(EVENT_TYPE.DEVICES_CHANGED, device)); } } } @@ -676,7 +676,7 @@ public class GlusterDataModelManager { cluster.addDiscoveredServer(server); for (ClusterListener listener : listeners) { - listener.discoveredServerAdded(server);; + listener.discoveredServerAdded(server); } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ServerDiskTableLabelProvider.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ServerDiskTableLabelProvider.java index 2f49d2b3..d733701c 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ServerDiskTableLabelProvider.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/ServerDiskTableLabelProvider.java @@ -20,7 +20,7 @@ package com.gluster.storage.management.console; import org.eclipse.swt.graphics.Image; -import com.gluster.storage.management.console.DeviceTableLabelProvider.DEVICE_COLUMN_INDICES; +import static com.gluster.storage.management.console.DeviceTableLabelProvider.DEVICE_COLUMN_INDICES; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.views.pages.ServerDisksPage.SERVER_DISK_TABLE_COLUMN_INDICES; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java index 2befda7d..3de3f945 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java @@ -114,7 +114,7 @@ public class DeleteVolumeAction extends AbstractMonitoredActionDelegate { + "Error: [" + errorMessage + "]"); } else { String info = "Volumes " + deletedVolumeNames + " deleted successfully!"; - if (errorMessage != "") { + if (!errorMessage.equals("")) { info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes " + failedVolumes + " could not be deleted! [" + errorMessage + "]"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java index 4816871e..db416c07 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java @@ -54,7 +54,7 @@ public class MigrateBrickAction extends AbstractActionDelegate { action.setEnabled(false); if (selectedEntity instanceof Brick) { bricks = GUIHelper.getInstance().getSelectedEntities(getWindow(), Brick.class); - brick = (Brick) bricks.iterator().next(); + brick = bricks.iterator().next(); action.setEnabled(brick != null); } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RebalanceVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RebalanceVolumeAction.java index 5ae93ede..016ffb8b 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RebalanceVolumeAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RebalanceVolumeAction.java @@ -51,7 +51,7 @@ public class RebalanceVolumeAction extends AbstractActionDelegate { // Add the task to model TasksClient taskClient = new TasksClient(); TaskInfo taskInfo = taskClient.getTaskInfo(uri); - if (taskInfo != null && taskInfo instanceof TaskInfo) { + if (taskInfo != null) { GlusterDataModelManager.getInstance().addTask(taskInfo); } showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] rebalance started successfully!"); @@ -68,7 +68,7 @@ public class RebalanceVolumeAction extends AbstractActionDelegate { Volume selectedVolume = guiHelper.getSelectedEntity(getWindow(), Volume.class); if (selectedVolume != null) { - volume = (Volume) selectedVolume; + volume = selectedVolume; action.setEnabled(true); } else { action.setEnabled(false); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveBrickAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveBrickAction.java index 01d70b21..4b747294 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveBrickAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveBrickAction.java @@ -69,7 +69,7 @@ public class RemoveBrickAction extends AbstractActionDelegate { super.selectionChanged(action, selection); action.setEnabled(false); - volume = (Volume) guiHelper.getSelectedEntity(window, Volume.class); + volume = guiHelper.getSelectedEntity(window, Volume.class); if (volume != null) { // a volume is selected on navigation tree. Let's check if the currently open view is volume disks view IWorkbenchPart view = guiHelper.getActiveView(); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveServerAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveServerAction.java index 8f52657c..7f33828a 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveServerAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/RemoveServerAction.java @@ -32,10 +32,12 @@ import org.eclipse.jface.viewers.ISelection; import com.gluster.storage.management.client.GlusterServersClient; import com.gluster.storage.management.console.GlusterDataModelManager; import com.gluster.storage.management.console.utils.GUIHelper; +import com.gluster.storage.management.console.utils.GlusterLogger; import com.gluster.storage.management.core.constants.CoreConstants; import com.gluster.storage.management.core.model.GlusterServer; public class RemoveServerAction extends AbstractMonitoredActionDelegate { + private static final GlusterLogger logger = GlusterLogger.getInstance(); private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance(); private GUIHelper guiHelper = GUIHelper.getInstance(); @@ -64,12 +66,12 @@ public class RemoveServerAction extends AbstractMonitoredActionDelegate { GlusterServersClient client = new GlusterServersClient(); try { client.removeServer(server.getName()); - GlusterServer glusterServer = (GlusterServer) server; + GlusterServer glusterServer = server; modelManager.removeGlusterServer(glusterServer); successServers.add(server); } catch (Exception e) { if (!serverExists(server.getName())) { - modelManager.removeGlusterServer((GlusterServer) server); + modelManager.removeGlusterServer(server); } errMsg += "[" + server.getName() + "] : " + e.getMessage() + CoreConstants.NEWLINE; } @@ -83,12 +85,9 @@ public class RemoveServerAction extends AbstractMonitoredActionDelegate { try { GlusterServersClient client = new GlusterServersClient(); GlusterServer server = client.getGlusterServer(serverName); - if (server != null && server.getName().length() > 0) { - return true; - } else { - return false; - } + return (server != null && server.getName().length() > 0); } catch (Exception e) { + logger.error("Error while getting server info", e); return false; } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/ResetVolumeOptionsAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/ResetVolumeOptionsAction.java index 183b1668..99a7c887 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/ResetVolumeOptionsAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/ResetVolumeOptionsAction.java @@ -53,11 +53,6 @@ public class ResetVolumeOptionsAction extends AbstractActionDelegate { @Override public void selectionChanged(IAction action, ISelection selection) { volume = GUIHelper.getInstance().getSelectedEntity(getWindow(), Volume.class); - - if (volume instanceof Volume) { - action.setEnabled(volume.getOptions().size() > 0); - } else { - action.setEnabled(false); - } + action.setEnabled(volume.getOptions().size() > 0); } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java index 03cdc4e8..0df91ab8 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java @@ -111,7 +111,7 @@ public class StartVolumeAction extends AbstractMonitoredActionDelegate { + CoreConstants.NEWLINE + "Error: [" + errorMessage + "]"); } else { String info = "Volumes " + startedVolumes + " started successfully!"; - if (errorMessage != "") { + if (!errorMessage.equals("")) { info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes " + failedVolumes + " failed to start! [" + errorMessage + "]"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java index aa2a0c7c..31f8d164 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java @@ -123,7 +123,7 @@ public class StopVolumeAction extends AbstractMonitoredActionDelegate { + "Error: [" + errorMessage + "]"); } else { String info = "Volumes " + stoppedVolumes + " stopped successfully!"; - if (errorMessage != "") { + if (!errorMessage.equals("")) { info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes " + failedVolumes + " failed to stop! [" + errorMessage + "]"; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/VolumeLogRotateAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/VolumeLogRotateAction.java new file mode 100644 index 00000000..4c538be4 --- /dev/null +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/VolumeLogRotateAction.java @@ -0,0 +1,64 @@ +package com.gluster.storage.management.console.actions; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.ui.IWorkbenchPart; + +import com.gluster.storage.management.client.VolumesClient; +import com.gluster.storage.management.console.utils.GUIHelper; +import com.gluster.storage.management.console.views.VolumeBricksView; +import com.gluster.storage.management.core.model.Brick; +import com.gluster.storage.management.core.model.Volume; +import com.gluster.storage.management.core.utils.GlusterCoreUtil; + + +public class VolumeLogRotateAction extends AbstractActionDelegate { + + private Volume volume; + private GUIHelper guiHelper = GUIHelper.getInstance(); + private Set<Brick> bricks; + + @Override + public void dispose() { + } + + @Override + protected void performAction(IAction action) { + final String actionDesc = action.getDescription(); + List<String> selectedBricks = new ArrayList<String>(); + boolean confirmed = showConfirmDialog(actionDesc, + "Are you sure you want to Rotate logs for volume [" + volume.getName() + "] ? "); + if (!confirmed) { + return; + } + + if (bricks != null) { + selectedBricks = GlusterCoreUtil.getQualifiedBrickList(bricks); + } + try { + new VolumesClient().volumeLogRotate(volume.getName(), selectedBricks); + showInfoDialog(actionDesc, "Volume logs for [" + volume.getName() + "] rotated successfully!"); + } catch (Exception e) { + showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] log rotation failed! Error: [" + e.getMessage() + "]"); + } + } + + @Override + public void selectionChanged(IAction action, ISelection selection) { + super.selectionChanged(action, selection); + volume = guiHelper.getSelectedEntity(window, Volume.class); + + if (volume != null) { + // a volume is selected on navigation tree. Let's check if the currently open view is volume bricks view + IWorkbenchPart view = guiHelper.getActiveView(); + if (view instanceof VolumeBricksView) { + // volume bricks view is open. check if any brick is selected + bricks = GUIHelper.getInstance().getSelectedEntities(getWindow(), Brick.class); + } + } + } + +} diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/BricksSelectionPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/BricksSelectionPage.java index 06da5f55..1e4de2ef 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/BricksSelectionPage.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/BricksSelectionPage.java @@ -308,7 +308,7 @@ public class BricksSelectionPage extends Composite { } public List<Device> getChosenDevices() { - Object[] devicesArr = (Object[]) chosenBricksContentProvider.getElements(dualTableViewer); + Object[] devicesArr = chosenBricksContentProvider.getElements(dualTableViewer); if (devicesArr != null) { List<Device> devices = new ArrayList<Device>(); for (Object device : devicesArr) { @@ -320,7 +320,7 @@ public class BricksSelectionPage extends Composite { } public Set<Brick> getChosenBricks(String volumeName) { - Object[] bricksArr = (Object[]) chosenBricksContentProvider.getElements(dualTableViewer); + Object[] bricksArr = chosenBricksContentProvider.getElements(dualTableViewer); if (bricksArr != null) { Set<Brick> bricks = new HashSet<Brick>(); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java index 4bbcb36b..4622dc84 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/LoginDialog.java @@ -51,7 +51,7 @@ import com.gluster.storage.management.client.UsersClient; import com.gluster.storage.management.console.Activator; import com.gluster.storage.management.console.GlusterDataModelManager; import com.gluster.storage.management.console.IImageKeys; -import com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; +import static com.gluster.storage.management.console.dialogs.ClusterSelectionDialog.CLUSTER_MODE; import com.gluster.storage.management.console.preferences.PreferenceConstants; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.validators.StringRequiredValidator; diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java index 0dc06f6d..dfa0b352 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java @@ -152,10 +152,10 @@ public class MigrateBrickPage1 extends WizardPage { } private void setPageDescription(String source, String target) { - if (source == null || source == "") { + if (source == null || source.equals("")) { source = "From Brick"; } - if (target == null || target == "") { + if (target == null || target.equals("")) { target = "To Brick"; } setDescription("Migrate volume data from \"" + source + "\" to \"" + target + "\""); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickWizard.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickWizard.java index 21c66b35..589b065f 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickWizard.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickWizard.java @@ -78,7 +78,7 @@ public class MigrateBrickWizard extends Wizard { // To get the object TasksClient taskClient = new TasksClient(); TaskInfo taskInfo = taskClient.getTaskInfo(uri); - if (taskInfo != null && taskInfo instanceof TaskInfo) { + if (taskInfo != null) { // cluster.addTaskInfo(taskInfo); String volumeName = taskInfo.getReference().split("#")[0]; modelManager.addTask(taskInfo); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/SelectDisksDialog.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/SelectDisksDialog.java index 5a5f6046..42c5e782 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/SelectDisksDialog.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/SelectDisksDialog.java @@ -93,11 +93,7 @@ public class SelectDisksDialog extends Dialog { return new Point(1024, 600); } - @Override - protected void cancelPressed() { - super.cancelPressed(); - } - + @Override protected void okPressed() { if (this.getSelectedDevices().size() == 0) { diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/GlusterPreferencePage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/GlusterPreferencePage.java index 577cf733..2fc8de0e 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/GlusterPreferencePage.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/GlusterPreferencePage.java @@ -70,7 +70,7 @@ public class GlusterPreferencePage String[][] clusterNamesArr = new String[clusterNames.size()][2]; for(int i = 0; i < clusterNames.size(); i++) { - String clusterName = clusterNames.get(i);; + String clusterName = clusterNames.get(i); clusterNamesArr[i][0] = clusterName; clusterNamesArr[i][1] = clusterName; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DiscoveredServerView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DiscoveredServerView.java index 96a2ca2a..abc9ec2f 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DiscoveredServerView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DiscoveredServerView.java @@ -50,7 +50,7 @@ public class DiscoveredServerView extends ViewPart { @Override public void createPartControl(Composite parent) { if (server == null) { - server = (Server) guiHelper.getSelectedEntity(getSite(), Server.class); + server = guiHelper.getSelectedEntity(getSite(), Server.class); } createSections(parent); } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DisksView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DisksView.java index b0cf33b2..7ba1a88a 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DisksView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/DisksView.java @@ -23,7 +23,7 @@ public class DisksView extends ViewPart { @Override public void createPartControl(Composite parent) { if (servers == null) { - servers = (EntityGroup<GlusterServer>)guiHelper.getSelectedEntity(getSite(), EntityGroup.class); + servers = guiHelper.getSelectedEntity(getSite(), EntityGroup.class); } page = new DisksPage(parent, SWT.NONE, getSite(), getAllDisks(servers)); @@ -32,7 +32,7 @@ public class DisksView extends ViewPart { private List<Disk> getAllDisks(EntityGroup<GlusterServer> servers) { List<Disk> disks = new ArrayList<Disk>(); - for(GlusterServer server : (List<GlusterServer>)servers.getEntities()) { + for(GlusterServer server : servers.getEntities()) { disks.addAll(server.getDisks()); } return disks; diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerDisksView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerDisksView.java index 951b5a91..d3cd98e8 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerDisksView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerDisksView.java @@ -46,7 +46,7 @@ public class GlusterServerDisksView extends ViewPart { @Override public void createPartControl(Composite parent) { if (server == null) { - server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class); + server = guiHelper.getSelectedEntity(getSite(), GlusterServer.class); } page = new ServerDisksPage(parent, SWT.NONE, getSite(), server.getDisks()); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerLogsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerLogsView.java index 660da5a3..33c85be2 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerLogsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerLogsView.java @@ -40,7 +40,7 @@ public class GlusterServerLogsView extends ViewPart { @Override public void createPartControl(Composite parent) { if (server == null) { - server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class); + server = guiHelper.getSelectedEntity(getSite(), GlusterServer.class); } page = new ServerLogsPage(parent, SWT.NONE, server); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerSummaryView.java index 03c38df7..08344f84 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServerSummaryView.java @@ -111,7 +111,7 @@ public class GlusterServerSummaryView extends ViewPart { @Override public void createPartControl(Composite parent) { if (server == null) { - server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class); + server = guiHelper.getSelectedEntity(getSite(), GlusterServer.class); } setPartName("Summary"); createSections(parent); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersSummaryView.java index b3879e4f..ad2f6331 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersSummaryView.java @@ -70,7 +70,7 @@ public class GlusterServersSummaryView extends ViewPart { @Override public void createPartControl(Composite parent) { if (servers == null) { - servers = (EntityGroup<GlusterServer>)guiHelper.getSelectedEntity(getSite(), EntityGroup.class); + servers = guiHelper.getSelectedEntity(getSite(), EntityGroup.class); } setPartName("Summary"); createSections(parent); @@ -170,7 +170,7 @@ public class GlusterServersSummaryView extends ViewPart { private int getServerCountByStatus(EntityGroup<GlusterServer> servers, SERVER_STATUS status) { int count = 0; - for (GlusterServer server : (List<GlusterServer>)servers.getEntities()) { + for (GlusterServer server : servers.getEntities()) { if (server.getStatus() == status) { count++; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersView.java index 566befc3..66017990 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/GlusterServersView.java @@ -50,7 +50,7 @@ public class GlusterServersView extends ViewPart implements IDoubleClickListener @Override public void createPartControl(Composite parent) { if (servers == null) { - servers = (EntityGroup<GlusterServer>) guiHelper.getSelectedEntity(getSite(), EntityGroup.class); + servers = guiHelper.getSelectedEntity(getSite(), EntityGroup.class); } page = new GlusterServersPage(getSite(), parent, SWT.NONE, servers); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeBricksView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeBricksView.java index 0c494945..33cd1f38 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeBricksView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeBricksView.java @@ -17,7 +17,7 @@ public class VolumeBricksView extends ViewPart { @Override public void createPartControl(Composite parent) { if (volume == null) { - volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class); + volume = guiHelper.getSelectedEntity(getSite(), Volume.class); } createPage(parent); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java index e6a5370f..7f35d332 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java @@ -17,7 +17,7 @@ public class VolumeLogsView extends ViewPart { @Override public void createPartControl(Composite parent) { if (volume == null) { - volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class); + volume = guiHelper.getSelectedEntity(getSite(), Volume.class); } createPage(parent); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeOptionsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeOptionsView.java index 7be16f48..7129df5d 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeOptionsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeOptionsView.java @@ -17,7 +17,7 @@ public class VolumeOptionsView extends ViewPart { @Override public void createPartControl(Composite parent) { if (volume == null) { - volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class); + volume = guiHelper.getSelectedEntity(getSite(), Volume.class); } createPage(parent); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java index e271623d..78c7caf2 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java @@ -93,7 +93,7 @@ public class VolumeSummaryView extends ViewPart { @Override public void createPartControl(Composite parent) { if (volume == null) { - volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class); + volume = guiHelper.getSelectedEntity(getSite(), Volume.class); } this.parent = parent; @@ -436,7 +436,7 @@ public class VolumeSummaryView extends ViewPart { } // If no cifs users and removing cifs config, nothing to do - if (!(!cifsCheckbox.getSelection() && volume.getCifsUsers().toString() == "[]" && (cifsUsers + if (!(!cifsCheckbox.getSelection() && volume.getCifsUsers().toString().equals("[]") && (cifsUsers .isEmpty() || cifsUsers.equals(""))) && userAction == 1) { try { vc.setCifsConfig(volume.getName(), cifsCheckbox.getSelection(), cifsUsers); @@ -850,11 +850,7 @@ public class VolumeSummaryView extends ViewPart { private boolean isvalidCifsUser() { if (cifsCheckbox.getSelection()) { String cifsUserList = cifsUsersText.getText().trim(); - if (cifsUserList.length() == 0) { - return false; - } else { - return true; - } + return (cifsUserList.length() != 0); } validateCifsUsers(); return true; diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeView.java index 0c9ef92b..ced9335b 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeView.java @@ -50,7 +50,7 @@ public class VolumeView extends ViewPart { @Override public void createPartControl(Composite parent) { if (server == null) { - server = (Server) guiHelper.getSelectedEntity(getSite(), Server.class); + server = guiHelper.getSelectedEntity(getSite(), Server.class); } createSections(parent, server, toolkit); } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java index 79ebd84c..b5604643 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java @@ -20,8 +20,6 @@ */ package com.gluster.storage.management.console.views; -import java.util.List; - import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; import org.eclipse.swt.layout.GridData; @@ -243,7 +241,7 @@ public class VolumesSummaryView extends ViewPart { private int getVolumeCountByStatus(EntityGroup<Volume> volumes, VOLUME_STATUS status) { int count = 0; - for (Volume volume : (List<Volume>) volumes.getEntities()) { + for (Volume volume : volumes.getEntities()) { if (volume.getStatus() == status) { count++; } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractDisksPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractDisksPage.java index 43853752..417e67ea 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractDisksPage.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/AbstractDisksPage.java @@ -270,7 +270,7 @@ public abstract class AbstractDisksPage extends AbstractTableTreeViewerPage<Disk TasksClient taskClient = new TasksClient(); TaskInfo taskInfo = taskClient.getTaskInfo(uri); - if (taskInfo != null && taskInfo instanceof TaskInfo) { + if (taskInfo != null) { modelManager.addTask(taskInfo); } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/DiskTreeContentProvider.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/DiskTreeContentProvider.java index 4081d614..79b54aa1 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/DiskTreeContentProvider.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/DiskTreeContentProvider.java @@ -111,11 +111,7 @@ public class DiskTreeContentProvider implements ITreeContentProvider { * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ public boolean hasChildren(Object element) { - if(element instanceof Disk && ((Disk)element).getPartitions().size() > 0) { - return true; - } else { - return false; - } + return (element instanceof Disk && ((Disk)element).getPartitions().size() > 0); } diff --git a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF b/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF index b4431f53..9ddbca69 100644 --- a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF +++ b/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF @@ -12,3 +12,4 @@ Export-Package: com.gluster.storage.management.core.constants, com.gluster.storage.management.core.utils Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0" Bundle-ClassPath: . +Import-Package: com.gluster.storage.management.core.exceptions diff --git a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/DateUtilTest.java b/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/DateUtilTest.java index dfd25b87..8b2fa2a1 100644 --- a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/DateUtilTest.java +++ b/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/DateUtilTest.java @@ -1,11 +1,12 @@ package com.gluster.storage.management.core.utils; -import java.text.SimpleDateFormat; +import static org.junit.Assert.assertEquals; + import java.util.Date; -import org.junit.*; -import org.omg.PortableInterceptor.SUCCESSFUL; -import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; import com.gluster.storage.management.core.constants.CoreConstants; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; @@ -28,13 +29,9 @@ public class DateUtilTest { @Test public void testDateToString_1() throws Exception { - @SuppressWarnings("deprecation") Date date = new Date(1317275258795L); String result = DateUtil.dateToString(date); - // add additional test code here - - // System.out.println("testDateToString_1 : " + date.getYear() + "[" + result + "]"); // 09/29/2011 11:17:38 assertEquals("09/29/2011 11:17:38", result); } @@ -52,8 +49,6 @@ public class DateUtilTest { String dateFormat = ""; String result = DateUtil.dateToString(date, dateFormat); - - // add additional test code here assertEquals("", result); } @@ -71,8 +66,6 @@ public class DateUtilTest { String dateFormat = CoreConstants.PURE_DATE_FORMAT; String result = DateUtil.dateToString(date, dateFormat); - - // add additional test code here assertEquals("09/29/2011", result); } @@ -146,16 +139,10 @@ public class DateUtilTest { * * @generatedBy CodePro at 9/27/11 12:31 PM */ - @Test + @Test(expected=GlusterRuntimeException.class) public void testStringToDate_1() throws Exception { - try { - DateUtil.stringToDate(""); - fail("Failed to throw exception for \"\" argument in DateUtil.stringToDate()"); - } catch (Exception e) { - // TODO: handle exception - System.out.println("Exception thrown: [" + e.getMessage() + "]"); - } + DateUtil.stringToDate(""); } /** @@ -165,17 +152,11 @@ public class DateUtilTest { * * @generatedBy CodePro at 9/27/11 12:31 PM */ - @Test + @Test(expected=GlusterRuntimeException.class) public void testStringToDate_2() throws Exception { - try { - String testDate = "09/29/2011"; - DateUtil.stringToDate(testDate); - fail("Failed to throw exception for \"09/29/2011\" argument in DateUtil.stringToDate()"); - } catch (Exception e) { - // TODO: handle exception - System.out.println("Exception thrown: [" + e.getMessage() + "]"); - } + String testDate = "09/29/2011"; + DateUtil.stringToDate(testDate); } /** @@ -203,15 +184,13 @@ public class DateUtilTest { * * @generatedBy CodePro at 9/27/11 12:31 PM */ - @Test(expected = com.gluster.storage.management.core.exceptions.GlusterRuntimeException.class) + @Test(expected = GlusterRuntimeException.class) public void testStringToDate_4() throws Exception { String inputDate = ""; String dateFormat = ""; DateUtil.stringToDate(inputDate, dateFormat); - fail("Failed to throw exception for [" + inputDate + "," + dateFormat - + "] arguments in DateUtil.stringToDate()"); } /** diff --git a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/FileUtilTest.java b/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/FileUtilTest.java index 1f50ffcb..4ac55f01 100644 --- a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/FileUtilTest.java +++ b/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/FileUtilTest.java @@ -9,12 +9,16 @@ import static org.junit.Assert.fail; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; +import java.io.IOException; import java.io.Writer; import org.junit.After; import org.junit.Before; import org.junit.Test; +import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; + + /** * The class <code>FileUtilTest</code> contains tests for the class <code>{@link FileUtil}</code>. * @@ -24,6 +28,10 @@ import org.junit.Test; */ public class FileUtilTest { + + private String filePath = FileUtil.getTempDirName() + "/test.txt"; + + /** * To write the text into given file. * @@ -47,6 +55,19 @@ public class FileUtilTest { return file.mkdirs(); } + private boolean createEmptyFile(String fileName) { + File file = new File(fileName); + if (file.exists()) { + return true; + } + + try { + return file.createNewFile(); + } catch (IOException e) { + return false; + } + } + /** * Run the File createTempDir() method test. * @@ -89,17 +110,12 @@ public class FileUtilTest { * * @generatedBy CodePro at 9/29/11 2:39 PM */ - @Test + @Test(expected=GlusterRuntimeException.class) public void testCreateTextFile_1() throws Exception { String fileName = ""; String contents = ""; - try { - FileUtil.createTextFile(fileName, contents); - fail("Failed to throw expception! for [] file name and [] file content in FileUtil.createTextFile()"); - } catch (Exception e) { - //Nothing to do - } + FileUtil.createTextFile(fileName, contents); } /** @@ -112,10 +128,9 @@ public class FileUtilTest { @Test public void testGetTempDirName_1() throws Exception { - String result = FileUtil.getTempDirName(); - // add additional test code here + // while running on linux assertEquals("/tmp", result); } @@ -126,17 +141,13 @@ public class FileUtilTest { * * @generatedBy CodePro at 9/29/11 2:39 PM */ - @Test + + @Test(expected=GlusterRuntimeException.class) public void testReadFileAsByteArray_1() throws Exception { File file = new File(""); - try { - byte[] result = FileUtil.readFileAsByteArray(file); - assertNotNull(result); - fail("Byte array read from empty file name should throw exception!"); - } catch (Exception e) { - // Nothing to do - } + + byte[] result = FileUtil.readFileAsByteArray(file); } /** @@ -149,13 +160,6 @@ public class FileUtilTest { @Test public void testReadFileAsByteArray_2() throws Exception { - // Setup - String filePath = "/tmp/test.txt"; - String text = "Welcome to Gluster Storage Management console."; - if (!writeToFile(filePath, text) ) { - fail("Text file creation error!"); - } - File file = new File(filePath); byte[] result = FileUtil.readFileAsByteArray(file); @@ -171,17 +175,13 @@ public class FileUtilTest { * * @generatedBy CodePro at 9/29/11 2:39 PM */ - @Test + + @Test(expected=GlusterRuntimeException.class) public void testReadFileAsString_1() throws Exception { File file = new File(""); - try { - String result = FileUtil.readFileAsString(file); - assertNotNull(result); - fail("Read from Empty file name should throw exception!"); - } catch (Exception e) { - // Nothing to do - } + + String result = FileUtil.readFileAsString(file); } @@ -195,13 +195,6 @@ public class FileUtilTest { @Test public void testReadFileAsString_2() throws Exception { - // Setup - String filePath = "/tmp/test.txt"; - String text = "Welcome to Gluster Storage Management console."; - if (!writeToFile(filePath, text)) { - fail("Text file creation error!"); - } - File file = new File(filePath); String result = FileUtil.readFileAsString(file); @@ -220,17 +213,11 @@ public class FileUtilTest { public void testRecursiveDelete_1() throws Exception { - if (!createNestedDir("/tmp/a/b/c/d")) { - fail("Failed to create directory [/tmp/a/b/c/d]"); - } + //Delete empty directories recursively + File fileOrDir = new File(FileUtil.getTempDirName() + "/rd"); - File fileOrDir = new File("/tmp/a"); - try { - FileUtil.recursiveDelete(fileOrDir); - assertTrue( !fileOrDir.exists() ); - } catch (Exception e) { - // Nothing to do - } + FileUtil.recursiveDelete(fileOrDir); + assertTrue(!fileOrDir.exists()); } /** @@ -240,21 +227,15 @@ public class FileUtilTest { * * @generatedBy CodePro at 9/29/11 2:39 PM */ - @Test + + @Test(expected=GlusterRuntimeException.class) public void testRecursiveDelete_2() throws Exception { + //Delete directories recursively (with some files) + File fileOrDir = new File(FileUtil.getTempDirName() + "/rdx"); - if (!createNestedDir("/tmp/a/b/c/d")) { - fail("Failed to create directory [/tmp/a/b/c/d]"); - } - - File fileOrDir = new File("/tmp/x"); - try { - FileUtil.recursiveDelete(fileOrDir); - assertTrue( !fileOrDir.exists() ); - } catch (Exception e) { - // Nothing to do - } + FileUtil.recursiveDelete(fileOrDir); + assertTrue(!fileOrDir.exists()); } /** @@ -267,17 +248,9 @@ public class FileUtilTest { @Test public void testRecursiveDelete_3() throws Exception { - //Setup - File fileDir = new File("/tmp/a/bc"); - fileDir.mkdirs(); - fileDir.createNewFile(); - try { - File fileOrDir = new File("/tmp/a"); - FileUtil.recursiveDelete(fileOrDir); - assertTrue(!fileOrDir.exists()); - } catch (Exception e) { - // Nothing to do - } + File fileOrDir = new File(FileUtil.getTempDirName() + "/rd"); + FileUtil.recursiveDelete(fileOrDir); + assertTrue(!fileOrDir.exists()); } /** @@ -290,42 +263,60 @@ public class FileUtilTest { @Test public void testRecursiveDelete_4() throws Exception { + File file = new File(FileUtil.getTempDirName() + "/rd/b/bc/mydoc.txt"); + assertTrue(!file.exists()); - File fileDir = new File("/tmp/1/2.bc/c/123.xyz"); - fileDir.mkdirs(); - fileDir.createNewFile(); - - File fileOrDir = new File("/tmp/1/*"); - try { - FileUtil.recursiveDelete(fileOrDir); - File file = new File("/tmp/1/2.bc"); - assertTrue(!file.exists()); - } catch (Exception e) { - // fail("Unable to delete the file/folders recursively."); - } + file = new File(FileUtil.getTempDirName() + "/rd//b/bc"); + assertTrue(!file.exists()); } /** + * Run the void recursiveDelete(File) method test. + * + * @throws Exception + * + * @generatedBy CodePro at 9/29/11 2:39 PM + */ + @Test(expected=GlusterRuntimeException.class) + public void testRecursiveDelete_5() + throws Exception { + File fileOrDir = new File(FileUtil.getTempDirName() + "/rd/*"); //Wild cards + FileUtil.recursiveDelete(fileOrDir); + } + + + /** + * Run the void recursiveDelete(File) method test. + * + * @throws Exception + * + * @generatedBy CodePro at 9/29/11 2:39 PM + */ + @Test(expected=GlusterRuntimeException.class) + public void testRecursiveDelete_6() + throws Exception { + File fileOrDir = new File(FileUtil.getTempDirName() + "/abcxyz"); + FileUtil.recursiveDelete(fileOrDir); + } + + /** * Run the void renameFile(String,String) method test. * * @throws Exception * * @generatedBy CodePro at 9/29/11 2:39 PM */ - @Test + + @Test(expected=GlusterRuntimeException.class) public void testRenameFile_1() throws Exception { - String fromPath = "/tmp/test.txt"; - String toPath = "~/abc.txt"; + String fromPath = FileUtil.getTempDirName() + "/test.txt"; new File(fromPath).createNewFile(); + String toPath = "~/abc.txt"; // Relative path - try { - FileUtil.renameFile(fromPath, toPath); - assertTrue(!new File(fromPath).exists()); - assertTrue(new File(toPath).exists()); - } catch (Exception e) { - // Nothing to do - } + FileUtil.renameFile(fromPath, toPath); + assertTrue(!new File(fromPath).exists()); + assertTrue(new File(toPath).exists()); } /** @@ -338,19 +329,27 @@ public class FileUtilTest { @Test public void testRenameFile_2() throws Exception { - String fromPath = "/tmp/test.txt"; - String toPath = "/tmp/abc.txt"; + String fromPath = FileUtil.getTempDirName() + "/test.txt"; new File(fromPath).createNewFile(); - - try { - FileUtil.renameFile(fromPath, toPath); - assertTrue(!new File(fromPath).exists()); - assertTrue(new File(toPath).exists()); - } catch (Exception e) { - // Nothing to do - } + + String toPath = FileUtil.getTempDirName() + "/abc.txt"; // Absolute path example + FileUtil.renameFile(fromPath, toPath); + assertTrue(!new File(fromPath).exists()); + assertTrue(new File(toPath).exists()); } - + + @Test + public void testRenameFile_3() + throws Exception { + String fromPath = FileUtil.getTempDirName() + "/test.txt"; + new File(fromPath).createNewFile(); + + String toPath = FileUtil.getTempDirName() + "/renamefile.txt"; + FileUtil.renameFile(fromPath, toPath); + assertTrue(!new File(fromPath).exists()); + assertTrue(new File(toPath).exists()); + } + /** * Perform pre-test initialization. * @@ -362,7 +361,30 @@ public class FileUtilTest { @Before public void setUp() throws Exception { - // add additional set up code here + + // testReadFileAsByteArray_2() + if (!writeToFile(filePath, "Welcome to Gluster Storage Management console.")) { + fail("Setup: Text file creation error!"); + } + + // testRecursiveDelete_1() + if (!createNestedDir(FileUtil.getTempDirName() + "/rd/b/c/d")) { + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/mydoc.txt"); + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/songs.mp3"); + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/mysetup.cfg"); + + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/bc/mydoc.txt"); + createEmptyFile(FileUtil.getTempDirName() + "/rd/songs.mp3"); + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/bc/mysetup.cfg"); + + createEmptyFile(FileUtil.getTempDirName() + "/rd//b/mydoc.txt"); + createEmptyFile(FileUtil.getTempDirName() + "/rd/b/bc/songs.mp3"); + + } + + if (! createEmptyFile(FileUtil.getTempDirName() + "/renamefile.txt") ) { + fail("Failed to create file [/renamefile.txt]"); + } } /** @@ -376,7 +398,75 @@ public class FileUtilTest { @After public void tearDown() throws Exception { - // Add additional tear down code here + File file = new File(filePath); + file.delete(); + file = new File(FileUtil.getTempDirName() + "/rd/b/c/d"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd/b/c"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd/b/mydoc.txt"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/rd/b/songs.mp3"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/rd/b/mysetup.cfg"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd/b/bc/mydoc.txt"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/rd/b/bc/mysetup.cfg"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/rd/b/bc/songs.mp3"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd/b/bc"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd/b"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/rd"); + if (file.exists()) { + file.delete(); + } + + file = new File(FileUtil.getTempDirName() + "/abc.txt"); + if (file.exists()) { + file.delete(); + } + file = new File("~/abc.txt"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/test.txt"); + if (file.exists()) { + file.delete(); + } + file = new File(FileUtil.getTempDirName() + "/renamefile.txt"); + if (file.exists()) { + file.delete(); + } } /** diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java index 3e42b1c0..22d7e3dc 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java @@ -52,6 +52,7 @@ public class RESTConstants { public static final String TASK_COMMIT = "commit"; public static final String TASK_STATUS = "status"; public static final String TASK_DELETE = "delete"; + public static final String TASK_LOG_ROTATE = "logRotate"; public static final String TASK_REBALANCE_START = "rebalanceStart"; public static final String TASK_REBALANCE_STATUS = "rebalanceStatus"; public static final String TASK_REBALANCE_STOP = "rebalanceStop"; @@ -68,6 +69,7 @@ public class RESTConstants { public static final String FORM_PARAM_CIFS_ENABLE = "enableCifs"; public static final String FORM_PARAM_CIFS_USERS = "cifsUsers"; public static final String FORM_PARAM_CIFS_CONFIG = "cifsConfig"; + public static final String FORM_PARAM_LOG_ROTATE = "logRotate"; public static final String FORM_PARAM_CLUSTER_NAME = "clusterName"; public static final String FORM_PARAM_SERVER_NAME = "serverName"; diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java index b892df32..4303aa63 100644 --- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java +++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java @@ -59,6 +59,7 @@ import static com.gluster.storage.management.core.constants.RESTConstants.RESOUR import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_VOLUMES; import java.io.File; +import java.util.Arrays; import java.util.List; import javax.ws.rs.DELETE; @@ -193,7 +194,8 @@ public class VolumesResource extends AbstractResource { @FormParam(FORM_PARAM_FIX_LAYOUT) Boolean isFixLayout, @FormParam(FORM_PARAM_MIGRATE_DATA) Boolean isMigrateData, @FormParam(FORM_PARAM_FORCED_DATA_MIGRATE) Boolean isForcedDataMigrate, - @FormParam(FORM_PARAM_CIFS_ENABLE) Boolean enableCifs, @FormParam(FORM_PARAM_CIFS_USERS) String cifsUsers) { + @FormParam(FORM_PARAM_CIFS_ENABLE) Boolean enableCifs, @FormParam(FORM_PARAM_CIFS_USERS) String cifsUsers, + @FormParam(FORM_PARAM_BRICKS) String bricks) { if (clusterName == null || clusterName.isEmpty()) { throw new GlusterValidationException("Cluster name must not be empty!"); } @@ -228,6 +230,9 @@ public class VolumesResource extends AbstractResource { } volumeService.deleteCifsUsers(clusterName, volumeName); } + } else if (operation.equals(RESTConstants.TASK_LOG_ROTATE)) { + List<String> brickList = Arrays.asList(bricks.split(",")); + volumeService.logRotate(clusterName, volumeName, brickList); } else { volumeService.performVolumeOperation(clusterName, volumeName, operation); } diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java index eb585b98..eaf99c9c 100644 --- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java +++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/services/VolumeService.java @@ -686,6 +686,26 @@ public class VolumeService { } } + public void logRotate(String clusterName, String volumeName, List<String> brickList) { + GlusterServer onlineServer = clusterService.getOnlineServer(clusterName); + try { + if (onlineServer == null) { + throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]"); + } + + glusterUtil.logRotate(volumeName, brickList, onlineServer.getName()); + } catch (Exception e) { + // check if online server has gone offline. If yes, try again one more time. + if (e instanceof ConnectionException || serverUtil.isServerOnline(onlineServer) == false) { + // online server has gone offline! try with a different one. + onlineServer = clusterService.getNewOnlineServer(clusterName); + glusterUtil.logRotate(volumeName, brickList, onlineServer.getName()); + } else { + throw new GlusterRuntimeException("Volume [" + volumeName + "] log rotation failed!", e); + } + } + } + public void performVolumeOperation(String clusterName, String volumeName, String operation) { GlusterServer onlineServer = clusterService.getOnlineServer(clusterName); try { diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java index 3bcd5826..a7a96ccd 100644 --- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java +++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/utils/GlusterUtil.java @@ -180,6 +180,16 @@ public class GlusterUtil { public void stopVolume(String volumeName, String knownServer) { serverUtil.executeOnServer(knownServer, "gluster --mode=script volume stop " + volumeName); } + + public void logRotate(String volumeName, List<String> brickList, String knownServer) { + if (brickList.size() > 0) { + for (String brickDir : brickList) { + serverUtil.executeOnServer(knownServer, "gluster volume log rotate " + volumeName + " " + brickDir); + } + } else { + serverUtil.executeOnServer(knownServer, "gluster volume log rotate " + volumeName); + } + } public void resetOptions(String volumeName, String knownServer) { serverUtil.executeOnServer(knownServer, "gluster volume reset " + volumeName); |