You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2013/06/17 16:50:31 UTC
svn commit: r1493795 - in
/directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors:
ValueEditorsConstants.java time/GeneralizedTimeValueDialog.java
time/GeneralizedTimeValueEditor.java
Author: pamarcelot
Date: Mon Jun 17 14:50:31 2013
New Revision: 1493795
URL: http://svn.apache.org/r1493795
Log:
Fix for DIRSTUDIO-788 (Date and Time editor incorrect time format for eDirectory).
Modified:
directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorsConstants.java
directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueDialog.java
directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueEditor.java
Modified: directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorsConstants.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorsConstants.java?rev=1493795&r1=1493794&r2=1493795&view=diff
==============================================================================
--- directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorsConstants.java (original)
+++ directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/ValueEditorsConstants.java Mon Jun 17 14:50:31 2013
@@ -74,4 +74,6 @@ public final class ValueEditorsConstants
/** The relative path to the text field ok icon */
public static final String IMG_TEXTFIELD_OK = "resources/icons/textfield_ok.png"; //$NON-NLS-1$
+ /** The dialogs settings for the Date Editor "Discard fraction" checkbox */
+ public static final String DIALOGSETTING_KEY_DATE_EDITOR_DISCARD_FRACTION = "dateEditorDiscardFraction"; //$NON-NLS-1$
}
Modified: directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueDialog.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueDialog.java?rev=1493795&r1=1493794&r2=1493795&view=diff
==============================================================================
--- directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueDialog.java (original)
+++ directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueDialog.java Mon Jun 17 14:50:31 2013
@@ -97,6 +97,9 @@ public class GeneralizedTimeValueDialog
// Raw validator
private Label rawValueValidatorImage;
+ // Discard fraction checkbox
+ private Button discardFractionCheckbox;
+
/** The OK button of the dialog */
private Button okButton;
@@ -205,6 +208,16 @@ public class GeneralizedTimeValueDialog
}
};
+ private SelectionListener discardFractionCheckboxSelectionListener = new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent e )
+ {
+ removeListeners();
+ updateRawFields();
+ addListeners();
+ }
+ };
+
/**
* Creates a new instance of GeneralizedTimeValueDialog.
@@ -252,6 +265,30 @@ public class GeneralizedTimeValueDialog
/**
* {@inheritDoc}
*/
+ protected void okPressed()
+ {
+ // Checking if we need to discard the fraction
+ if ( discardFractionCheckbox.getSelection() )
+ {
+ // Removing the fraction from the value
+ Calendar calendar = value.getCalendar();
+ calendar.set( Calendar.MILLISECOND, 0 );
+
+ value = new GeneralizedTime( calendar );
+ }
+
+ // Saving the dialog settings
+ ValueEditorsActivator.getDefault().getDialogSettings()
+ .put( ValueEditorsConstants.DIALOGSETTING_KEY_DATE_EDITOR_DISCARD_FRACTION,
+ discardFractionCheckbox.getSelection() );
+
+ super.okPressed();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
protected Control createDialogArea( Composite parent )
{
// Main composites
@@ -263,6 +300,10 @@ public class GeneralizedTimeValueDialog
createDateDialogArea( dualComposite );
createTimeZoneDialogArea( dualComposite );
createRawValueDialogArea( dualComposite );
+
+ // Getting the dialog settings
+ discardFractionCheckbox.setSelection( ValueEditorsActivator.getDefault().getDialogSettings()
+ .getBoolean( ValueEditorsConstants.DIALOGSETTING_KEY_DATE_EDITOR_DISCARD_FRACTION ) );
// Initializing with initial value
initWithInitialValue();
@@ -506,6 +547,10 @@ public class GeneralizedTimeValueDialog
// Validator image
rawValueValidatorImage = new Label( rawValueComposite, SWT.NONE );
+
+ // Discard fraction checkbox
+ discardFractionCheckbox = BaseWidgetUtils.createCheckbox( parent, "Discard fraction (milliseconds)", 2 );
+
validateRawValue( true );
}
@@ -555,7 +600,14 @@ public class GeneralizedTimeValueDialog
private void updateRawFields()
{
// Raw value
- rawValueText.setText( value.toGeneralizedTime() );
+ if ( discardFractionCheckbox.getSelection() )
+ {
+ rawValueText.setText( value.toGeneralizedTimeWithoutFraction() );
+ }
+ else
+ {
+ rawValueText.setText( value.toGeneralizedTime() );
+ }
validateRawValue( true );
}
@@ -610,6 +662,9 @@ public class GeneralizedTimeValueDialog
// Raw value
rawValueText.addModifyListener( rawValueModifyListener );
+
+ // Discard fraction checkbox
+ discardFractionCheckbox.addSelectionListener( discardFractionCheckboxSelectionListener );
}
@@ -635,6 +690,9 @@ public class GeneralizedTimeValueDialog
// Raw value
rawValueText.removeModifyListener( rawValueModifyListener );
+
+ // Discard fraction checkbox
+ discardFractionCheckbox.removeSelectionListener( discardFractionCheckboxSelectionListener );
}
Modified: directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueEditor.java?rev=1493795&r1=1493794&r2=1493795&view=diff
==============================================================================
--- directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueEditor.java (original)
+++ directory/studio/trunk/plugins/valueeditors/src/main/java/org/apache/directory/studio/valueeditors/time/GeneralizedTimeValueEditor.java Mon Jun 17 14:50:31 2013
@@ -27,7 +27,6 @@ import java.util.Calendar;
import java.util.Date;
import org.apache.directory.api.util.GeneralizedTime;
-import org.apache.directory.studio.ldapbrowser.common.dialogs.TextDialog;
import org.apache.directory.studio.ldapbrowser.core.model.IValue;
import org.apache.directory.studio.valueeditors.AbstractDialogStringValueEditor;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -115,9 +114,21 @@ public class GeneralizedTimeValueEditor
// Creating and opening the dialog
GeneralizedTimeValueDialog dialog = new GeneralizedTimeValueDialog( shell, generalizedTime );
- if ( dialog.open() == TextDialog.OK )
+ if ( dialog.open() == GeneralizedTimeValueDialog.OK )
{
- setValue( dialog.getGeneralizedTime().toGeneralizedTime() );
+ GeneralizedTime newGeneralizedTime = dialog.getGeneralizedTime();
+
+ // Checking if we need to save the generalized time
+ // with or without fraction
+ if ( newGeneralizedTime.getFraction() == 0 )
+ {
+ setValue( newGeneralizedTime.toGeneralizedTimeWithoutFraction() );
+ }
+ else
+ {
+ setValue( newGeneralizedTime.toGeneralizedTime() );
+ }
+
return true;
}
}