Package org.dlese.dpc.schemedit.autoform
Class ViewerRenderer
java.lang.Object
org.dlese.dpc.schemedit.autoform.Renderer
org.dlese.dpc.schemedit.autoform.RendererImpl
org.dlese.dpc.schemedit.autoform.ViewerRenderer
- Direct Known Subclasses:
EditorViewerRenderer
Renders JSP for viewing metadata records within the DCS (as opposed to
within a metadata editor).
Shows only elements that are either required or that have values. Element labels have "editMe" links that open a metadata editor to the selected element for editing.
- Author:
- ostwald
-
Field Summary
Fields inherited from class org.dlese.dpc.schemedit.autoform.RendererImpl
DISPLAY_MODE, EDIT_MODEFields inherited from class org.dlese.dpc.schemedit.autoform.Renderer
df, formBeanName, normalizedXPath, parent, repeatingComplexSingletonChildPath, rhelper, root, schemaNode, sh, typeDef, typeName, xpath -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetComplexTypeLabel(String xpath, String siblingPath, String indexId) Gets the complexTypeLabel attribute of the ViewerRenderer objectorg.dom4j.ElementgetDeleteController(String itemPath, String elementName) Gets the deleteController attribute of the ViewerRenderer objectprotected org.dom4j.ElementgetEditMeTag(String xpath) Gets the editMeTag attribute of the ViewerRenderer objectprotected org.dom4j.ElementgetEditMeTag(String xpath, String siblingPath, String indexId) creates a jsp tag (st:dcsViewEditMeLabel) that renders a label as a link that will open the metadata editor to this field.org.dom4j.ElementgetInputElement(String xpath, SchemaNode schemaNode, GlobalDef typeDef) Gets the inputElement attribute of the ViewerRenderer objectorg.dom4j.ElementgetMultiSelectInput(String xpath) Renders a multiSelect input (a set of of checkboxes) as an Element.org.dom4j.ElementgetOptionalItemControl(String xpath) View pages do not have conrols!org.dom4j.ElementgetRenderedField(String xpath, Label label, org.dom4j.Element inputField) Gets the labelledInputField attribute of the ViewerRenderer objectorg.dom4j.ElementgetRenderedField_1(String xpath, Label label, org.dom4j.Element inputField) Formats the label and value for the current node.org.dom4j.ElementgetRenderedField_2(String xpath, Label label, org.dom4j.Element inputField) Gets the labelledInputField_2 attribute of the ViewerRenderer objectgetSimpleTypeLabel(String xpath, String siblingPath, String indexId) Gets the simpleTypeLabel attribute of the ViewerRenderer objectprotected org.dom4j.ElementgetStaticSimpleValue(String xpath) Displays the value of the element at specified xpathorg.dom4j.ElementhasValueTest(String xpath) test for whether a node has a valueorg.dom4j.ElementmissingValueTest(String xpath) test for whether a node has a valuevoidRender an attributevoidrenderChoice(org.dom4j.Element choiceElement) Render a choice CompositorvoidA complexType is displayed iff: it is required or it satisfies the viewNode predicate.voidRender a repeating elementvoidrenderSequence(org.dom4j.Element sequence) Render a Sequence CompositorvoidConcrete render method for SimpleType elementsvoidRender the subElements of the current typeDefinitionvoidrenderSubElements(List subElements) Render the provided list of subelementsstatic voidsetDebug(boolean verbose) Sets the debug attribute of the ViewerRenderer classMethods inherited from class org.dlese.dpc.schemedit.autoform.RendererImpl
bestPracticesLink, doInit, getBooleanInput, getComboUnionInput, getComplexTypeLabel, getInputHelperElement, getLabelText, getLanguageInput, getMultiBoxInput, getMultiBoxLabel, getReadOnlyElement, getRenderedField, getRenderMode, getSelectInput, getShowNSPrefixInLabels, getSimpleTypeLabel, getTextAreaInput, getTextAreaInput, getTextInput, getToolHelp, getXpath, isDisplayMode, isEditMode, renderDerivedContentModel, renderDerivedTextOnlyModel, renderInputElement, renderModelGroup, renderRepeatingSubstitutionGroup, renderSubElements, report, setRenderMode, setShowNSPrefixInLabels, showXsdStringElementMethods inherited from class org.dlese.dpc.schemedit.autoform.Renderer
doInit, getDiv, getDiv, getLevel, getSchemaNamespace, getSchemaNSPrefix, getXmlFormat, init, jspQuotedString, renderComplexType, renderNode, renderSimpleType
-
Constructor Details
-
ViewerRenderer
public ViewerRenderer()
-
-
Method Details
-
renderAttribute
public void renderAttribute()Render an attribute- Overrides:
renderAttributein classRendererImpl
-
renderSimpleTypeConcrete
public void renderSimpleTypeConcrete()Concrete render method for SimpleType elements- Overrides:
renderSimpleTypeConcretein classRendererImpl
-
renderChoice
public void renderChoice(org.dom4j.Element choiceElement) Render a choice Compositor- Overrides:
renderChoicein classRendererImpl- Parameters:
choiceElement- NOT YET DOCUMENTED
-
renderComplexTypeConcrete
public void renderComplexTypeConcrete()A complexType is displayed iff: it is required or it satisfies the viewNode predicate.approach:
- a tester element (viewNode) implements the jsp to insure it should be shown
- the tester node is attached to this nodes parent in the render tree.
- Overrides:
renderComplexTypeConcretein classRendererImpl
-
renderSequence
public void renderSequence(org.dom4j.Element sequence) Render a Sequence Compositor- Overrides:
renderSequencein classRendererImpl- Parameters:
sequence- The Sequence element
-
renderRepeatingElement
public void renderRepeatingElement()Render a repeating element- Overrides:
renderRepeatingElementin classRendererImpl
-
renderSubElements
Render the provided list of subelements- Overrides:
renderSubElementsin classRendererImpl- Parameters:
subElements- list of subElements to render
-
renderSubElements
public void renderSubElements()Render the subElements of the current typeDefinition- Overrides:
renderSubElementsin classRendererImpl
-
getInputElement
Gets the inputElement attribute of the ViewerRenderer object- Overrides:
getInputElementin classRendererImpl- Parameters:
xpath- xpath of inputElementschemaNode- schemaNode of elementtypeDef- typeDef of element- Returns:
- The inputElement value
-
getStaticSimpleValue
Displays the value of the element at specified xpath- Parameters:
xpath- xpath of element for which we render the value- Returns:
- The textInput value
-
getMultiSelectInput
Renders a multiSelect input (a set of of checkboxes) as an Element. The multiSelect is represented as a HTML table- Overrides:
getMultiSelectInputin classRendererImpl- Parameters:
xpath- xpath of element for which we render an input- Returns:
- The multiSelectInput as an element
-
getOptionalItemControl
View pages do not have conrols!- Overrides:
getOptionalItemControlin classRendererImpl- Parameters:
xpath- NOT YET DOCUMENTED- Returns:
- null
-
getDeleteController
Gets the deleteController attribute of the ViewerRenderer object- Overrides:
getDeleteControllerin classRendererImpl- Parameters:
itemPath- NOT YET DOCUMENTEDelementName- NOT YET DOCUMENTED- Returns:
- The deleteController value
-
getSimpleTypeLabel
Gets the simpleTypeLabel attribute of the ViewerRenderer object- Overrides:
getSimpleTypeLabelin classRendererImpl- Parameters:
xpath- NOT YET DOCUMENTEDsiblingPath- NOT YET DOCUMENTEDindexId- NOT YET DOCUMENTED- Returns:
- The simpleTypeLabel value
-
getComplexTypeLabel
Gets the complexTypeLabel attribute of the ViewerRenderer object- Overrides:
getComplexTypeLabelin classRendererImpl- Parameters:
xpath- normalized xpath to the field for this labelsiblingPath- xpath to reach all siblingsindexId- jsp variable used to generate indicies for repeating fields- Returns:
- The complexTypeLabel value
-
getEditMeTag
Gets the editMeTag attribute of the ViewerRenderer object- Parameters:
xpath- NOT YET DOCUMENTED- Returns:
- The editMeTag value
-
getEditMeTag
creates a jsp tag (st:dcsViewEditMeLabel) that renders a label as a link that will open the metadata editor to this field.If provided, siblingPath parameter includes indexing (e.g., /record/general_${index+1}_) to make the proper link to an indexed field.
- Parameters:
xpath- NOT YET DOCUMENTEDsiblingPath- NOT YET DOCUMENTEDindexId- NOT YET DOCUMENTED- Returns:
- The editMeTag value
-
getRenderedField
Gets the labelledInputField attribute of the ViewerRenderer object- Overrides:
getRenderedFieldin classRendererImpl- Parameters:
xpath- NOT YET DOCUMENTEDlabel- NOT YET DOCUMENTEDinputField- NOT YET DOCUMENTED- Returns:
- The labelledInputField value
-
getRenderedField_2
public org.dom4j.Element getRenderedField_2(String xpath, Label label, org.dom4j.Element inputField) Gets the labelledInputField_2 attribute of the ViewerRenderer object- Parameters:
xpath- NOT YET DOCUMENTEDlabel- NOT YET DOCUMENTEDinputField- NOT YET DOCUMENTED- Returns:
- The labelledInputField_2 value
-
getRenderedField_1
public org.dom4j.Element getRenderedField_1(String xpath, Label label, org.dom4j.Element inputField) Formats the label and value for the current node.NOTE: this probably shouldn't be here, since it is misnamed (it does not have anything to do with "input"). To fix this problem we have to change super classes to differentiate between renders that create edit inputs and those that simply display values.
- Parameters:
xpath- NOT YET DOCUMENTEDlabel- NOT YET DOCUMENTEDinputField- NOT YET DOCUMENTED- Returns:
- The labelledInputField_1 value
-
missingValueTest
test for whether a node has a value- Parameters:
xpath- NOT YET DOCUMENTED- Returns:
- NOT YET DOCUMENTED
-
hasValueTest
test for whether a node has a value- Parameters:
xpath- NOT YET DOCUMENTED- Returns:
- NOT YET DOCUMENTED
-
setDebug
public static void setDebug(boolean verbose) Sets the debug attribute of the ViewerRenderer class- Parameters:
verbose- The new debug value
-