X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=eclipse%2Fplugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fviews%2FQueryBundlesForm.java;h=51b621b4575b6eb27336a12f6a0289a2a2b1ea0f;hb=967aee9e4538bfe5fb8bbcd171af2f30e0fed9ee;hp=9c2993462285abf14d34d11bc07d389facf2bc0c;hpb=0c757117d51669137b04b65a52dca20b856ea413;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/QueryBundlesForm.java b/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/QueryBundlesForm.java index 9c2993462..51b621b45 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/QueryBundlesForm.java +++ b/eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/QueryBundlesForm.java @@ -1,3 +1,18 @@ +/* + * 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; @@ -5,8 +20,10 @@ import org.apache.commons.logging.LogFactory; 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; @@ -18,7 +35,7 @@ import org.eclipse.swt.widgets.Text; /** 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"; @@ -29,11 +46,6 @@ public class QueryBundlesForm extends AbstractQueryArtifactsView implements 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 @@ -41,7 +53,9 @@ public class QueryBundlesForm extends AbstractQueryArtifactsView implements 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)); @@ -65,18 +79,27 @@ public class QueryBundlesForm extends AbstractQueryArtifactsView implements // 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"); @@ -110,36 +133,30 @@ public class QueryBundlesForm extends AbstractQueryArtifactsView implements 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; } @@ -158,10 +175,6 @@ public class QueryBundlesForm extends AbstractQueryArtifactsView implements 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(