switt
I'm new here

Auswahl eines Datensatzes über ein Formular aus von FirstSpirit erzeugtem Schema

Hallo,

ich möchte für eine Mitarbeiterauswahl gerne auf ein Schema zugreifen was mittels "Schema aus Datenbank erzeugen" erstellt wurde. Konkret geht es dabei um eine Tabelle Profile, die als PK eine E-Mailadresse hat und sonst nur die üblichen Felder wie Name, Stadt etc..

Ich versuche auf 2 arten auf den Datensatz in einem Verweistemplate darauf zuzugreifen:

Einmal über

<FS_DATASET name="lt_user" allowDelete="no" allowEdit="no" allowNew="no" mode="sheet" useLanguages="no">

    <LANGINFOS>

      <LANGINFO lang="*" label="Profile" />

    </LANGINFOS>

    <SOURCES>

      <CONTENT name="testprofile"/>

    </SOURCES>

  </FS_DATASET>

Dabei kommt bei der Auswahl eines Datensatzes folgender Fehler und danach geht nichts mehr:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number

Der andere Ansatz war den Datensatz über

<CMS_INPUT_OBJECTCHOOSER

    name="lt_user2"

    allowChoose="yes"

    allowDelete="no"

    allowEdit="no"

    allowNew="no"

    hFill="yes"

    table="Test.testprofile"

    useLanguages="no">

    <LANGINFOS>

      <LANGINFO lang="*" label="Dataset" description="Please select a dataset"/>

    </LANGINFOS>

  </CMS_INPUT_OBJECTCHOOSER>

Was auch in der Formular Vorschau funktioniert, aber in der Metadatenvorlage in einer FS_LIST kommt nur die eine Fehlermeldung:

<FS_LIST name="mt_responsible" hFill="yes">

        <DATASOURCE type="inline" useLanguages="no">

          <ACTIONS>

            <ACTION name="ADD"/>

            <ACTION name="REMOVE"/>

            <ACTION name="UP"/>

            <ACTION name="DOWN"/>

            <ACTION name="EDIT"/>

          </ACTIONS>

          <COLUMNS>

            <COLUMN show="no">#identifier</COLUMN>

          </COLUMNS>

          <LAYOUT>

            <ADD component="toolbar" constraint="top"/>

            <ADD component="stackedview" constraint="center"/>

          </LAYOUT>

          <TEMPLATES source="linktemplates">

            <TEMPLATE uid="responsible_email_link"/>

          </TEMPLATES>

        </DATASOURCE>

        <LANGINFOS>

          <LANGINFO lang="*" label="Responsible person"/>

        </LANGINFOS>

      </FS_LIST>

responsible_email_link ist die Verweisvorlage in der der Objectchooser definiert wurde. Wenn man nun probiert die Metadaten zu ändern kommt für den Objectchooser nur folgende fehlermeldung:

Anzeigefehler im Editor 'Dataset': Language '§' not supported by this form.

java.lang.IllegalArgumentException: Language '§' not supported by this form.

    at de.espirit.firstspirit.client.gui.SwingMultiFormView.getView(SwingMultiFormView.java:286)

    at de.espirit.firstspirit.client.gui.SwingMultiFormView.getComponent(SwingMultiFormView.java:276)

    at de.espirit.firstspirit.client.gui.tree.store.pagestore.GomModuleView.getComponent(GomModuleView.java:212)

    at de.espirit.firstspirit.client.gui.GomModulePanel.getViewComponent(GomModulePanel.java:377)

    at de.espirit.firstspirit.client.gui.GomModulePanel.initialize(GomModulePanel.java:256)

    at de.espirit.firstspirit.client.gui.GomModulePanel$5.run(GomModulePanel.java:340)

    at de.espirit.common.gui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:105)

    at de.espirit.common.gui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:73)

    at de.espirit.firstspirit.client.gui.GomModulePanel.setVisibleLanguage(GomModulePanel.java:338)

    at de.espirit.firstspirit.client.access.editor.swing.ObjectChooserGuiEditor$InternalGuiXmlPanel.getComponent(ObjectChooserGuiEditor.java:991)

    at de.espirit.firstspirit.client.access.editor.swing.ObjectChooserGuiEditor$ObjectChooserEditorRenderer.<init>(ObjectChooserGuiEditor.java:617)

    at de.espirit.firstspirit.client.access.editor.swing.ObjectChooserGuiEditor$ObjectChooserEditorRenderer.<init>(ObjectChooserGuiEditor.java:473)

    at de.espirit.firstspirit.client.access.editor.swing.ObjectChooserGuiEditor.getEditorComponent(ObjectChooserGuiEditor.java:296)

    at de.espirit.firstspirit.ui.gadgets.swing.legacy.GuiEditorWrappingSwingGadget.getEditorComponent(GuiEditorWrappingSwingGadget.java:429)

    at de.espirit.firstspirit.ui.gadgets.swing.legacy.GuiEditorWrappingSwingGadget.getComponent(GuiEditorWrappingSwingGadget.java:406)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetWrapper.getEditorComponent(ValueHoldingSwingGadgetWrapper.java:225)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetWrapper.getComponent(ValueHoldingSwingGadgetWrapper.java:257)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetMediator.getComponent(ValueHoldingSwingGadgetMediator.java:815)

    at de.espirit.firstspirit.ui.gadgets.swing.AggregatingSwingGadgetPanel.add(AggregatingSwingGadgetPanel.java:121)

    at de.espirit.firstspirit.ui.gadgets.swing.module.ModuleSwingGadget$1.invoke(ModuleSwingGadget.java:58)

    at de.espirit.firstspirit.ui.gadgets.swing.module.ModuleSwingGadget$1.invoke(ModuleSwingGadget.java:52)

    at de.espirit.firstspirit.ui.gadgets.swing.AbstractAspectableAggregate.forEach(AbstractAspectableAggregate.java:95)

    at de.espirit.firstspirit.ui.gadgets.swing.module.ModuleSwingGadget.getComponent(ModuleSwingGadget.java:52)

    at de.espirit.firstspirit.ui.gadgets.swing.AggregatingSwingGadgetMediator.getComponent(AggregatingSwingGadgetMediator.java:378)

    at de.espirit.firstspirit.client.gui.SwingFormView.getComponent(SwingFormView.java:293)

    at de.espirit.firstspirit.client.gui.SwingMultiFormView.getView(SwingMultiFormView.java:326)

    at de.espirit.firstspirit.client.gui.SwingMultiFormView.getComponent(SwingMultiFormView.java:276)

    at de.espirit.firstspirit.client.gui.TabbedFormView$SingleFormFrame.getComponent(TabbedFormView.java:369)

    at de.espirit.firstspirit.client.gui.TabbedFormView$2.run(TabbedFormView.java:158)

    at de.espirit.common.gui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:105)

    at de.espirit.common.gui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:73)

    at de.espirit.firstspirit.client.gui.TabbedFormView.installFormFrame(TabbedFormView.java:154)

    at de.espirit.firstspirit.client.gui.TabbedFormView.getComponent(TabbedFormView.java:135)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetMediator$FormHandleImpl.setUp(ValueHoldingSwingGadgetMediator.java:1936)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetMediator.showSubForm(ValueHoldingSwingGadgetMediator.java:1594)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetMediator.access$2300(ValueHoldingSwingGadgetMediator.java:192)

    at de.espirit.firstspirit.ui.gadgets.swing.ValueHoldingSwingGadgetMediator$ShowSubFormOperationImpl.perform(ValueHoldingSwingGadgetMediator.java:1731)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.FsListSwingGadget.showSubForm(FsListSwingGadget.java:1346)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.AbstractViewport.loadSubForm(AbstractViewport.java:149)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.AbstractViewport.loadSubForm(AbstractViewport.java:117)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.StackedViewport$LoadingTrigger.propertyChange(StackedViewport.java:887)

    at de.espirit.firstspirit.client.common.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:167)

    at java.beans.PropertyChangeSupport.fire(Unknown Source)

    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)

    at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)

    at java.awt.Component.firePropertyChange(Unknown Source)

    at de.espirit.firstspirit.client.ui.CollapsiblePane.setState(CollapsiblePane.java:301)

    at de.espirit.firstspirit.client.ui.CollapsiblePane.setCollapse(CollapsiblePane.java:259)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.StackedViewport.setSelectedIndex(StackedViewport.java:442)

    at de.espirit.firstspirit.ui.gadgets.swing.fslist.UiHandleProcessor$3.run(UiHandleProcessor.java:552)

    at java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

    at java.awt.EventQueue.access$200(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.awt.EventQueue$3.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.defaultDispatchEvent(AWTDispatchingEventQueue.java:133)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue._dispatchEvent(AWTDispatchingEventQueue.java:124)

    at de.espirit.firstspirit.client.AWTDispatchingEventQueue.dispatchEvent(AWTDispatchingEventQueue.java:110)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

(siehe auch das Bild dazuUnbenannt.png)

Grüße,

Sebastian

Labels (1)
0 Kudos
2 Replies
broszeit
I'm new here

Re: Auswahl eines Datensatzes über ein Formular aus von FirstSpirit erzeugtem Schema

Hallo Sebastian,

beim Anbinden der Datenbank wurde so vorgegangen wie in der Admin-Dokumentation in Kapitel 4.8.8 beschrieben?

Also die Datenbank wurde schreibgeschützt und ohne Schema-Sync konfiguriert?

Es sieht so aus, dass der String als Primärschlüssel hier Probleme bereitet.

Beim FS_DATASET konnte ich die Exception nachvollziehen. Ich werde versuchen herauszufinden, ob String-Primärschlüssel hier unterstützt werden. Wenn ja, sieht es nach einem Bug aus.

Beim OBJECTCHOOSER in der FS_LIST tritt bei mir kein Fehler auf, alles funktioniert wie erwartet. Werden hier sprachabhängige Spalten verwendet, bzw. Spalten oder Eingabekomponenten irrtümlich als sprachabhängig markiert?

Funktioniert der OBJECTCHOOSER in einer normalen Vorlage ohne in eine FS_LIST eingebettet zu sein?

Viele Grüße

Rouven

EDIT: doppelten Schluss entfernt

switt
I'm new here

Re: Auswahl eines Datensatzes über ein Formular aus von FirstSpirit erzeugtem Schema

Hallo Rouven,

ja das Schema auf das zugegriffen werden soll liegt auf einem Schreibgeschützen Layer ohne Sync.

Beim Objectchooser liegt es vermutlich an der Metadatenvorlage, die ja ohne Sprachen arbeitet. Das ganze lässt sich auch über Rückgriffwerte reproduzieren. In einer normalen Vorlage funktioniert es ohne Probleme.

Das Problem habe ich jetzt über eine Combobox mit einem Textfeld das als Suchfeld dient und dynamischen Queries gelöst.

Gruß,
Sebastian

0 Kudos