com.ca.directory.jxplorer.tree
Class NewEntryWin

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--com.ca.commons.cbutil.CBDialog
                                      |
                                      +--com.ca.directory.jxplorer.tree.NewEntryWin
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, DataListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class NewEntryWin
extends CBDialog
implements java.awt.event.ActionListener, DataListener

This class allows a user to create the details of a new entry. These details are then passed to the table editor (usually) where the user can make further modifications, before finally submitting the result to the directory.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean disableName
           
protected  CBHelpSystem helpBroker
           
 javax.naming.directory.BasicAttribute newObjectClasses
           
protected  boolean simpleMode
          this sets whether the window needs to worry about the entry name.
 
Fields inherited from class com.ca.commons.cbutil.CBDialog
buttonPanel, Cancel, display, Help, OK, owner
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NewEntryWin(DataSource dSource, DN entryDN, javax.naming.directory.Attributes defaultValues, DataSink attDisplay, java.awt.Frame parent)
          This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.
NewEntryWin(DataSource dSource, DN entryDN, DataSink attDisplay, java.awt.Frame parent, boolean virtualEntry)
          This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.
NewEntryWin(DN pDN, DN cDN, DataSource dSource, javax.naming.directory.Attributes defaultValues, java.lang.String rdn, DataSink attDisplay, java.awt.Frame parent)
          This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.
NewEntryWin(DN pDN, DN cDN, DataSource dSource, DataSink attDisplay, java.awt.Frame parent)
          This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
protected  void checkSuggestedList()
           
 boolean createNewEntry(javax.naming.directory.Attribute obclasses, java.lang.String rdnText, DN newObjectDN)
          create a new Entry, by constructing a DXAttributes object using the list of objectclasses, and the rdn text, and passing it to a TreeEntryCreator
 void dataReady(DataQuery result)
          Callback from directory request to find possible object classes.
 void doCancel()
          When Cancel is pressed (or the window is finished) this method shuts the window down, and prompts the parent to repaint (avoiding those nasty paint artifacts).
 void doOK()
          This creates the new entry This method is extended from the base class, and is called whenever the OK button is pressed.
 void registerMouseListeners()
           
 void removeClass(java.lang.String value)
           
 void selectClass(java.lang.String value)
           
protected  void setupObjectClassPanels(javax.naming.directory.Attributes currentAtts)
           
 
Methods inherited from class com.ca.commons.cbutil.CBDialog
add, addln, escKeyCheck, getDisplayPanel, makeHeavy, makeLight, makeWide, quit, setHelpLink, wasCancelled
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

helpBroker

protected CBHelpSystem helpBroker

simpleMode

protected boolean simpleMode
this sets whether the window needs to worry about the entry name. IF we're modifying an existing entry, we don't.


disableName

protected boolean disableName

newObjectClasses

public javax.naming.directory.BasicAttribute newObjectClasses
Constructor Detail

NewEntryWin

public NewEntryWin(DN pDN,
                   DN cDN,
                   DataSource dSource,
                   DataSink attDisplay,
                   java.awt.Frame parent)
This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.

Parameters:
pDN - the parent DN. This is the DN under which the new entry will be created.
cDN - an arbitrary child DN of a sibling of the to-be-created entry. This may be null, but if present is used to 'guess' what object classes may be wanted for the new entry.
attDisplay - where the resulting half-finished entry is sent for the user to modify, and finally submit to the directory.
parent - the usual parent GUI for swing look and feel propogation etc.

NewEntryWin

public NewEntryWin(DN pDN,
                   DN cDN,
                   DataSource dSource,
                   javax.naming.directory.Attributes defaultValues,
                   java.lang.String rdn,
                   DataSink attDisplay,
                   java.awt.Frame parent)
This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.

Parameters:
pDN - the parent DN. This is the DN under which the new entry will be created.
cDN - an arbitrary child DN of a sibling of the to-be-created entry. This may be null, but if present is used to 'guess' what object classes may be wanted for the new entry.
dSource - a link to the directory, which is queried to discover what object classes are available for the new entry.
defaultValues - - sometimes the 'new' entry is really just an update of an old one, with the object classes changing. If this is non null, it is used to initialise the attributes of the new entry.
rdn - an optional default name for an entry (again, mainly used if we're over-hauling an old entry, rather than creating a new one from scratch.
attDisplay - where the resulting half-finished entry is sent for the user to modify, and finally submit to the directory.
parent - the usual parent GUI for swing look and feel propogation etc.

NewEntryWin

public NewEntryWin(DataSource dSource,
                   DN entryDN,
                   javax.naming.directory.Attributes defaultValues,
                   DataSink attDisplay,
                   java.awt.Frame parent)
This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.

Parameters:
dSource - a link to the directory, which is queried to discover what object classes are available for the entry.
entryDN - the DN of the (existing) entry to be modified.
defaultValues - - sometimes the 'new' entry is really just an update of an old one, with the object classes changing. If this is non null, it is used to initialise the attributes of the new entry.
attDisplay - where the resulting half-finished entry is sent for the user to modify, and finally submit to the directory.
parent - the usual parent GUI for swing look and feel propogation etc.

NewEntryWin

public NewEntryWin(DataSource dSource,
                   DN entryDN,
                   DataSink attDisplay,
                   java.awt.Frame parent,
                   boolean virtualEntry)
This creates the GUI, using the passed parameters to set up the default name and default object classes (if possible), and the destination of the prepared data.

Parameters:
dSource - a link to the directory, which is queried to discover what object classes are available for the entry.
entryDN - the DN of the (existing) entry to be modified.
parent - the usual parent GUI for swing look and feel propogation etc.
virtualEntry - flag representing if the entry is a virtual entry (should always be true b/c currently this constructor will only be called under that condition).
Method Detail

setupObjectClassPanels

protected void setupObjectClassPanels(javax.naming.directory.Attributes currentAtts)

dataReady

public void dataReady(DataQuery result)
Callback from directory request to find possible object classes.

Specified by:
dataReady in interface DataListener

checkSuggestedList

protected void checkSuggestedList()

registerMouseListeners

public void registerMouseListeners()

selectClass

public void selectClass(java.lang.String value)

removeClass

public void removeClass(java.lang.String value)

doOK

public void doOK()

This creates the new entry

This method is extended from the base class, and is called whenever the OK button is pressed.

Overrides:
doOK in class CBDialog

doCancel

public void doCancel()
When Cancel is pressed (or the window is finished) this method shuts the window down, and prompts the parent to repaint (avoiding those nasty paint artifacts).

Overrides:
doCancel in class CBDialog

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

createNewEntry

public boolean createNewEntry(javax.naming.directory.Attribute obclasses,
                              java.lang.String rdnText,
                              DN newObjectDN)
create a new Entry, by constructing a DXAttributes object using the list of objectclasses, and the rdn text, and passing it to a TreeEntryCreator