X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2Feditors%2FAbstractJcrQueryEditor.java;h=d401538fd68def45555eced18ba9667f5de904c2;hb=374cef7c269e0fd501b5bd0748c16be690318672;hp=482f9f9d4b69879ee1e56e3c367b4bfb1d949337;hpb=7b680adaf3b7ca7d69ee0f0b216deb06814a30da;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/editors/AbstractJcrQueryEditor.java b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/editors/AbstractJcrQueryEditor.java index 482f9f9d4..d401538fd 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/editors/AbstractJcrQueryEditor.java +++ b/eclipse/runtime/org.argeo.eclipse.ui.jcr/src/main/java/org/argeo/eclipse/ui/jcr/editors/AbstractJcrQueryEditor.java @@ -9,6 +9,8 @@ import javax.jcr.query.QueryResult; import javax.jcr.query.Row; import javax.jcr.query.RowIterator; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.GenericTableComparator; import org.eclipse.core.runtime.IProgressMonitor; @@ -38,17 +40,21 @@ import org.eclipse.ui.part.EditorPart; /** Executes any JCR query. */ public abstract class AbstractJcrQueryEditor extends EditorPart { + private final static Log log = LogFactory + .getLog(AbstractJcrQueryEditor.class); protected String initialQuery; protected String initialQueryType; - // IoC + /** DEPENDENCY INJECTION */ private Session session; + // Widgets private TableViewer viewer; private List tableViewerColumns = new ArrayList(); private GenericTableComparator comparator; + /** Override to layout a form enabling the end user to build his query */ protected abstract void createQueryForm(Composite parent); @Override @@ -97,6 +103,9 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { protected void executeQuery(String statement) { try { + if (log.isDebugEnabled()) + log.debug("Query : " + statement); + QueryResult qr = session.getWorkspace().getQueryManager() .createQuery(statement, initialQueryType).execute(); @@ -113,10 +122,7 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { i++; } - // We must create a local list because query result can be read only - // once. - // viewer.setInput(qr); - + // Must create a local list: QueryResults can only be read once. try { List rows = new ArrayList(); RowIterator rit = qr.getRows(); @@ -132,8 +138,6 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { ErrorDialog.openError(null, "Error", "Cannot execute JCR query: " + statement, new Status(IStatus.ERROR, "org.argeo.eclipse.ui.jcr", e.getMessage())); - // throw new ArgeoException("Cannot execute JCR query " + statement, - // e); } } @@ -298,10 +302,7 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { } /** - * To be overriden to enable sorting. - * - * @author bsinou - * + * To be overridden to enable sorting. */ protected GenericTableComparator getComparator() { return null; @@ -315,7 +316,6 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { @Override public void doSave(IProgressMonitor monitor) { // TODO save the query in JCR? - } @Override @@ -327,7 +327,12 @@ public abstract class AbstractJcrQueryEditor extends EditorPart { return false; } - // IoC + /** Returns the injected current session */ + protected Session getSession() { + return session; + } + + /** DEPENDENCY INJECTION */ public void setSession(Session session) { this.session = session; }