sivaprasad9394
Occasional Collector

Cannot assimilate value from de.espirit.firstspirit.client.access.link.LinkImpl

Jump to solution

Hello,

i am getting below error,

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.IllegalArgumentException: Cannot assimilate value from 'de.espirit.firstspirit.client.access.link.LinkImpl@aa292ba'!

Image 1:

It is an news data source i have added the form details like,(It is in Database schema Template and added the template to datasource)

<CMS_INPUT_LINK name="csExternalTeaserLink" allowEmpty="yes" useLanguages="yes">

        <LANGINFOS>

          <LANGINFO lang="*" label="External Teaser-Link (http://... or https://...)"/>

          <LANGINFO lang="DE" label="Externer Teaser-Verweis (http://... or https://...)"/>

        </LANGINFOS>

        <LINKEDITORS>

          <LINKEDITOR name="lt_overlaylink_news"/>

          <LINKEDITOR name="lt_overlaylink_external"/>

          <LINKEDITOR name="lt_overlaylink_internal"/>

          <LINKEDITOR name="lt_overlaylink_email"/>

          <LINKEDITOR name="lt_overlaylink_media"/>

        </LINKEDITORS>

      </CMS_INPUT_LINK>

inputlink.png

Schema.png

Now how to get the selection of radio button(input link type) and value(www.google.com) entered???Based on the result i used to display the link for any kind of news teaser.

Previously it was text box so no problem with code database field name from content i could able to get it.....like

$CMS_IF(content.external_link.isEmpty())$

I am getting error like,

(de.espirit.firstspirit.client.AbstractGuiHost): ExceptionHandler.uncaughtException() - java.lang.IllegalArgumentException: Cannot assimilate value from 'de.espirit.firstspirit.client.access.link.LinkImpl@aa292ba'!

Thanks,

Siva

0 Kudos
16 Replies

> In console log there is no error.

Which console log? The preview log is of interest here.

And again: Are you sure the column in question is filled?

Peter
0 Kudos

Hello,

The preview error logs show no error, although that is not a surprise since the part of the template where we have the problem only gets executed when we publish the corresponding pages (due to this being a content projection maybe); In any case, the generation error logs also show no error.

The colum in question is filled whenever we fill the corresponding field in the form, doesn't it?; if that is the case, then yes, we are sure the column is filled.

Nevertheless, the evaluation of this function:

$CMS_VALUE(content.external_link.getClass())$

should always return the i put element's class name regardless of it being filled or not, isn't that so?

Thank you very much in advance for your response.

0 Kudos

The preview error logs show no error, although that is not a surprise since the part of the template where we have the problem only gets executed when we publish the corresponding pages (due to this being a content projection maybe); In any case, the generation error logs also show no error.

I would advise you write a test page. Maybe the problem is simply that the content isn't released yet?

Nevertheless, the evaluation of this function:

$CMS_VALUE(content.external_link.getClass())$

should always return the i put element's class name regardless of it being filled or not, isn't that so?

Not if content.external_link is null.

Peter
0 Kudos

Thank you ,

the content is in fact released as we are already fetching the values from other input elements, remember that in our example:

<!-- HeadLine1: $CMS_VALUE(content.news_headline,default:"")$ -->

Does return the desired headline value.

The issue seems to be focused on the “external_link” field which we changed from a simple “CMS_INPUT_TEXT” to a “CMS_INPUT_LINK”.

If the “external_link” field is indeed filled, how could the “external_field” object be null?

Thanks!

0 Kudos

I have modified all the Database schema forms(i have 64+ db schems for different country).

Modified like below,

  <CMS_INPUT_LINK name="csExternalTeaserLink" allowEmpty="yes" useLanguages="yes">
    <LANGINFOS>
      <LANGINFO lang="*" label="External Teaser-Link (http://... or https://...)"/>
      <LANGINFO lang="DE" label="Externer Teaser-Verweis (http://... or https://...)"/>
    </LANGINFOS>
    <LINKEDITORS>
      <LINKEDITOR name="lt_overlaylink_news"/>
      <LINKEDITOR name="lt_overlaylink_external"/>
      <LINKEDITOR name="lt_overlaylink_internal"/>
      <LINKEDITOR name="lt_overlaylink_email"/>
      <LINKEDITOR name="lt_overlaylink_media"/>
    </LINKEDITORS>
  </CMS_INPUT_LINK>

But i am getting error while relase the news in DataSource,

Error Message:

Attempt to invoke method getClass on null value.

(de.espirit.firstspirit.impl.access.ScriptContextImpl): Exception

FSVersion=4.2.488.56504#2200;JDK=1.7.0_55 32bit Oracle Corporation;OS=Windows 7 6.1 x86;Date=26.06.2014 09:40:37

java.lang.NullPointerException: Attempt to invoke method getClass on null value

    at bsh.Reflect.resolveExpectedJavaMethod(Unknown Source)

    at bsh.Reflect.invokeObjectMethod(Unknown Source)

    at bsh.BSHPrimarySuffix.doName(Unknown Source)

    at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)

    at bsh.BSHPrimaryExpression.eval(Unknown Source)

    at bsh.BSHPrimaryExpression.eval(Unknown Source)

    at bsh.BSHUnaryExpression.eval(Unknown Source)

    at bsh.BSHIfStatement.evaluateCondition(Unknown Source)

    at bsh.BSHIfStatement.eval(Unknown Source)

    at bsh.BSHBlock.evalBlock(Unknown Source)

    at bsh.BSHBlock.eval(Unknown Source)

    at bsh.BSHBlock.eval(Unknown Source)

    at bsh.BSHTryStatement.eval(Unknown Source)

    at bsh.BSHBlock.evalBlock(Unknown Source)

    at bsh.BSHBlock.eval(Unknown Source)

    at bsh.BSHBlock.eval(Unknown Source)

    at bsh.BSHForStatement.eval(Unknown Source)

    at bsh.BSHBlock.evalBlock(Unknown Source)

    at bsh.BSHBlock.eval(Unknown Source)

    at bsh.BshMethod.invokeImpl(Unknown Source)

    at bsh.BshMethod.invoke(Unknown Source)

    at bsh.BshMethod.invoke(Unknown Source)

    at bsh.This.invokeMethod(Unknown Source)

    at bsh.This.invokeMethod(Unknown Source)

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:111)

    at de.espirit.firstspirit.server.script.BeanshellScriptEngine$BeanshellExecutable.execute(BeanshellScriptEngine.java:96)

    at de.espirit.firstspirit.client.gui.applications.ApplicationTabRegistry$IdentifiableExecutable.execute(ApplicationTabRegistry.java:140)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1037)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doAutomaticActivities(TaskImpl.java:1450)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1119)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doAutomaticActivities(TaskImpl.java:1450)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:1119)

    at de.espirit.firstspirit.server.taskmanagement.TaskImpl.doTransition(TaskImpl.java:973)

    at de.espirit.firstspirit.client.action.WorkflowAction.startWorkflow(WorkflowAction.java:432)

    at de.espirit.firstspirit.client.action.WorkflowAction.startWorkflow(WorkflowAction.java:213)

    at de.espirit.firstspirit.client.action.WorkflowUtil.startWorkflow(WorkflowUtil.java:52)

    at de.espirit.firstspirit.client.action.WorkflowMenuAction$WFStartAction.actionPerformed(WorkflowMenuAction.java:272)

    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

    at javax.swing.AbstractButton.doClick(Unknown Source)

    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)

    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)

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

    at javax.swing.JComponent.processMouseEvent(Unknown Source)

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

    at java.awt.Container.processEvent(Unknown Source)

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

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

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

    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

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

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

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

    at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

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

    at java.awt.EventQueue$4.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:132)

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

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

    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)

There is a value in the Link text like  www.yahoo.com and allowEmpty="Yes".But throws error...??

Thank you.

0 Kudos

How to proceed with this problem?

All the data base schema templates are modified with the same name and component as like ,

<CMS_INPUT_LINK name="csExternalTeaserLink" allowEmpty="yes" useLanguages="yes">

Code in form:


  <CMS_INPUT_LINK name="csExternalTeaserLink" allowEmpty="yes" useLanguages="yes">
    <LANGINFOS>
      <LANGINFO lang="*" label="External Teaser-Link (http://... or https://...)"/>
      <LANGINFO lang="DE" label="Externer Teaser-Verweis (http://... or https://...)"/>
    </LANGINFOS>
    <LINKEDITORS>
      <LINKEDITOR name="lt_overlaylink_news"/>
      <LINKEDITOR name="lt_overlaylink_external"/>
      <LINKEDITOR name="lt_overlaylink_internal"/>
      <LINKEDITOR name="lt_overlaylink_email"/>
      <LINKEDITOR name="lt_overlaylink_media"/>
    </LINKEDITORS>
  </CMS_INPUT_LINK>

Template Code:

<atom:entry>

        <atom:title><![CDATA[$CMS_VALUE(content.news_headline,default:"")$]]></atom:title>

        <!-- HeadLine: $CMS_VALUE(content.news_headline,default:"")$ -->       

        <!-- ExternalLink: $CMS_VALUE(content.external_link,default:"")$ -->

        <!-- ExternalLinkRef: $CMS_VALUE(content.external_link.ref)$ -->       

        $CMS_FOR(attr,content.external_link.getAttributes)$

             <!-- OutPut For1: $CMS_VALUE(attr.key)$: $CMS_VALUE(attr.value)$ -->

              <!-- OutPut For2: $CMS_VALUE(attr.value)$ -->

             $CMS_SET(templateName)$$CMS_VALUE(attr.value)$ $CMS_END_SET$

                  <!-- OutPut For3: $CMS_VALUE(attr.value)$ -->   

                  <!-- OutPut For4: $CMS_VALUE(templateName)$ -->   

                 $CMS_IF("lt_overlaylink_external".equals(templateName.trim()))$

                     $--This condition belongs to external link--$

                     <atom:link rel="detail" type="text/html" href="$CMS_VALUE(content.external_link)$"/>

                 $CMS_ELSIF("lt_overlaylink_internal".equals(templateName.trim()))$

                     $--This condition belongs to internal link--$

                     <atom:link rel="detail" type="text/html" href="$CMS_VALUE(content.external_link)$"/>

                 $CMS_ELSIF("lt_overlaylink_email".equals(templateName.trim()))$

                     $--This condition belongs to email link--$

                     <atom:link rel="detail" type="text/html" href="$CMS_VALUE(content.external_link)$"/>

                 $CMS_ELSIF("lt_overlaylink_media".equals(templateName.trim()))$

                     $--This condition belongs to media link--$

                     <atom:link rel="detail" type="text/html" href="$CMS_VALUE(content.external_link)$"/>

                 $CMS_ELSE$

                     $--This condition is default news details page.No external link is selected manually --$

                     <atom:link rel="detail" type="text/html" href="$CMS_REF(ssNewsRoot,template:"BNN.news_detail_output",contentId:content.fs_id,abs:2)$"/>

                 $CMS_END_IF$

        $CMS_END_FOR$

As the 64+ database forms are changed....

But Still i am getting the error..not the entered value....

0 Kudos

Hello,

We have resolved the problem by modifiying all the news template with the CMS_INPUT_LINK name="xxxxx",then the problem is no more in the system..Name should be common across all the news templates.

Thanks,

Siva

0 Kudos