Skip to content

Commit

Permalink
Display owner on database list #129 [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
hmiguim committed Oct 14, 2019
1 parent 86c97e9 commit 2b44b77
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.databasepreservation.common.shared;

import com.databasepreservation.model.parameters.Parameter;
import org.roda.core.data.common.RodaConstants;
import org.roda.core.data.v2.index.filter.BasicSearchFilterParameter;
import org.roda.core.data.v2.index.filter.Filter;
Expand Down Expand Up @@ -278,6 +279,7 @@ public class ViewerConstants {
public static final String INPUT_TYPE_DEFAULT = "DEFAULT";
public static final String INPUT_TYPE_NONE = "NONE";
public static final String INPUT_TYPE_COMBOBOX = "COMBOBOX";
public static final String INPUT_TYPE_DRIVER = "DRIVER";

/*
* DBPTK SIARD formats
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ public void setPathLocation(String toDisplay, String tooltip) {
path.setVisible(true);
}

public String getPathLocation() {
return path.getTitle();
}

public void buttonAction(Command cmd) {
upload.addClickHandler(event -> {
cmd.execute();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@ public class ToolkitModuleName2ViewerModuleName {

public static String transform(String moduleName) {
switch (moduleName) {
case "dbml": return "DBML";
case "jdbc": return "JDBC";
case "microsoft-access": return "Microsoft Access";
case "mysql": return "MySQL";
case "progress-openedge": return "Progress OpenEdge";
case "progress-openedge": return "Progress Openedge";
case "oracle": return "Oracle";
case "postgresql": return "PostgreSQL";
case "microsoft-sql-server": return "SQL Server";
case "microsoft-sql-server": return "Microsoft SQL Server";
case "sybase": return "Sybase";
case ViewerConstants.SIARD1: return "SIARD 1";
case ViewerConstants.SIARD2: return "SIARD 2";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,15 @@ public SafeHtml getValue(ViewerDatabase database) {
}
};

Column<ViewerDatabase, SafeHtml> dataOwnerColumn = new TooltipDatabaseColumn() {
@Override
public SafeHtml getValue(ViewerDatabase database) {
return database != null && database.getMetadata() != null
? SafeHtmlUtils.fromString(database.getMetadata().getDataOwner())
: SafeHtmlUtils.fromString("unknown");
}
};

Column<ViewerDatabase, SafeHtml> archivalDateColumn = new TooltipDatabaseColumn() {
@Override
public SafeHtml getValue(ViewerDatabase database) {
Expand Down Expand Up @@ -145,6 +154,7 @@ public String getValue(ViewerDatabase object) {
// description.setSortable(true);

addColumn(nameColumn, messages.managePageTableHeaderTextForDatabaseName(), true, TextAlign.NONE, 15);
addColumn(dataOwnerColumn, messages.managePageTableHeaderTextForDataOwner(), true, TextAlign.NONE, 5);
addColumn(dbmsColumn, messages.managePageTableHeaderTextForProductName(), true, TextAlign.NONE, 10);
addColumn(archivalDateColumn, messages.managePageTableHeaderTextForArchivalDate(), true, TextAlign.NONE, 5);
addColumn(locationColumn, messages.managePageTableHeaderTextForSIARDLocation(), true, TextAlign.NONE, 8);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ public JDBCParameters getValues() {
}
}

for (Map.Entry<String, FileUploadField> entry : fileInputs.entrySet()) {
if (ViewerStringUtils.isNotBlank(entry.getValue().getPathLocation())) {
values.put(entry.getKey(), entry.getValue().getPathLocation());
}
}

parameters.setConnection(values);
if (ViewerStringUtils.isNotBlank(pathToDriver)) {
parameters.setDriver(true);
Expand Down Expand Up @@ -131,7 +137,45 @@ private void buildGenericWidget(PreservationParameter parameter) {
checkBoxInputs.put(parameter.getName(), checkbox);
genericField = GenericField.createInstance(checkbox);
break;
case ViewerConstants.INPUT_TYPE_FILE:
case ViewerConstants.INPUT_TYPE_FILE: {
FileUploadField fileUploadField = FileUploadField.createInstance(
messages.connectionPageLabelsFor(parameter.getName()), messages.connectionPageLabelForChooseFileLocation());
fileUploadField.setParentCSS("form-row");
fileUploadField.setLabelCSS("form-label-spaced");
fileUploadField.setButtonCSS("btn btn-link form-button form-button-jar");
fileUploadField.setRequired(parameter.isRequired());
fileUploadField.buttonAction(new Command() {
@Override
public void execute() {
if (ApplicationType.getType().equals(ViewerConstants.DESKTOP)) {
Filter mdb = new Filter("MS Access", Collections.singletonList("mdb"));
JavaScriptObject options = JSOUtils.getOpenDialogOptions(Collections.singletonList("openFile"),
Collections.singletonList(mdb));

String path = JavascriptUtils.openFileDialog(options);
if (path != null) {
String displayPath = PathUtils.getFileName(path);
fileUploadField.setPathLocation(displayPath, path);
fileUploadField.setInformationPathCSS("gwt-Label-disabled information-path");
}
}
}
});
fileInputs.put(parameter.getName(), fileUploadField);
FlowPanel helper = new FlowPanel();
helper.addStyleName("form-helper");
InlineHTML span = new InlineHTML();
span.addStyleName("form-text-helper text-muted");

span.setText(messages.connectionPageDescriptionsFor(parameter.getName()));
fileUploadField.addHelperText(span);
helper.add(fileUploadField);
helper.add(span);
content.add(helper);
break;

}
case ViewerConstants.INPUT_TYPE_DRIVER:
FileUploadField fileUploadField = FileUploadField.createInstance(messages.connectionPageLabelsFor(parameter.getName()), messages.connectionPageLabelForChooseDriverLocation());
fileUploadField.setParentCSS("form-row");
fileUploadField.setLabelCSS("form-label-spaced");
Expand All @@ -154,7 +198,6 @@ public void execute() {
}
}
});
fileInputs.put(parameter.getName(), fileUploadField);
FlowPanel helper = new FlowPanel();
helper.addStyleName("form-helper");
InlineHTML span = new InlineHTML();
Expand Down Expand Up @@ -228,7 +271,7 @@ private void selfValidator(TextBox input) {
public boolean validate(String type) {
ArrayList<PreservationParameter> arrayList = new ArrayList<>();
WizardManager wizardManager;
if(type.equals(ViewerConstants.UPLOAD_WIZARD_MANAGER)){
if (type.equals(ViewerConstants.UPLOAD_WIZARD_MANAGER)) {
wizardManager = CreateWizardManager.getInstance();
} else {
wizardManager = DBMSWizardManager.getInstance(databaseUUID);
Expand All @@ -245,7 +288,7 @@ public boolean validate(String type) {
wizardManager.enableNext(false);
}
}
if (parameter.getInputType().equals(ViewerConstants.INPUT_TYPE_FILE)) {
if (parameter.getInputType().equals(ViewerConstants.INPUT_TYPE_DRIVER)) {
if (ViewerStringUtils.isBlank(pathToDriver)) {
arrayList.add(parameter);
}
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/config/i18n/client/ClientMessages.java
Original file line number Diff line number Diff line change
Expand Up @@ -582,6 +582,8 @@ public interface ClientMessages extends Messages {

String managePageTableHeaderTextForDatabaseName();

String managePageTableHeaderTextForDataOwner();

String managePageTableHeaderTextForProductName();

String managePageTableHeaderTextForArchivalDate();
Expand Down Expand Up @@ -753,6 +755,8 @@ public interface ClientMessages extends Messages {

String connectionPageLabelForChooseDriverLocation();

String connectionPageLabelForChooseFileLocation();

String errorMessagesConnectionTitle();

String connectionPageErrorMessageFor(@Select int error);
Expand Down
10 changes: 9 additions & 1 deletion src/main/resources/config/i18n/client/ClientMessages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ homePageTextForDevelopedBy=Developed by
managePageButtonTextForCreateSIARD=Create SIARD File
managePageButtonTextForOpenSIARD=Open SIARD File
managePageTableHeaderTextForDatabaseName=Database name
managePageTableHeaderTextForDataOwner=Data Owner
managePageTableHeaderTextForProductName=Producer application
managePageTableHeaderTextForArchivalDate=Archival date
managePageTableHeaderTextForSIARDLocation=Location
Expand Down Expand Up @@ -411,35 +412,42 @@ connectionPageDescriptionForProxyPort=The port number remote server is listening
connectionPageDescriptionForProxyHost=The hostname of the remote server
connectionPageDescriptionForProxyPassword=The password of the remote user to use in the SSH connection
connectionPageLabelsFor=
connectionPageLabelsFor[file]=File
connectionPageLabelsFor[hostname]=Hostname
connectionPageLabelsFor[port-number]=Port number
connectionPageLabelsFor[username]=Username
connectionPageLabelsFor[password]=Password
connectionPageLabelsFor[ms-password]=Password
connectionPageLabelsFor[database]=Database
connectionPageLabelsFor[server-name]=Server name
connectionPageLabelsFor[driver]=Driver
connectionPageLabelsFor[connection]=Connection
connectionPageLabelsFor[class]=Driver class
connectionPageLabelsFor[use-integrated-login]=Use integrated login
connectionPageLabelsFor[disable-encryption]=Disable Encryption
connectionPageLabelsFor[instance-name]=Instance
connectionPageLabelsFor[instance]=Instance
connectionPageLabelsFor[accept-license]=Accept License
connectionPageLabelsFor[source-schema]=Source Schema
connectionPageDescriptionsFor=
connectionPageDescriptionsFor[file]=Location of the MS Access database
connectionPageDescriptionsFor[hostname]=The name of the database server host (e.g. localhost)
connectionPageDescriptionsFor[port-number]=The server port number
connectionPageDescriptionsFor[username]=The name of the user to use in connection
connectionPageDescriptionsFor[password]=The password of the user to use in connection
connectionPageDescriptionsFor[ms-password]=The password for the MS Access database
connectionPageDescriptionsFor[database]=The name of the database to connect
connectionPageDescriptionsFor[server-name]=The name (host name) of the server
connectionPageDescriptionsFor[driver]=The location to the JDBC driver (JAR format)
connectionPageDescriptionsFor[connection]=Connection
connectionPageDescriptionsFor[class]=The name of the JDBC driver class.
connectionPageDescriptionsFor[connection]=JDBC connection string for the JDBC driver
connectionPageDescriptionsFor[use-integrated-login]=Use Windows login
connectionPageDescriptionsFor[disable-encryption]=Use to turn off encryption in the connection
connectionPageDescriptionsFor[instance-name]=The name of the instance
connectionPageDescriptionsFor[instance]=The name of the instance to use in the connection
connectionPageDescriptionsFor[accept-license]=Declare that you accept OTN License Agreement
connectionPageLabelForChooseDriverLocation=choose the driver location
connectionPageLabelForChooseFileLocation=choose the file location
errorMessagesConnectionTitle=Connection
connectionPageErrorMessageFor=
connectionPageErrorMessageFor[1]=Mandatory fields missing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,7 @@ homePageTextForDevelopedBy=Desenvolvido por
managePageButtonTextForCreateSIARD=Criar ficheiro SIARD
managePageButtonTextForOpenSIARD=Abrir ficheiro SIARD
managePageTableHeaderTextForDatabaseName=Nome da base de dados
managePageTableHeaderTextForDataOwner=Proprietário dos dados
managePageTableHeaderTextForProductName=Bases de dados
managePageTableHeaderTextForArchivalDate=Data de arquivo
managePageTableHeaderTextForSIARDLocation=Localização
Expand Down Expand Up @@ -405,13 +406,16 @@ connectionPageDescriptionForProxyPort=O número da porta que o servidor remoto e
connectionPageDescriptionForProxyHost=O nome ou endereço do servidor remoto
connectionPageDescriptionForProxyPassword=A palavra-passe usada na ligação SSH para o respetivo utilizador
connectionPageLabelsFor=
connectionPageLabelsFor[file]=Ficheiro
connectionPageLabelsFor[hostname]=Nome do servidor
connectionPageLabelsFor[port-number]=Porta
connectionPageLabelsFor[username]=Utilizador
connectionPageLabelsFor[password]=Palavra-passe
connectionPageLabelsFor[ms-password]=Palavra-passe
connectionPageLabelsFor[database]=Base de dados
connectionPageLabelsFor[server-name]=Nome do servidor
connectionPageLabelsFor[driver]=Driver
connectionPageLabelsFor[class]=Classe
connectionPageLabelsFor[connection]=Ligação
connectionPageLabelsFor[use-integrated-login]=Usar autenticação integrada
connectionPageLabelsFor[disable-encryption]=Desabilitar encriptação
Expand All @@ -424,16 +428,19 @@ connectionPageDescriptionsFor[hostname]=O nome da servidor da base de dados (ex.
connectionPageDescriptionsFor[port-number]=O número da porta do servidor
connectionPageDescriptionsFor[username]=O nome do utilizador a usar na ligação
connectionPageDescriptionsFor[password]=A palavra-passe do utilizador a usar na ligação
connectionPageDescriptionsFor[ms-password]=A palavra-passe para a base de dados
connectionPageDescriptionsFor[database]=O nome da base de dados
connectionPageDescriptionsFor[server-name]=O nome do servidor
connectionPageDescriptionsFor[class]=O nome da classe do connector JDBC
connectionPageDescriptionsFor[driver]=A localização da driver JDBC (formato JAR)
connectionPageDescriptionsFor[connection]=Ligação
connectionPageDescriptionsFor[connection]=As propriedades de ligação
connectionPageDescriptionsFor[use-integrated-login]=Usar o login do Windows
connectionPageDescriptionsFor[disable-encryption]=Usar para desligar a encriptação da ligação
connectionPageDescriptionsFor[instance-name]=O nome da instância
connectionPageDescriptionsFor[instance]=O nome da instância
connectionPageDescriptionsFor[accept-license]=Declaro que aceito a licença OTN
connectionPageLabelForChooseDriverLocation=selecione a localização do conetor
connectionPageLabelForChooseFileLocation=selecione a localização do ficheiro
errorMessagesConnectionTitle=Ligação
connectionPageErrorMessageFor=
connectionPageErrorMessageFor[1]=Preencha todos os campos obrigatórios
Expand Down

0 comments on commit 2b44b77

Please sign in to comment.