+++ /dev/null
-package org.argeo.slc.client.ui.dist.views;
-
-import org.argeo.slc.SlcException;
-import org.argeo.slc.SlcNames;
-import org.argeo.slc.client.ui.dist.DistPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-
-/** Query SLC Repo to get some artifacts given some predefined parameters */
-public class QueryArtifactsForm extends AbstractQueryArtifactsView implements
- SlcNames {
- // private static final Log log = LogFactory.getLog(QueryArtifactsForm.class);
- public static final String ID = DistPlugin.PLUGIN_ID + ".queryArtifactsForm";
-
- // widgets
- private Button executeBtn;
- private Text groupId;
- private Text artifactId;
- private Text version;
- private SashForm sashForm;
-
- private Composite top, bottom;
-
- @Override
- public void createPartControl(Composite parent) {
-
- sashForm = new SashForm(parent, SWT.VERTICAL);
- sashForm.setSashWidth(4);
- // Enable the different parts to fill the whole page when the tab is
- // maximized
- sashForm.setLayout(new FillLayout());
-
- top = new Composite(sashForm, SWT.NONE);
- top.setLayout(new GridLayout(1, false));
-
- bottom = new Composite(sashForm, SWT.NONE);
- bottom.setLayout(new GridLayout(1, false));
-
- sashForm.setWeights(new int[] { 25, 75 });
-
- createQueryForm(top);
- createResultPart(bottom);
- }
-
- public void createQueryForm(Composite parent) {
- Label lbl;
- GridData gd;
-
- GridLayout gl = new GridLayout(2, false);
- gl.marginTop = 5;
- parent.setLayout(gl);
-
- // lbl = new Label(parent, SWT.SINGLE);
- // lbl.setText("Query by coordinates");
- // gd = new GridData();
- // gd.horizontalSpan = 2;
- // lbl.setLayoutData(gd);
-
- // Group ID
- lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Group ID");
- groupId = new Text(parent, SWT.SINGLE | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.grabExcessHorizontalSpace = true;
- groupId.setLayoutData(gd);
-
- // Artifact ID
- lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Artifact ID");
- artifactId = new Text(parent, SWT.SINGLE | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.grabExcessHorizontalSpace = true;
- artifactId.setLayoutData(gd);
-
- // Version
- lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Version");
- version = new Text(parent, SWT.SINGLE | SWT.BORDER);
- gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.grabExcessHorizontalSpace = true;
- version.setLayoutData(gd);
-
- executeBtn = new Button(parent, SWT.PUSH);
- executeBtn.setText("Search");
- gd = new GridData();
- gd.horizontalSpan = 2;
- executeBtn.setLayoutData(gd);
-
- Listener executeListener = new Listener() {
- private static final long serialVersionUID = 7161585477628774129L;
-
- public void handleEvent(Event event) {
- refreshQuery();
- }
- };
- executeBtn.addListener(SWT.Selection, executeListener);
- }
-
- public void refreshQuery() {
- String queryStr = generateSelectStatement() + generateFromStatement()
- + generateWhereStatement();
- executeQuery(queryStr);
- bottom.layout();
- sashForm.layout();
- }
-
- private String generateWhereStatement() {
- try {
- boolean hasFirstClause = false;
- StringBuffer sb = new StringBuffer(" where ");
-
- if (groupId.getText() != null
- && !groupId.getText().trim().equals("")) {
- sb.append("[" + SLC_GROUP_ID + "] like '"
- + groupId.getText().replace('*', '%') + "'");
- hasFirstClause = true;
- }
-
- if (artifactId.getText() != null
- && !artifactId.getText().trim().equals("")) {
- if (hasFirstClause)
- sb.append(" AND ");
- sb.append("[" + SLC_ARTIFACT_ID + "] like '"
- + artifactId.getText().replace('*', '%') + "'");
- hasFirstClause = true;
- }
-
- if (version.getText() != null
- && !version.getText().trim().equals("")) {
- if (hasFirstClause)
- sb.append(" AND ");
- sb.append("[" + SLC_ARTIFACT_VERSION + "] like '"
- + version.getText().replace('*', '%') + "'");
- }
-
- return sb.toString();
- } catch (Exception e) {
- throw new SlcException(
- "Cannot generate where statement to get artifacts", e);
- }
- }
-
- @Override
- public void setFocus() {
- executeBtn.setFocus();
- }
-}
\ No newline at end of file