import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
+import eu.etaxonomy.cdm.common.CdmUtils;
+import eu.etaxonomy.cdm.config.ICdmSource;
import eu.etaxonomy.cdm.test.integration.SecurityExceptionUtils;
+import eu.etaxonomy.taxeditor.remoting.source.CdmRemoteSource;
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
public final static String CONTACT_MESSAGE = System.getProperty("line.separator") + "Please contact EDIT Support (EditSupport@bgbm.org) with the error trace below (click on the 'Details' button).";
public final static String DEFAULT_MESSAGE = "Error thrown but no associated message";
public final static String CONNECTION_FAILURE_MESSAGE = "The connection to the remote server has been broken";
- public final static String REMOTE_ACCESS_FAILURE_MESSAGE = "Problem accessing remote server";
+ public final static String REMOTE_ACCESS_FAILURE_MESSAGE = "Maybe the server is currently not available. If the problem persists please contact the server admin with the error trace below.";
+ public static final String WIDGET_IS_DISPOSED_MESSAGE = "A widget was called, which was already disposed";
/**
* Gets the Log4J logger for a given class
public static List<String> getContextInfo() {
List<String> contextInfo = new ArrayList<String>();
String name = "";
+ String contextPath = "";
String schemaVersion = "";
String server = "";
String version = "";
try {
version = Platform.getBundle("eu.etaxonomy.taxeditor.application").getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
- if(CdmStore.getActiveCdmSource() != null ) {
+ ICdmSource activeCdmSource = CdmStore.getActiveCdmSource();
+ if(activeCdmSource != null ) {
login = CdmStore.getLoginManager().getAuthenticatedUser().getUsername();
- name = CdmStore.getActiveCdmSource().getName();
- schemaVersion = CdmStore.getActiveCdmSource().getDbSchemaVersion();
- server = CdmStore.getActiveCdmSource().getServer();
+ name = activeCdmSource.getName();
+ schemaVersion = activeCdmSource.getDbSchemaVersion();
+ server = activeCdmSource.getServer();
+ if(activeCdmSource instanceof CdmRemoteSource){
+ contextPath = ((CdmRemoteSource) activeCdmSource).getContextPath();
+ if (contextPath != null && contextPath.startsWith("cdmserver/")){
+ contextPath = contextPath.substring("cdmserver/".length());
+ }
+ }
}
} catch (Exception e) {
}
contextInfo.add("login : " + login);
contextInfo.add("editor version : " + version);
- contextInfo.add("server : " + server + " / " + name);
+ contextInfo.add("server : " + server + " (" + name + ")" + (CdmUtils.isNotBlank(contextPath)?" / "+contextPath:""));
contextInfo.add("schema version : " + schemaVersion);
contextInfo.add("os : " + System.getProperty("os.name")+" "+System.getProperty("os.version")+" "+System.getProperty("os.arch"));
contextInfo.add("java : "+System.getProperty("java.version"));
warningDialog(title, source, String.format("You are missing sufficient permissions for the operation \"%s\". %s", operationlabel, hint));
} else {
title = "Error executing operation";
- errorDialog(title, source, String.format("An error occured while executing %s. %s", operationlabel, hint), pluginId, ex, true);
+ errorDialog(title, source, String.format("An error occurred while executing %s. %s", operationlabel, hint), pluginId, ex, true);
}
return MessageDialog.openQuestion(AbstractUtility.getShell(), title, message);
}
+ public static int confirmDialog(String title, String message, String...labels){
+ MessageDialog dialog =new MessageDialog(AbstractUtility.getShell(), title, null, message, MessageDialog.QUESTION,labels, 0);
+ int result = dialog.open();
+ return result;
+ }
+
/**
* Displays a message {@link org.eclipse.jface.dialogs.MessageDialog}.
*
+ "connected to a datasource. You may choose a datasource to connect to or create a new one in the datasource view.");
}
+ /**
+ * Standard warning dialog for the case when the datasource is not available
+ *
+ * @param source
+ */
+ public static void dataSourceNotAvailableWarningDialog(Object source) {
+ MessagingUtils
+ .warningDialog(
+ "The datasource is not available",
+ source,
+ "The editor is not connected to a datasource. Maybe the datasource is not available.");
+ }
+
+
/**
* Displays a warning {@link org.eclipse.jface.dialogs.MessageDialog}.
*