Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 11939 invoked from network); 1 Apr 2007 11:28:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Apr 2007 11:28:31 -0000 Received: (qmail 65246 invoked by uid 500); 1 Apr 2007 11:28:39 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 65216 invoked by uid 500); 1 Apr 2007 11:28:38 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 65204 invoked by uid 99); 1 Apr 2007 11:28:38 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Apr 2007 04:28:38 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 01 Apr 2007 04:28:30 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 677851A9838; Sun, 1 Apr 2007 04:28:10 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r524584 - in /directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui: actions/ dialogs/ valueeditors/internal/ Date: Sun, 01 Apr 2007 11:28:10 -0000 To: commits@directory.apache.org From: seelmann@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070401112810.677851A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: seelmann Date: Sun Apr 1 04:28:09 2007 New Revision: 524584 URL: http://svn.apache.org/viewvc?view=rev&rev=524584 Log: Renamed FilterChildrenDialog to FilterWidgetDialog, Added FilterValueEditor Added: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterWidgetDialog.java - copied, changed from r524301, directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterChildrenDialog.java directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/valueeditors/internal/FilterValueEditor.java Removed: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterChildrenDialog.java Modified: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/actions/FilterChildrenAction.java Modified: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/actions/FilterChildrenAction.java URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/actions/FilterChildrenAction.java?view=diff&rev=524584&r1=524583&r2=524584 ============================================================================== --- directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/actions/FilterChildrenAction.java (original) +++ directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/actions/FilterChildrenAction.java Sun Apr 1 04:28:09 2007 @@ -25,7 +25,7 @@ import org.apache.directory.ldapstudio.browser.core.model.IEntry; import org.apache.directory.ldapstudio.browser.ui.BrowserUIConstants; import org.apache.directory.ldapstudio.browser.ui.BrowserUIPlugin; -import org.apache.directory.ldapstudio.browser.ui.dialogs.FilterChildrenDialog; +import org.apache.directory.ldapstudio.browser.ui.dialogs.FilterWidgetDialog; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.resource.ImageDescriptor; @@ -58,7 +58,7 @@ { if ( getSelectedEntries().length == 1 ) { - FilterChildrenDialog dialog = new FilterChildrenDialog( getShell(), getSelectedEntries()[0] + FilterWidgetDialog dialog = new FilterWidgetDialog( getShell(), "Filter Children", getSelectedEntries()[0] .getChildrenFilter(), getSelectedEntries()[0].getConnection() ); if ( dialog.open() == Dialog.OK ) { Copied: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterWidgetDialog.java (from r524301, directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterChildrenDialog.java) URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterWidgetDialog.java?view=diff&rev=524584&p1=directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterChildrenDialog.java&r1=524301&p2=directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterWidgetDialog.java&r2=524584 ============================================================================== --- directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterChildrenDialog.java (original) +++ directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/dialogs/FilterWidgetDialog.java Sun Apr 1 04:28:09 2007 @@ -35,17 +35,16 @@ /** - * This dialog is used to enter a LDAP filter to filter the child nodes - * of an entry. + * This dialog is used to enter a LDAP filter. * * @author Apache Directory Project * @version $Rev$, $Date$ */ -public class FilterChildrenDialog extends Dialog +public class FilterWidgetDialog extends Dialog { /** The title */ - public static final String DIALOG_TITLE = "Filter Children"; + private String title; /** The connection, used for attribute completion. */ private IConnection connection; @@ -58,15 +57,17 @@ /** - * Creates a new instance of FilterChildrenDialog. - * + * Creates a new instance of FilterWidgetDialog. + * * @param parentShell the parent shell + * @param title the dialog's title * @param filter the inital filter * @param connection the connection, used for attribute completion */ - public FilterChildrenDialog( Shell parentShell, String filter, IConnection connection ) + public FilterWidgetDialog( Shell parentShell, String title, String filter, IConnection connection ) { super( parentShell ); + this.title = title; this.filter = filter; this.connection = connection; setShellStyle( SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE ); @@ -80,7 +81,7 @@ */ public String getFilter() { - return this.filter; + return filter; } @@ -90,7 +91,7 @@ protected void configureShell( Shell newShell ) { super.configureShell( newShell ); - newShell.setText( DIALOG_TITLE ); + newShell.setText( title ); } @@ -101,7 +102,7 @@ { if ( buttonId == IDialogConstants.OK_ID ) { - this.filter = filterWidget.getFilter(); + filter = filterWidget.getFilter(); filterWidget.saveDialogSettings(); } Added: directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/valueeditors/internal/FilterValueEditor.java URL: http://svn.apache.org/viewvc/directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/valueeditors/internal/FilterValueEditor.java?view=auto&rev=524584 ============================================================================== --- directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/valueeditors/internal/FilterValueEditor.java (added) +++ directory/ldapstudio/trunk/ldapstudio-browser-ui/src/main/java/org/apache/directory/ldapstudio/browser/ui/valueeditors/internal/FilterValueEditor.java Sun Apr 1 04:28:09 2007 @@ -0,0 +1,150 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.apache.directory.ldapstudio.browser.ui.valueeditors.internal; + + +import org.apache.directory.ldapstudio.browser.core.model.IConnection; +import org.apache.directory.ldapstudio.browser.core.model.IValue; +import org.apache.directory.ldapstudio.browser.ui.dialogs.FilterWidgetDialog; +import org.apache.directory.ldapstudio.browser.ui.dialogs.TextDialog; +import org.apache.directory.ldapstudio.browser.ui.valueeditors.AbstractDialogStringValueEditor; +import org.eclipse.swt.widgets.Shell; + + +/** + * Implementation of IValueEditor for LDAP filters. + * + * @author Apache Directory Project + * @version $Rev$, $Date$ + */ +public class FilterValueEditor extends AbstractDialogStringValueEditor +{ + + /** + * {@inheritDoc} + * + * This implementation opens the TextDialog. + */ + public boolean openDialog( Shell shell ) + { + Object value = getValue(); + if ( value != null && value instanceof FilterValueEditorRawValueWrapper ) + { + FilterValueEditorRawValueWrapper wrapper = ( FilterValueEditorRawValueWrapper ) value; + FilterWidgetDialog dialog = new FilterWidgetDialog( shell, "Filter Editor", wrapper.filter, + wrapper.connection ); + if ( dialog.open() == TextDialog.OK && !"".equals( dialog.getFilter() ) ) + { + setValue( dialog.getFilter() ); + return true; + } + } + return false; + } + + + /** + * {@inheritDoc} + * + * Returns always the string value. + * + * Reimplementation, because getRawValue() returns an + * AttributeTypeValueEditorRawValueWrapper. + */ + public String getDisplayValue( IValue value ) + { + if ( value == null ) + { + return "NULL"; + } + + String displayValue = value.getStringValue(); + return displayValue; + } + + + /** + * {@inheritDoc} + * + * Returns a FilterValueEditorRawValueWrapper. + */ + public Object getRawValue( IValue value ) + { + if ( value == null || !value.isString() ) + { + return null; + } + else + { + return getRawValue( value.getAttribute().getEntry().getConnection(), value.getStringValue() ); + } + } + + + /** + * {@inheritDoc} + * + * Returns a FilterValueEditorRawValueWrapper. + */ + public Object getRawValue( IConnection connection, Object value ) + { + if ( connection == null || value == null || !( value instanceof String ) ) + { + return null; + } + + String filterValue = ( String ) value; + FilterValueEditorRawValueWrapper wrapper = new FilterValueEditorRawValueWrapper( connection, filterValue ); + return wrapper; + } + + /** + * The FilterValueEditorRawValueWrapper is used to pass contextual + * information to the opened FilterDialog. + * + * @author Apache Directory Project + * @version $Rev$, $Date$ + */ + private class FilterValueEditorRawValueWrapper + { + /** + * The connection, used in FilterDialog to build the list + * with possible attribute types. + */ + private IConnection connection; + + /** The filter, used as initial value in FilterDialog. */ + private String filter; + + + /** + * Creates a new instance of FilterValueEditorRawValueWrapper. + * + * @param schema the schema + * @param attributeType the attribute type + */ + private FilterValueEditorRawValueWrapper( IConnection connection, String filter ) + { + this.connection = connection; + this.filter = filter; + } + } +}