1 package org
.argeo
.slc
.client
.ui
.dist
.views
;
3 import org
.argeo
.slc
.SlcNames
;
4 import org
.argeo
.slc
.client
.ui
.dist
.DistPlugin
;
5 import org
.eclipse
.swt
.SWT
;
6 import org
.eclipse
.swt
.custom
.SashForm
;
7 import org
.eclipse
.swt
.layout
.FillLayout
;
8 import org
.eclipse
.swt
.layout
.GridData
;
9 import org
.eclipse
.swt
.layout
.GridLayout
;
10 import org
.eclipse
.swt
.widgets
.Button
;
11 import org
.eclipse
.swt
.widgets
.Composite
;
12 import org
.eclipse
.swt
.widgets
.Event
;
13 import org
.eclipse
.swt
.widgets
.Label
;
14 import org
.eclipse
.swt
.widgets
.Listener
;
15 import org
.eclipse
.swt
.widgets
.Text
;
17 /** Query SLC Repo to get some artifacts with a JCR SQL 2 request. */
18 public class QueryArtifactsText
extends AbstractQueryArtifactsView
implements
20 // private static final Log log =
21 // LogFactory.getLog(QueryArtifactsText.class);
22 public static final String ID
= DistPlugin
.PLUGIN_ID
+ ".queryArtifactsText";
25 private Button executeBtn
;
26 private Text queryText
;
27 private SashForm sashForm
;
29 private Composite top
, bottom
;
32 public void createPartControl(Composite parent
) {
34 sashForm
= new SashForm(parent
, SWT
.VERTICAL
);
35 sashForm
.setSashWidth(4);
36 // Enable the different parts to fill the whole page when the tab is
38 sashForm
.setLayout(new FillLayout());
40 top
= new Composite(sashForm
, SWT
.NONE
);
41 top
.setLayout(new GridLayout(1, false));
43 bottom
= new Composite(sashForm
, SWT
.NONE
);
44 bottom
.setLayout(new GridLayout(1, false));
46 sashForm
.setWeights(new int[] { 25, 75 });
49 createResultPart(bottom
);
52 public void createQueryForm(Composite parent
) {
56 GridLayout gl
= new GridLayout(2, false);
60 lbl
= new Label(parent
, SWT
.SINGLE
);
61 lbl
.setText("Enter a JCR:SQL2 Query");
63 executeBtn
= new Button(parent
, SWT
.PUSH
);
64 executeBtn
.setText("Search");
66 queryText
= new Text(parent
, SWT
.MULTI
| SWT
.WRAP
| SWT
.BORDER
);
67 gd
= new GridData(GridData
.FILL_HORIZONTAL
);
68 gd
.grabExcessHorizontalSpace
= true;
70 gd
.horizontalSpan
= 2;
71 queryText
.setLayoutData(gd
);
73 String query
= generateSelectStatement() + generateFromStatement()
74 + generateWhereStatement();
75 queryText
.setText(query
);
77 Listener executeListener
= new Listener() {
78 private static final long serialVersionUID
= -5028331930076117569L;
80 public void handleEvent(Event event
) {
84 executeBtn
.addListener(SWT
.Selection
, executeListener
);
87 public void refreshQuery() {
88 String queryStr
= queryText
.getText();
89 executeQuery(queryStr
);
94 private String
generateWhereStatement() {
95 StringBuffer sb
= new StringBuffer(" where ");
100 public void setFocus() {
101 executeBtn
.setFocus();