Commit c9020c1f authored by Christian Mohrbacher's avatar Christian Mohrbacher

updated to release 6.14

parent 6e75897b
#!/bin/bash
# beegfs-ondemand-stoplocal
# This file contains helper functions to stop beegfs-ondemand services locally on one node.
# This is meant to be sourced from another script (i.e. beegfs-ondemand)
# This file contains helper functions to stop BeeOND services locally on one node.
# This is meant to be sourced from another script (i.e. beeond)
# Checks the return code of the last command that has been executed. If the code is !=0, indicating
......@@ -260,7 +260,7 @@ stoplocal()
# -L => Delete log files after successful shutdown
# -q => Suppress \"INFO\" messages, only print \"ERROR\"s
# -c => "Cleanup": Remove remaining processes and directories of a
# potentially unsuccessful shutdown of an earlier beegfs-ondemand
# potentially unsuccessful shutdown of an earlier beeond
# instance. This switch silences the error message when a status
# information file is not found or an unmount command fails;
# instead, a message is printed (if \"INFO\" messages are not
......@@ -275,7 +275,7 @@ stoplocal()
do_stoplocal()
{
# TODO get rid of variables already defined in the main script
local DEFAULT_STATUSFILE="/tmp/beegfs_ondemand_v2.tmp"
local DEFAULT_STATUSFILE=/tmp/beeond.tmp
local CLIENTSERVICE=beegfs-client
local DELETE_DATA="false"
local DELETE_LOGS="false"
......@@ -351,9 +351,9 @@ do_stoplocal()
then
echo "ERROR: Status file ${STATUSFILE} not found." >&2
# If the user has specified a statufile, just give a brief error message and exit.
# If the user has not specified a statuf file, give the full usage info - maybe the user
# didn't know how to specify a statusfile.
# If the user has specified a status file, just give a brief error message and exit.
# If the user has not specified a status file, give the full usage info - maybe the user
# didn't know how to specify a status file.
if [ "${STATUSFILE}" = "${DEFAULT_STATUSFILE}" ]
then
if declare -f -F "print_usage_and_exit" >/dev/null
......
......@@ -122,6 +122,10 @@ print_usage_and_exit()
echo " directory\" you have to provide an additional config"
echo " file beegfs-meta.conf containing the line"
echo " storeUseExtendedAttribs = false"
echo " -k => enable storage target mirroring"
echo " Note: Needs an even number of storage servers (-s)."
echo " -j => enable metadata server mirroring"
echo " Note: Needs an even number of metadata servers (-m)."
echo " -q => Suppress INFO messages, only print ERRORs."
echo ""
echo " stop:"
......@@ -1075,6 +1079,22 @@ unmount_clients()
fi
}
# Blocks until all targets are online/good
# Parameters: nodetype numNodes
wait_online_good()
{
local NODE_TYPE=$1
local NUM_NODES=$2
local CTLCMD="${CTL_BIN} --sysMgmtdHost=${MGMTD} --connPortShift=${PORT_SHIFT} \
--listtargets --nodetype=${NODE_TYPE} --state"
while [ ! "$(${CTLCMD} | grep "Online\s\+Good" -c)" = "${NUM_NODES}" ]
do
sleep 1
done
}
### main functions ###
do_start()
{
......@@ -1083,9 +1103,11 @@ do_start()
PREFER_LOCAL="false"
QUIET="false"
USE_TMPFS="false"
STORAGE_MIRROR="false"
META_MIRROR="false"
PORT_SHIFT=${DEFAULT_PORT_SHIFT}
while getopts ":c:d:f:Fi:m:n:p:lL:Pb:s:qr" opt; do
while getopts ":c:d:f:Fi:m:n:p:lL:Pb:s:qrkj" opt; do
case $opt in
n)
HOSTFILE=$OPTARG
......@@ -1144,6 +1166,12 @@ do_start()
r)
USE_TMPFS="true"
;;
k)
STORAGE_MIRROR="true"
;;
j)
META_MIRROR="true"
;;
\?)
echo "ERROR: invalid option: -$OPTARG" >&2
print_usage_and_exit
......@@ -1159,6 +1187,12 @@ do_start()
check_datapath
check_mountpoint
if [ "${STORAGE_MIRROR}" = "true" -a "${PREFER_LOCAL}" = true ]
then
print_error_and_exit "Options -k and -l are mutually exclusive."
fi
print_info "Using status information file: ${STATUSFILE}"
NODECOUNT=`grep -v '^$' ${HOSTFILE} | uniq | wc -l` #ignore empty lines
......@@ -1242,13 +1276,65 @@ do_start()
# port shift and config path may be empty, but that's ok
start_meta_servers "${METANODES}" "${DATA_PATH}" "${MGMTD}" "${PORT_SHIFT}" "${CONFIGPATH}"
# give the management daemon some time to get all information from servers
sleep 8
# give the management daemon some time to get all information from servers
wait_online_good storage "${NUM_STORAGE_SERVER}"
wait_online_good meta "${NUM_META_SERVER}"
# enable mirroring
if [ "${STORAGE_MIRROR}" = "true" ]
then
${CTL_BIN} --sysMgmtdHost=${MGMTD} --connPortShift=${PORT_SHIFT} --addmirrorgroup \
--nodetype=storage --automatic --force > /dev/null
if [ $? -ne 0 ]
then
print_error_and_exit "Unable to create storage target buddy mirror groups."
fi
# all metadata servers need to know about the storage mirror groups
sleep 8
fi
if [ "${META_MIRROR}" = "true" ]
then
${CTL_BIN} --sysMgmtdHost=${MGMTD} --connPortShift=${PORT_SHIFT} --addmirrorgroup \
--nodetype=meta --automatic --force > /dev/null
if [ $? -ne 0 ]
then
print_error_and_exit "Unable to create metadata server buddy mirror groups."
fi
# all metadata servers need to know about the newly created mirror groups
sleep 8
${CTL_BIN} --sysMgmtdHost=${MGMTD} --connPortShift=${PORT_SHIFT} --mirrormd > /dev/null
if [ $? -ne 0 ]
then
print_error_and_exit "Unable to enable metadata mirroring."
fi
# wait for initial resync
wait_online_good meta "${NUM_META_SERVER}"
fi
# take all hosts as client
# port shift and config path may be empty, but that's ok
start_clients "${ALLNODES}" "${MGMTD}" "${MOUNTPOINT}" "${PORT_SHIFT}" "${CONFIGPATH}"
if [ "${STORAGE_MIRROR}" = "true" ]
then
${CTL_BIN} --sysMgmtdHost=${MGMTD} --connPortShift=${PORT_SHIFT} --setpattern --buddymirror \
--chunksize=512k --numtargets=4 "${MOUNTPOINT}" > /dev/null
if [ $? -ne 0 ]
then
print_error_and_exit "Unable to enable mirroring pattern."
fi
fi
}
do_stop()
......
This diff is collapsed.
This diff is collapsed.
......@@ -15,10 +15,15 @@ import java.util.logging.Level;
import javax.naming.ConfigurationException;
import java.util.Locale;
import java.util.ResourceBundle;
public class Config
{
public static final Level DEFAULT_LOG_LEVEL = Level.INFO;
private static final String DEFAULT_ADMON_HOST = "localhost";
private static final String DEFAULT_ADMON_LOCAL = "English";
private static final int DEFAULT_ADMON_HTTP_PORT = 8000;
private static final int DEFAULT_RESOLUTION_X = 2048;
private static final int DEFAULT_RESOLUTION_Y = 2048;
......@@ -28,6 +33,7 @@ public class Config
// set default values
private String admonHost = null;
private String admonLocal = null;
private String logFile = null;
private String cfgFile = null;
private int admonHttpPort = 0;
......@@ -88,6 +94,12 @@ public class Config
this.admonHttpPort = Integer.parseInt(value);
}
else
if(key.equalsIgnoreCase(PropertyEnum.PROPERTY_ADMON_GUI_LOCAL.getArgsKey()))
{
this.admonLocal = value;
System.out.println("##"+value+"##");
}
else
if(key.equalsIgnoreCase(PropertyEnum.PROPERTY_ADMON_GUI_LOG_FILE.getArgsKey()))
{
this.logFile = value;
......@@ -166,6 +178,12 @@ public class Config
this.setLogLevel(Integer.parseInt(value));
}
value = System.getProperty(PropertyEnum.PROPERTY_ADMON_GUI_LOCAL.getKey());
if((value != null) && (this.admonLocal == null))
{
this.setAdmonLocal(value);
}
value = System.getProperty(PropertyEnum.PROPERTY_ADMON_GUI_RESOLUTION.getKey());
if((value != null) && (this.resolutionX == 0 || this.resolutionY == 0))
{
......@@ -195,6 +213,16 @@ public class Config
return this.admonHttpPort;
}
public String getAdmonLocal()
{
if (this.admonLocal == null)
{
return DEFAULT_ADMON_LOCAL;
}
return this.admonLocal;
}
public String getResolution()
{
if ((this.resolutionX == 0) && (this.resolutionY == 0))
......@@ -322,6 +350,10 @@ public class Config
this.admonHost = host;
}
public void setAdmonLocal(String local)
{
this.admonLocal = local;
}
public void setAdmonHttpPort(int port)
{
admonHttpPort = port;
......@@ -419,6 +451,8 @@ public class Config
String newPort = props.getProperty(PropertyEnum.PROPERTY_ADMON_HTTP_PORT.getConfigKey());
String newResolution = props.getProperty(
PropertyEnum.PROPERTY_ADMON_GUI_RESOLUTION.getConfigKey());
String newLocal = props.getProperty(
PropertyEnum.PROPERTY_ADMON_GUI_LOCAL.getConfigKey());
String newLogLevel = props.getProperty(
PropertyEnum.PROPERTY_ADMON_GUI_LOG_LEVEL.getConfigKey());
String newLogFile = props.getProperty(
......@@ -436,6 +470,11 @@ public class Config
this.admonHttpPort = Integer.parseInt(newPort);
}
if (newLocal != null && (this.admonLocal == null))
{
this.admonLocal = newLocal;
}
if (newResolution != null && ((this.resolutionX == 0) || (this.resolutionY == 0)))
{
if (!setResolution(newResolution))
......@@ -462,6 +501,7 @@ public class Config
this.admonHost = DEFAULT_ADMON_HOST;
this.admonHttpPort = DEFAULT_ADMON_HTTP_PORT;
this.admonLocal = DEFAULT_ADMON_LOCAL;
this.resolutionX = DEFAULT_RESOLUTION_X;
this.resolutionY = DEFAULT_RESOLUTION_Y;
this.logFile = FilePathsEnum.DEFAULT_LOG_FILE.getPath();
......@@ -559,6 +599,9 @@ public class Config
p.setProperty(PropertyEnum.PROPERTY_ADMON_GUI_LOG_FILE.getConfigKey(), getLogFile());
p.setProperty(PropertyEnum.PROPERTY_ADMON_GUI_LOG_LEVEL.getConfigKey(),
Integer.toString(getLogLevelNumeric()));
p.setProperty(PropertyEnum.PROPERTY_ADMON_GUI_LOCAL.getConfigKey(), getAdmonLocal());
p.setProperty(PropertyEnum.PROPERTY_ADMON_GUI_RESOLUTION.getConfigKey(), getResolution());
return writeConfigFile(f,p);
}
......@@ -582,6 +625,11 @@ public class Config
builder.append(String.format("%-50s%s%n",
PropertyEnum.PROPERTY_ADMON_GUI_LOG_LEVEL.getArgsKey() +
"=0|1|2|3|4|5", "The log level. Level 5 prints the most log messages."));
builder.append(String.format("%-50s%s%n",
PropertyEnum.PROPERTY_ADMON_GUI_LOCAL.getArgsKey() +
"=English|Chinese", "The local is used to set the language environment"));
builder.append(String.format("%-50s%s%n",
PropertyEnum.PROPERTY_ADMON_GUI_RESOLUTION.getArgsKey() +
"=$RESOLUTION_Xx$RESOLUTION_Y", "The resolution in pixels for the X- and Y- axis of the"));
......
......@@ -13,6 +13,7 @@ public enum PropertyEnum
PROPERTY_ADMON_GUI_LOG_DBG(BEEGFS_ADMON_GUI_NAMESPACE + ".logDebug"), // do not rename to DEBUG, the ant script destroys the main source file
PROPERTY_ADMON_GUI_LOG_FILE(BEEGFS_ADMON_GUI_NAMESPACE + ".logFile"),
PROPERTY_ADMON_GUI_LOG_LEVEL(BEEGFS_ADMON_GUI_NAMESPACE + ".logLevel"),
PROPERTY_ADMON_GUI_LOCAL(BEEGFS_ADMON_GUI_NAMESPACE + ".local"),
PROPERTY_ADMON_GUI_RESOLUTION(BEEGFS_ADMON_GUI_NAMESPACE + ".resolution"),
PROPERTY_ADMON_HOST(BEEGFS_ADMON_GUI_NAMESPACE + ".admonHost"),
PROPERTY_ADMON_HTTP_PORT(BEEGFS_ADMON_GUI_NAMESPACE + ".admonHttpPort"),
......
package com.beegfs.admon.gui.common.enums;
import com.beegfs.admon.gui.program.Main;
public enum StatsTypeEnum
{
STATS_NONE("None type", "none"),
STATS_CLIENT_METADATA("Client stats metadata", "ClientStatsMeta"),
STATS_CLIENT_STORAGE("Client stats storage", "ClientStatsStorage"),
STATS_USER_METADATA("User stats metadata", "UserStatsMetadata"),
STATS_USER_STORAGE("User stats storage", "UserStatsStorage");
STATS_CLIENT_METADATA(Main.getLocal().getString("Client stats metadata"), "ClientStatsMeta"),
STATS_CLIENT_STORAGE(Main.getLocal().getString("Client stats storage"), "ClientStatsStorage"),
STATS_USER_METADATA(Main.getLocal().getString("User stats metadata"), "UserStatsMetadata"),
STATS_USER_STORAGE(Main.getLocal().getString("User stats storage"), "UserStatsStorage");
private final String description;
private final String type;
......
package com.beegfs.admon.gui.common.enums;
import com.beegfs.admon.gui.program.Main;
public enum UpdateDataTypeEnum
{
HOSTS_MGMTD("Add management hosts", "Import management hosts from file",
"Please choose the file to import." + System.lineSeparator() + System.lineSeparator() +
"The file must contain one host per line."),
HOSTS_META("Add metadata hosts", "Import metadata hosts from file",
"Please choose the file to import." + System.lineSeparator() + System.lineSeparator() +
"The file must contain one host per line."),
HOSTS_STORAGE("Add storage hosts", "Import storage hosts from file",
"Please choose the file to import." + System.lineSeparator() + System.lineSeparator() +
"The file must contain one host per line."),
HOSTS_CLIENT("Add client hosts", "Import client hosts from file",
"Please choose the file to import." + System.lineSeparator() + System.lineSeparator() +
"The file must contain one host per line."),
QUOTA("Add quota limits", "Import quota limits from file",
"Please choose the file to import." + System.lineSeparator() + System.lineSeparator() +
"A csv file is requires each line is a user or a group." + System.lineSeparator() +
"Line format: ID/name,size limit,inode limit");
HOSTS_MGMTD(Main.getLocal().getString("Add management hosts"), Main.getLocal().getString("Import management hosts from file"),
Main.getLocal().getString("Please choose the file to import.") + System.lineSeparator() + System.lineSeparator() +
Main.getLocal().getString("The file must contain one host per line.")),
HOSTS_META(Main.getLocal().getString("Add metadata hosts"), Main.getLocal().getString("Import metadata hosts from file"),
Main.getLocal().getString("Please choose the file to import.") + System.lineSeparator() + System.lineSeparator() +
Main.getLocal().getString("The file must contain one host per line.")),
HOSTS_STORAGE(Main.getLocal().getString("Add storage hosts"), Main.getLocal().getString("Import storage hosts from file"),
Main.getLocal().getString("Please choose the file to import.") + System.lineSeparator() + System.lineSeparator() +
Main.getLocal().getString("The file must contain one host per line.")),
HOSTS_CLIENT(Main.getLocal().getString("Add client hosts"), Main.getLocal().getString("Import client hosts from file"),
Main.getLocal().getString("Please choose the file to import.") + System.lineSeparator() + System.lineSeparator() +
Main.getLocal().getString("The file must contain one host per line.")),
QUOTA(Main.getLocal().getString("Add quota limits"), Main.getLocal().getString("Import quota limits from file"),
Main.getLocal().getString("Please choose the file to import.") + System.lineSeparator() + System.lineSeparator() +
Main.getLocal().getString("A csv file is requires each line is a user or a group.") + System.lineSeparator() +
Main.getLocal().getString("Line format: ID/name,size limit,inode limit"));
private final String title;
private final String fileCooserTitle;
......
......@@ -49,14 +49,14 @@ public class MainWindow extends javax.swing.JFrame
private void showNotLoggedIn()
{
JOptionPane.showMessageDialog(null, "You must be logged in to view this information!",
"Not authenticated", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, Main.getLocal().getString("You must be logged in to view this information!"),
Main.getLocal().getString("Not authenticated"), JOptionPane.ERROR_MESSAGE);
}
private void showNotAdmin()
{
JOptionPane.showMessageDialog(null, "You must be logged in with an adminstrative account to "
+ "view this information!", "Not authenticated", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(null, Main.getLocal().getString("You must be logged in with an adminstrative account to ")
+ Main.getLocal().getString("view this information!"), Main.getLocal().getString("Not authenticated"), JOptionPane.ERROR_MESSAGE);
}
public StatusPanel getStatusPanel()
......@@ -71,12 +71,12 @@ public class MainWindow extends javax.swing.JFrame
public void setLoggedIn(boolean admin)
{
this.setTitle("BeeGFS admon @ " + Main.getConfig().getAdmonHost() + ":" +
this.setTitle(Main.getLocal().getString("BeeGFS admon @ ") + Main.getConfig().getAdmonHost() + ":" +
Main.getConfig().getAdmonHttpPort());
jMenuItemLogin.setText("Logout");
jMenuItemLogin.setText(Main.getLocal().getString("Logout"));
if (admin)
{
jLabelUser.setText("Administrator");
jLabelUser.setText(Main.getLocal().getString("Administrator"));
activateAdminMenus();
jLabelQuickAdmin.setVisible(false);
jPasswordFieldQuickAdmin.setVisible(false);
......@@ -110,7 +110,7 @@ public class MainWindow extends javax.swing.JFrame
initComponents();
this.setTitle("BeeGFS admon");
this.setTitle(Main.getLocal().getString("BeeGFS admon"));
this.getContentPane().setBackground(BeegfsLookAndFeel.getMenuBackground());
jDesktopPaneContent.setBackground(java.awt.Color.WHITE);
jScrollPaneDesktop.getHorizontalScrollBar().addAdjustmentListener(
......@@ -195,9 +195,9 @@ public class MainWindow extends javax.swing.JFrame
jToolBar.setRollover(true);
jLabelUserText.setText("Currently logged in : ");
jLabelUserText.setText(Main.getLocal().getString("Currently logged in : "));
jLabelQuickAdmin.setText("Administrative Login : ");
jLabelQuickAdmin.setText(Main.getLocal().getString("Administrative Login : "));
jPasswordFieldQuickAdmin.addActionListener(new java.awt.event.ActionListener()
{
......@@ -304,9 +304,9 @@ public class MainWindow extends javax.swing.JFrame
jMenuBar.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jMenuAdmon.setText("Admon");
jMenuAdmon.setText(Main.getLocal().getString("Admon"));
jMenuItemConnSettings.setText("Change Settings");
jMenuItemConnSettings.setText(Main.getLocal().getString("Change Settings"));
jMenuItemConnSettings.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -316,7 +316,7 @@ public class MainWindow extends javax.swing.JFrame
});
jMenuAdmon.add(jMenuItemConnSettings);
jMenuItemLogin.setText("Login");
jMenuItemLogin.setText(Main.getLocal().getString("Login"));
jMenuItemLogin.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -326,7 +326,7 @@ public class MainWindow extends javax.swing.JFrame
});
jMenuAdmon.add(jMenuItemLogin);
jMenuItemClose.setText("Close");
jMenuItemClose.setText(Main.getLocal().getString("Close"));
jMenuItemClose.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -338,9 +338,9 @@ public class MainWindow extends javax.swing.JFrame
jMenuBar.add(jMenuAdmon);
jMenuAdministration.setText("Administration");
jMenuAdministration.setText(Main.getLocal().getString("Administration"));
jMenuItemUserSettings.setText("User Settings");
jMenuItemUserSettings.setText(Main.getLocal().getString("User Settings"));
jMenuItemUserSettings.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -350,7 +350,7 @@ public class MainWindow extends javax.swing.JFrame
});
jMenuAdministration.add(jMenuItemUserSettings);
jMenuItemMailSettings.setText("Mail Settings");
jMenuItemMailSettings.setText(Main.getLocal().getString("Mail Settings"));
jMenuItemMailSettings.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -362,9 +362,9 @@ public class MainWindow extends javax.swing.JFrame
jMenuBar.add(jMenuAdministration);
jMenuWindow.setText("Windows");
jMenuWindow.setText(Main.getLocal().getString("Windows"));
jMenuItemTile.setText("Tile");
jMenuItemTile.setText(Main.getLocal().getString("Tile"));
jMenuItemTile.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -374,7 +374,7 @@ public class MainWindow extends javax.swing.JFrame
});
jMenuWindow.add(jMenuItemTile);
jMenuItemMinimize.setText("Minimize All");
jMenuItemMinimize.setText(Main.getLocal().getString("Minimize All"));
jMenuItemMinimize.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -386,7 +386,7 @@ public class MainWindow extends javax.swing.JFrame
jMenuBar.add(jMenuWindow);
jMenuAbout.setText("About");
jMenuAbout.setText(Main.getLocal().getString("About"));
jMenuAbout.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -395,7 +395,7 @@ public class MainWindow extends javax.swing.JFrame
}
});
JMenuItemAbout.setText("About");
JMenuItemAbout.setText(Main.getLocal().getString("About"));
JMenuItemAbout.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -448,10 +448,10 @@ public class MainWindow extends javax.swing.JFrame
private void jMenuItemLoginActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItemLoginActionPerformed
if (Main.getSession().getIsInfo())
{
this.setTitle("BeeGFS admon");
this.setTitle(Main.getLocal().getString("BeeGFS admon"));
Main.getSession().setIsInfo(false);
Main.getSession().setIsAdmin(false);
jMenuItemLogin.setText("Login");
jMenuItemLogin.setText(Main.getLocal().getString("Login"));
loginDialog.setVisible(true);
}
else
......@@ -497,24 +497,24 @@ public class MainWindow extends javax.swing.JFrame
private void jPasswordFieldQuickAdminActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jPasswordFieldQuickAdminActionPerformed
try
{
String username = "Administrator";
String username = Main.getLocal().getString("Administrator");
String pw = CryptTk.getMD5(jPasswordFieldQuickAdmin.getPassword());
if (!loginDialog.doLogin(username, pw))
{
JOptionPane.showMessageDialog(this, "Authentication as Administrator failed",
"Authentication failed", JOptionPane.ERROR_MESSAGE);
JOptionPane.showMessageDialog(this, Main.getLocal().getString("Authentication as Administrator failed"),
Main.getLocal().getString("Authentication failed"), JOptionPane.ERROR_MESSAGE);
}
}
catch (WrongBackendVersionException e)
{
LOGGER.log(Level.SEVERE, "Wrong backend version", e);
LOGGER.log(Level.SEVERE, Main.getLocal().getString("Wrong backend version"), e);
}
catch (CommunicationException e)
{
JOptionPane.showMessageDialog(Main.getMainWindow(), "Unable to communicate with the "
+ "remote backend.", "Communication Error", JOptionPane.ERROR_MESSAGE);
LOGGER.log(Level.SEVERE, "Communication Error: Unable to communicate with the "
+ "remote backend.", e);
JOptionPane.showMessageDialog(Main.getMainWindow(), Main.getLocal().getString("Unable to communicate with the ")
+ Main.getLocal().getString("remote backend."), Main.getLocal().getString("Communication Error"), JOptionPane.ERROR_MESSAGE);
LOGGER.log(Level.SEVERE, Main.getLocal().getString("Communication Error: Unable to communicate with the ")
+ Main.getLocal().getString("remote backend."), e);
}
}//GEN-LAST:event_jPasswordFieldQuickAdminActionPerformed
......
......@@ -63,7 +63,7 @@ public class JDialogAbout extends javax.swing.JDialog
gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 10);
getContentPane().add(jLabelLogo, gridBagConstraints);
jLabelSupport.setText("If you need support please contact support@beegfs.com.");
jLabelSupport.setText(Main.getLocal().getString("If you need support please contact support@beegfs.com."));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
......@@ -72,7 +72,7 @@ public class JDialogAbout extends javax.swing.JDialog
getContentPane().add(jLabelSupport, gridBagConstraints);
jLabelITWM.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabelITWM.setText("BeeGFS is a project of the Fraunhofer ITWM,");
jLabelITWM.setText(Main.getLocal().getString("BeeGFS is a project of the Fraunhofer ITWM,"));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
......@@ -80,7 +80,7 @@ public class JDialogAbout extends javax.swing.JDialog
gridBagConstraints.insets = new java.awt.Insets(24, 10, 0, 10);
getContentPane().add(jLabelITWM, gridBagConstraints);
jLabelDepartment.setText("Competence Center for High Performance Computing. ");
jLabelDepartment.setText(Main.getLocal().getString("Competence Center for High Performance Computing. "));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
......@@ -88,7 +88,7 @@ public class JDialogAbout extends javax.swing.JDialog
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 10);
getContentPane().add(jLabelDepartment, gridBagConstraints);
jButtonClose.setText("Close");
jButtonClose.setText(Main.getLocal().getString("Close"));
jButtonClose.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -105,7 +105,7 @@ public class JDialogAbout extends javax.swing.JDialog
getContentPane().add(jButtonClose, gridBagConstraints);
jLabelURL.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabelURL.setText("http://www.beegfs.com");
jLabelURL.setText(Main.getLocal().getString("http://www.beegfs.com"));
jLabelURL.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent evt)
......@@ -122,7 +122,7 @@ public class JDialogAbout extends javax.swing.JDialog
getContentPane().add(jLabelURL, gridBagConstraints);
jLabelProduct.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabelProduct.setText("BeeGFS Admon GUI");
jLabelProduct.setText(Main.getLocal().getString("BeeGFS Admon GUI"));
jLabelProduct.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
......
......@@ -3,6 +3,7 @@ package com.beegfs.admon.gui.components.dialogs;
import com.beegfs.admon.gui.common.enums.FilePathsEnum;
import static com.beegfs.admon.gui.common.tools.DefinesTk.DEFAULT_ENCODING_UTF8;
import com.beegfs.admon.gui.common.tools.GuiTk;
import com.beegfs.admon.gui.program.Main;
import java.awt.Point;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
......@@ -48,12 +49,12 @@ public class JDialogEULA extends javax.swing.JDialog
}
catch (FileNotFoundException e)
{
jTextAreaEula.setText("BeeGFS EULA not found!");
jTextAreaEula.setText(Main.getLocal().getString("BeeGFS EULA not found!"));
LOGGER.log(Level.WARNING, "BeeGFS EULA file not found.", e);
}
catch (IOException e)
{
jTextAreaEula.setText("BeeGFS EULA not readable!");
jTextAreaEula.setText(Main.getLocal().getString("BeeGFS EULA not readable!"));
LOGGER.log(Level.WARNING, "BeeGFS EULA file not readable.", e);
}
finally
......@@ -67,7 +68,7 @@ public class JDialogEULA extends javax.swing.JDialog
}
catch (IOException | NullPointerException e)
{
LOGGER.log(Level.FINEST, "Could not close BeeGFS EULA file.", e);
LOGGER.log(Level.FINEST, Main.getLocal().getString("Could not close BeeGFS EULA file."), e);
}
}
......@@ -110,7 +111,7 @@ public class JDialogEULA extends javax.swing.JDialog
jPanelControls.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 0, 10));
jPanelControls.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER, 10, 0));
jCheckBoxAccept.setText("I accept the terms of the license agreement");
jCheckBoxAccept.setText(Main.getLocal().getString("I accept the terms of the license agreement"));
jCheckBoxAccept.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
......@@ -121,7 +122,7 @@ public class JDialogEULA extends javax.swing.JDialog