+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.argeo.slc.client.ui.dist.views;
import org.apache.commons.logging.Log;
import org.argeo.ArgeoException;
import org.argeo.slc.client.ui.dist.DistPlugin;
import org.argeo.slc.jcr.SlcNames;
+import org.argeo.slc.jcr.SlcTypes;
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;
/** Query SLC Repo to get some artifacts given some predefined parameters */
public class QueryBundlesForm extends AbstractQueryArtifactsView implements
- SlcNames {
+ SlcNames, SlcTypes {
private static final Log log = LogFactory.getLog(QueryBundlesForm.class);
public static final String ID = DistPlugin.ID + ".queryBundlesForm";
private Text exportedPackage;
private SashForm sashForm;
- // shortcuts
- final static String SBA = "sba";
- final static String SIP = "sip";
- final static String SEP = "sep";
-
private Composite top, bottom;
@Override
sashForm = new SashForm(parent, SWT.VERTICAL);
sashForm.setSashWidth(4);
- sashForm.setLayout(new GridLayout(1, false));
+ // 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));
// Bundle Name
lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Bundle name: ");
+ lbl.setText("Symbolic name");
symbolicName = new Text(parent, SWT.SINGLE | SWT.BORDER);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.grabExcessHorizontalSpace = true;
+ symbolicName.setLayoutData(gd);
// imported package
lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Imported package: ");
+ lbl.setText("Imported package");
importedPackage = new Text(parent, SWT.SINGLE | SWT.BORDER);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.grabExcessHorizontalSpace = true;
+ importedPackage.setLayoutData(gd);
// exported package
lbl = new Label(parent, SWT.SINGLE);
- lbl.setText("Exported package: ");
+ lbl.setText("Exported package");
exportedPackage = new Text(parent, SWT.SINGLE | SWT.BORDER);
+ gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.grabExcessHorizontalSpace = true;
+ exportedPackage.setLayoutData(gd);
executeBtn = new Button(parent, SWT.PUSH);
executeBtn.setText("Search");
StringBuffer sb = new StringBuffer();
// Select
- sb.append("select " + SBA + ".* ");
- if (ipClause)
- sb.append(", " + SIP + ".* ");
- if (epClause)
- sb.append(", " + SEP + ".* ");
-
- sb.append(" from [");
- sb.append(SLC_BUNDLE_ARTIFACT);
- sb.append("] as " + SBA + " ");
+ sb.append("select " + SBA + ".*, " + SAVB + ".* ");
+ sb.append(" from " + SAVB);
// join
+ sb.append(" inner join ");
+ sb.append(SBA);
+ sb.append(" on isdescendantnode(" + SBA + ", " + SAVB + ") ");
if (ipClause) {
- sb.append(" inner join [");
- sb.append(SLC_IMPORTED_PACKAGE);
- sb.append("] as " + SIP + " on isdescendantnode(" + SIP + ", "
- + SBA + ") ");
+ sb.append(" inner join ");
+ sb.append(SIP);
+ sb.append(" on isdescendantnode(" + SIP + ", " + SBA + ") ");
}
if (epClause) {
- sb.append(" inner join [");
- sb.append(SLC_EXPORTED_PACKAGE);
- sb.append("] as " + SEP + " on isdescendantnode(" + SEP + ", "
- + SBA + ") ");
+ sb.append(" inner join ");
+ sb.append(SEP);
+ sb.append(" on isdescendantnode(" + SEP + ", " + SBA + ") ");
}
// where
sb.append(" where ");
if (symbolicName.getText() != null
&& !symbolicName.getText().trim().equals("")) {
- sb.append("sba.[" + SLC_SYMBOLIC_NAME + "] like '"
+ sb.append(SBA + ".[" + SLC_SYMBOLIC_NAME + "] like '"
+ symbolicName.getText().replace('*', '%') + "'");
hasFirstClause = true;
}
sb.append(SEP + ".[" + SLC_NAME + "] like '"
+ exportedPackage.getText().replace('*', '%') + "'");
}
-
- if (log.isDebugEnabled())
- log.debug("Statement : " + sb.toString());
-
return sb.toString();
} catch (Exception e) {
throw new ArgeoException(