Commit 0214d711 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Refactoring; Changed schema editor layout

parent 37fef94d
Loading
Loading
Loading
Loading
+40 −54
Original line number Diff line number Diff line
@@ -65,8 +65,8 @@ public class AjaxTextField extends TextField {
                if (idSplit.length == 2) //if schema TextField
                {
                    //gets current SchemaPanel
                    SchemaPanel schemaPanel =
                            (SchemaPanel)schemaPage.schemataTabbedPanel
                    SchemaPanelOld schemaPanel =
                            (SchemaPanelOld)schemaPage.schemataTabbedPanel
                            .get("panel");
                    
                    //sets selectSchemaCheckBox
@@ -110,8 +110,8 @@ public class AjaxTextField extends TextField {
                else if (idSplit.length == 3) //if table TextField
                {
                    //gets current SchemaPanel and TablePanel
                    SchemaPanel schemaPanel =
                            (SchemaPanel)schemaPage.schemataTabbedPanel
                    SchemaPanelOld schemaPanel =
                            (SchemaPanelOld)schemaPage.schemataTabbedPanel
                            .get("panel");
                    TablePanel tablePanel =
                            (TablePanel)schemaPanel.tablesTabbedPanel
@@ -190,17 +190,16 @@ public class AjaxTextField extends TextField {
                    List<Column> columnsList = new ArrayList<Column>();
                    for (Column column : schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.values())
                                .getColumns())
                    {
                        columnsList.add(column);
                    }
                    int columnIndex = 0;
                    for (int i = 0; i < columnsList.size(); i++)
                    {
                        if (columnsList.get(i).column_name.equals(
                                schemaPage.tapschema.schemasMap.get(idSplit[0])
                        if (columnsList.get(i).getColumnName().equals(schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2]).column_name))
                                .getColumn(idSplit[2]).getColumnName()))
                        {
                            columnIndex = i;
                            break;
@@ -208,8 +207,8 @@ public class AjaxTextField extends TextField {
                    }
                    
                    //gets current SchemaPanel, TablePanel, DataGridView
                    SchemaPanel schemaPanel =
                            (SchemaPanel)schemaPage.schemataTabbedPanel
                    SchemaPanelOld schemaPanel =
                            (SchemaPanelOld)schemaPage.schemataTabbedPanel
                            .get("panel");
                    TablePanel tablePanel =
                            (TablePanel)schemaPanel.tablesTabbedPanel
@@ -291,13 +290,12 @@ public class AjaxTextField extends TextField {
                    //sets variable "checked" in the correct column of tapschema structure
                    for (Column column : schemaPage.tapschema.schemasMap.get(idSplit[0])
                            .tablesMap.get(idSplit[1])
                            .columnsMap.values())
                            .getColumns())
                    {
                        if (column.column_name.equals(
                                schemaPage.tapschema.schemasMap.get(idSplit[0])
                        if (column.getColumnName().equals(schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .column_name))
                                .getColumn(idSplit[2])
                                .getColumnName()))
                        {
                            column.checked = true;
                        }
@@ -319,25 +317,22 @@ public class AjaxTextField extends TextField {
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .table_name
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setTableName((String)getModelObject());
                    }
                    else if (idSplit[3].equals("column_name"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .column_name
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setColumnName((String)getModelObject());
                    }
                    else if (idSplit[3].equals("utype"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .utype
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setUtype((String)getModelObject());
                        /*
                        //update tooltip
                        AjaxTextField cell = (AjaxTextField)cells.get(5).get("cell");
@@ -363,9 +358,8 @@ public class AjaxTextField extends TextField {
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .ucd
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setUcd((String)getModelObject());
                        /*
                        //update tooltip
                        AjaxTextField cell = (AjaxTextField)cells.get(6).get("cell");
@@ -378,9 +372,8 @@ public class AjaxTextField extends TextField {
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .unit
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setUcd((String)getModelObject());
                        /*
                        //update tooltip
                        AjaxTextField cell = (AjaxTextField)cells.get(7).get("cell");
@@ -393,9 +386,8 @@ public class AjaxTextField extends TextField {
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .description
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setDescription((String)getModelObject());
                        /*
                        //update tooltip
                        AjaxTextField cell = (AjaxTextField)cells.get(8).get("cell");
@@ -408,41 +400,36 @@ public class AjaxTextField extends TextField {
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .datatype
                                = (String)getModelObject();
                                .getColumn(idSplit[2])
                                .setDatatype((String)getModelObject());
                    }
                    else if (idSplit[3].equals("size"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .size
                                = (Integer)getModelObject();
                                .getColumn(idSplit[2])
                                .setSize((Integer)getModelObject());
                    }
                    else if (idSplit[3].equals("principal"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .principal
                                = (Integer)getModelObject();
                                .getColumn(idSplit[2])
                                .setPrincipal((Integer)getModelObject());
                    }
                    else if (idSplit[3].equals("indexed"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .indexed
                                = (Integer)getModelObject();
                                .getColumn(idSplit[2])
                                .setIndexed((Integer)getModelObject());
                    }
                    else if (idSplit[3].equals("std"))
                    {
                        schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2])
                                .std
                                = (Integer)getModelObject();
                                .getColumn(idSplit[2])
                                .setStd((Integer)getModelObject());
                    }
                    //end setting variables
                } //if length
@@ -471,17 +458,16 @@ public class AjaxTextField extends TextField {
                    List<Column> columnsList = new ArrayList<Column>();
                    for (Column column : schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.values())
                                .getColumns())
                    {
                        columnsList.add(column);
                    }
                    int columnIndex = 0;
                    for (int i = 0; i < columnsList.size(); i++)
                    {
                        if (columnsList.get(i).column_name.equals(
                                schemaPage.tapschema.schemasMap.get(idSplit[0])
                        if (columnsList.get(i).getColumnName().equals(schemaPage.tapschema.schemasMap.get(idSplit[0])
                                .tablesMap.get(idSplit[1])
                                .columnsMap.get(idSplit[2]).column_name))
                                .getColumn(idSplit[2]).getColumnName()))
                        {
                            columnIndex = i;
                            break;
@@ -489,8 +475,8 @@ public class AjaxTextField extends TextField {
                    }
                    
                    //gets current SchemaPanel, TablePanel, DataGridView
                    SchemaPanel schemaPanel =
                            (SchemaPanel)schemaPage.schemataTabbedPanel
                    SchemaPanelOld schemaPanel =
                            (SchemaPanelOld)schemaPage.schemataTabbedPanel
                            .get("panel");
                    TablePanel tablePanel =
                            (TablePanel)schemaPanel.tablesTabbedPanel
+11 −0
Original line number Diff line number Diff line
package it.inaf.oats.ia2.tap.utils;

/**
 *
 * @author Sonia Zorba <zorba at oats.inaf.it>
 */
public enum AlertType {
    INFO,
    ERROR,
    WARNING
}
+10 −1
Original line number Diff line number Diff line
@@ -5,7 +5,11 @@
        <meta name="description" content="Put your description here!" /> 
    <wicket:head> 
        <wicket:link> 
            <!--<script src="js/jquery.min.js"></script>
            <script src="js/bootstrap.min.js"></script>-->
            <script src="js/main.js"></script>
            <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/> 
            <link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css"/> 
            <link rel="stylesheet" type="text/css" href="css/style.css"/> 
        </wicket:link> 
    </wicket:head> 
@@ -17,7 +21,12 @@
    </div>
    <section class="content_container"> 
        <br/>
        <textarea wicket:id="infoTextArea" rows="8" cols="50" class="form-control"></textarea>
        <div wicket:id="alertPanel" id="info-panel">
            <div class="alert" role="alert" wicket:id="alert">
                <a class="close" wicket:id="close">&times;</a>
                <span wicket:id="message"></span>
            </div>
        </div>
        <br/><br/>
        <wicket:child/> 
    </section> 
+81 −16
Original line number Diff line number Diff line
package it.inaf.oats.ia2.tap.utils;

import java.io.Serializable;
import java.util.ArrayList;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.GenericPanel;
import org.apache.wicket.model.Model;

/**
@@ -13,23 +23,25 @@ import org.apache.wicket.model.Model;
 */
public abstract class BasePage extends WebPage {

    private final TextArea infoTextArea;
    private final Label titleLabel;
    private final String title;
    private final WebMarkupContainer alertPanel;

    public BasePage(String title) {
        super();
    private final ArrayList<Alert> alerts;

    class Alert implements Serializable {

        final String message;
        final AlertType type;

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace(System.err);
        Alert(String message, AlertType type) {
            this.message = message;
            this.type = type;
        }
    }

        infoTextArea = new TextArea("infoTextArea", Model.of(""));
        infoTextArea.setOutputMarkupPlaceholderTag(true);
        infoTextArea.setEnabled(false);
        add(infoTextArea);
    public BasePage(String title) {
        super();

        this.title = title;
        titleLabel = new Label("titleLabel", new Model<String>() {
@@ -39,13 +51,66 @@ public abstract class BasePage extends WebPage {
            }
        });
        add(titleLabel);

        alertPanel = new WebMarkupContainer("alertPanel");
        alertPanel.add(new Behavior() {
            @Override
            public void onConfigure(Component component) {
                component.setVisible(alerts.size() > 0);
            }
        });
        alertPanel.setOutputMarkupPlaceholderTag(true);
        add(alertPanel);

        alerts = new ArrayList<Alert>();
        alertPanel.add(new ListView<Alert>("alert", alerts) {
            @Override
            protected void populateItem(final ListItem<Alert> item) {
                Alert alert = item.getModelObject();

                item.add(new Label("message", alert.message));

                String css = null;
                switch (alert.type) {
                    case INFO:
                        css = "success";
                        break;
                    case ERROR:
                        css = "danger";
                        break;
                    case WARNING:
                        css = "warning";
                        break;
                }
                item.add(new AttributeAppender("class", Model.of("alert-" + css), " "));

                item.add(new AjaxFallbackLink("close") {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        alerts.remove(item.getIndex());
                        target.add(alertPanel);
                    }
                });
            }
        });
    }

    protected void addInfo(String message) {
        alerts.add(new Alert(message, AlertType.INFO));
    }

    protected void addInfo(String info) {
        infoTextArea.setModelObject((String) infoTextArea.getModelObject() + "\n" + info);
    protected void addInfo(String message, AjaxRequestTarget target) {
        addInfo(message);
        target.add(alertPanel);
    }
    protected void addInfo(String info, AjaxRequestTarget target) {
        addInfo(info);
        target.add(infoTextArea);

    protected void addError(String message) {
        alerts.add(new Alert(message, AlertType.ERROR));
    }

    protected void addError(String message, AjaxRequestTarget target) {
        addError(message);
        target.add(alertPanel);
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ public class CredentialPage extends BasePage {
                            = new SelectSchemataPage(credentials, connection);
                    setResponsePage(selectSchemataPage);
                } catch (SQLException exception) {
                    addInfo("Exception occurred in submitting credentials: " + (String) exception.getMessage());
                    addError("Exception occurred in submitting credentials: " + (String) exception.getMessage());
                } finally {
                    try {
                        connection.close();
@@ -65,7 +65,7 @@ public class CredentialPage extends BasePage {
            @Override
            protected void onError() {
                super.onError();
                addInfo("Error occurred in submitting form");
                addError("Error occurred in submitting form");
            }

        };
Loading