]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/ConnectorAliasEditor.java
JDBC, SSH command (+ pseudo file retrieval) and keyring
[gpl/argeo-slc.git] / plugins / org.argeo.slc.akb.ui / src / main / java / org / argeo / slc / akb / ui / editors / ConnectorAliasEditor.java
index b272a38f4763dac331a799ecd7739d7a56b5601b..a69fdcf3a5078cec7abaa22d7db374f331cc4024 100644 (file)
@@ -3,6 +3,7 @@ package org.argeo.slc.akb.ui.editors;
 import javax.jcr.Property;
 import javax.jcr.RepositoryException;
 
+import org.argeo.eclipse.ui.ErrorFeedback;
 import org.argeo.slc.akb.AkbException;
 import org.argeo.slc.akb.AkbNames;
 import org.argeo.slc.akb.AkbTypes;
@@ -106,7 +107,7 @@ public class ConnectorAliasEditor extends AbstractAkbNodeEditor {
                        public void modifyText(ModifyEvent event) {
 
                                try { // TODO enhance this
-                                       // retrieve old and new node type
+                                               // retrieve old and new node type
                                        int oldIndex = getCurrTypeIndex();
                                        int selIndex = typeCmb.getSelectionIndex();
 
@@ -158,12 +159,16 @@ public class ConnectorAliasEditor extends AbstractAkbNodeEditor {
 
                Composite firstLine = getToolkit().createComposite(group);
                firstLine.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-               firstLine.setLayout(new GridLayout(3, false));
+               firstLine.setLayout(new GridLayout(2, false));
 
                getToolkit().createLabel(firstLine, "URL");
                final Text urlTxt = getToolkit().createText(firstLine, "", SWT.BORDER);
                urlTxt.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
 
+               getToolkit().createLabel(firstLine, "User");
+               final Text userTxt = getToolkit().createText(firstLine, "", SWT.BORDER);
+               userTxt.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+
                final Button testBtn = getToolkit().createButton(firstLine,
                                "Test connection", SWT.PUSH);
                // testBtn.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, false,
@@ -176,17 +181,27 @@ public class ConnectorAliasEditor extends AbstractAkbNodeEditor {
                                // update display value
                                AkbUiUtils.refreshFormTextWidget(urlTxt, getAkbNode(),
                                                AkbNames.AKB_CONNECTOR_URL);
+                               AkbUiUtils.refreshFormTextWidget(userTxt, getAkbNode(),
+                                               AkbNames.AKB_CONNECTOR_USER);
                        }
                };
                // Listeners
                AkbUiUtils.addTextModifyListener(urlTxt, getAkbNode(),
                                AkbNames.AKB_CONNECTOR_URL, part);
+               AkbUiUtils.addTextModifyListener(userTxt, getAkbNode(),
+                               AkbNames.AKB_CONNECTOR_USER, part);
 
                testBtn.addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(SelectionEvent e) {
-                               boolean testSuccesfull = getAkbService().testConnector(
-                                               getAkbNode());
+                               boolean testSuccesfull;
+                               try {
+                                       testSuccesfull = getAkbService()
+                                                       .testConnector(getAkbNode());
+                               } catch (Exception e1) {
+                                       testSuccesfull = false;
+                                       ErrorFeedback.show("Cannot test connection", e1);
+                               }
 
                                String name = AkbJcrUtils.get(getAkbNode(), Property.JCR_TITLE);
                                String url = AkbJcrUtils.get(getAkbNode(),