1 package org
.argeo
.slc
.akb
.ui
.composites
;
4 import javax
.jcr
.Property
;
5 import javax
.jcr
.RepositoryException
;
7 import org
.argeo
.eclipse
.ui
.utils
.CommandUtils
;
8 import org
.argeo
.slc
.akb
.AkbException
;
9 import org
.argeo
.slc
.akb
.AkbNames
;
10 import org
.argeo
.slc
.akb
.AkbService
;
11 import org
.argeo
.slc
.akb
.ui
.commands
.ForceRefresh
;
12 import org
.argeo
.slc
.akb
.ui
.wizards
.ActiveConnectorWizard
;
13 import org
.argeo
.slc
.akb
.utils
.AkbJcrUtils
;
14 import org
.eclipse
.jface
.wizard
.WizardDialog
;
15 import org
.eclipse
.swt
.SWT
;
16 import org
.eclipse
.swt
.events
.SelectionAdapter
;
17 import org
.eclipse
.swt
.events
.SelectionEvent
;
18 import org
.eclipse
.swt
.layout
.GridData
;
19 import org
.eclipse
.swt
.layout
.GridLayout
;
20 import org
.eclipse
.swt
.widgets
.Composite
;
21 import org
.eclipse
.swt
.widgets
.Label
;
22 import org
.eclipse
.swt
.widgets
.Link
;
23 import org
.eclipse
.ui
.forms
.AbstractFormPart
;
24 import org
.eclipse
.ui
.forms
.IManagedForm
;
25 import org
.eclipse
.ui
.forms
.widgets
.FormToolkit
;
27 public class ActiveItemHeaderComposite
extends Composite
{
29 private final AkbService akbService
;
30 private final Node envNode
;
31 private final Node itemNode
;
32 private final FormToolkit toolkit
;
33 private final IManagedForm form
;
34 // Don't forget to unregister on dispose
35 private AbstractFormPart formPart
;
47 public ActiveItemHeaderComposite(Composite parent
, int style
,
48 FormToolkit toolkit
, IManagedForm form
, Node envNode
,
49 Node itemNode
, AkbService akbService
) {
51 this.envNode
= envNode
;
52 this.itemNode
= itemNode
;
53 this.toolkit
= toolkit
;
55 this.akbService
= akbService
;
60 private void populate() {
62 Composite parent
= this;
64 parent
.setLayout(new GridLayout(3, false));
66 final Label envLbl
= toolkit
.createLabel(parent
, "");
68 final Link editActiveConnLk
= new Link(parent
, SWT
.NONE
);
69 toolkit
.adapt(editActiveConnLk
, false, false);
70 editActiveConnLk
.setText("<a>Edit Connector</a>");
71 editActiveConnLk
.setLayoutData(new GridData(SWT
.RIGHT
, SWT
.TOP
, true,
74 final Link refreshLk
= new Link(parent
, SWT
.NONE
);
75 toolkit
.adapt(refreshLk
, false, false);
76 refreshLk
.setText("<a>Refresh</a>");
78 new Label(parent
, SWT
.SEPARATOR
| SWT
.SHADOW_OUT
| SWT
.HORIZONTAL
)
79 .setLayoutData(new GridData(SWT
.FILL
, SWT
.FILL
, false, false,
83 final AbstractFormPart part
= new AbstractFormPart() {
84 public void refresh() {
86 // update display value
87 envLbl
.setText("Environment: "
88 + AkbJcrUtils
.get(envNode
, Property
.JCR_TITLE
)
90 + AkbJcrUtils
.get(itemNode
, Property
.JCR_TITLE
));
92 // Node activeConnector =
93 // akbService.getActiveConnectorByAlias(envNode,
94 // AkbJcrUtils.get(itemNode,
95 // AkbNames.AKB_CONNECTOR_ALIAS_PATH));
97 // (AkbJcrUtils.isEmptyString(AkbJcrUtils.get(activeConnector,
98 // AkbNames.AKB_CONNECTOR_URL)))
99 // conLbl.setImage(SWT.);
104 editActiveConnLk
.addSelectionListener(new SelectionAdapter() {
106 public void widgetSelected(final SelectionEvent event
) {
108 String pathId
= AkbJcrUtils
.get(itemNode
,
109 AkbNames
.AKB_USED_CONNECTOR
);
111 Node activeConnector
= akbService
112 .getActiveConnectorByAlias(envNode
, pathId
);
114 ActiveConnectorWizard wizard
= new ActiveConnectorWizard(
115 akbService
, activeConnector
);
116 WizardDialog dialog
= new WizardDialog(getShell(), wizard
);
119 // String id = AkbJcrUtils
120 // .getIdentifierQuietly(activeConnector);
121 // Map<String, String> params = new HashMap<String,
123 // params.put(OpenAkbNodeEditor.PARAM_NODE_JCR_ID, id);
124 // params.put(OpenAkbNodeEditor.PARAM_CURR_ENV_JCR_ID,
125 // AkbJcrUtils.getIdentifierQuietly(envNode));
127 // CommandUtils.callCommand(OpenAkbNodeEditor.ID, params);
128 } catch (RepositoryException e
) {
129 throw new AkbException("Error opening active connector", e
);
134 refreshLk
.addSelectionListener(new SelectionAdapter() {
136 public void widgetSelected(final SelectionEvent event
) {
137 CommandUtils
.callCommand(ForceRefresh
.ID
);
144 public boolean setFocus() {
148 protected void disposePart(AbstractFormPart part
) {
150 form
.removePart(part
);
156 public void dispose() {
157 disposePart(formPart
);