+/*
+ * 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 + ".queryArtifactsForm";
+ public static final String ID = DistPlugin.ID + ".queryBundlesForm";
// widgets
private Button executeBtn;
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 p.* ");
+ 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(" from [");
- sb.append(SLC_BUNDLE_ARTIFACT);
- sb.append("] as sa ");
+ sb.append(" inner join ");
+ sb.append(SIP);
+ sb.append(" on isdescendantnode(" + SIP + ", " + SBA + ") ");
}
- sb.append(" inner join [");
- sb.append(SLC_BUNDLE_ARTIFACT);
- sb.append("] as sa on isdescendantnode(sa, sba)");
+ if (epClause) {
+ 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;
}
if (ipClause) {
if (hasFirstClause)
sb.append(" AND ");
- sb.append("[" + SLC_ARTIFACT_ID + "] like '"
+ sb.append(SIP + ".[" + SLC_NAME + "] like '"
+ importedPackage.getText().replace('*', '%') + "'");
hasFirstClause = true;
}
if (epClause) {
if (hasFirstClause)
sb.append(" AND ");
- sb.append("[" + SLC_ARTIFACT_ID + "] like '"
+ sb.append(SEP + ".[" + SLC_NAME + "] like '"
+ exportedPackage.getText().replace('*', '%') + "'");
- hasFirstClause = true;
}
-
return sb.toString();
} catch (Exception e) {
throw new ArgeoException(