Hi Maik,

https://www.canoo.com/jira/browse/UBA-6840 was fixed in ULC2008

How have you implemented your CellEditor? It must have a no args ctr. Else
you should get the following exception:

java.lang.IllegalArgumentException: Unable to clone given cell component:
class 'ULCValidationTextField' does not have an empty constructor and
overrides 'ICellComponent' contract.
        at
com.ulcjava.base.server.CellComponentTemplateStorage.createTemplate(CellCo
mponentTemplateStorage.java:109)

Are you getting this message?

You can create your cell editor as follows where you can initialize
ULCValidationTextField in the no args ctr:

public class TextEditor extends ULCValidationTextField implements
ITableCellEditor {

        public TextEditor() {
            super (new ULCValidationModel(), "key",
ValidationConstants.TYPE_FOCUS_LOST);
            setDataType(new ULCValidationDataType());
        }

        public IEditorComponent getTableCellEditorComponent(ULCTable
table, Object value, int row) {
            return this;
        }
    }

BTW, please consider buying premium support for guaranteed response time.

Thanks and regards,

Janak

-----------------------------------------
Janak Mulani

email: [email protected]
url: http://www.canoo.com

Beyond AJAX - Java Rich Internet Applications

http://www.canoo.com/ulc
-----------------------------------------

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> [email protected]
> Sent: Wednesday, January 06, 2010 8:53 PM
> To: [email protected]
> Subject: [ULC-developer] Crash after migration from 6.1.1 to
> ULC2008u3 caused by CellComponentTemplateStorage
>
> Hello ULC-Folks,
>
> after our ULC upgrade from 6.1.1 to 2008u3 we have a crash
> due to the usage of a validating table cell editor.
>
> java.lang.RuntimeException: Unable to create new instance of
> cell component
>       at
> com.ulcjava.base.server.CellComponentTemplateStorage.createTem
> plate(CellComponentTemplateStorage.java:26)
>       at
> com.ulcjava.base.server.CellComponentTemplateStorage.getTempla
> te(CellComponentTemplateStorage.java:38)
>       at com.ulcjava.base.application.ULCTable.a(ULCTable.java:380)
>       at
> com.ulcjava.base.application.ULCTable.requestCellEditorCompone
> nts(ULCTable.java:495)
>       at
> com.ulcjava.base.application.ULCTable$ULCTableDispatcher.reque
> stCellEditorComponents(ULCTable.java:7)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess
> orImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> odAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at
> com.ulcjava.base.shared.internal.ReflectionUtilities.invokeMet
> hod(ReflectionUtilities.java:51)
>       at
> com.ulcjava.base.application.ULCProxy.processInvokeULC(ULCProx
> y.java:67)
>       at
> com.ulcjava.base.application.ULCProxy.handleRequest(ULCProxy.java:401)
>       at
> com.ulcjava.base.server.ULCSession.processRequest(ULCSession.java:234)
>       at
> com.ulcjava.base.server.ULCSession.processRequests(ULCSession.
> java:387)
>       at
> com.ulcjava.base.development.DevelopmentContainerAdapter.proce
> ssRequests(DevelopmentContainerAdapter.java:4)
>       at
> com.ulcjava.base.development.DevelopmentConnector.sendRequests
> (DevelopmentConnector.java:31)
>       at
> com.ulcjava.base.client.UISession$k_.run(UISession$k_.java:66)
>       at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.InstantiationException:
> com.canoo.ulc.community.validation.ULCValidationTextField
>       at java.lang.Class.newInstance0(Class.java:340)
>       at java.lang.Class.newInstance(Class.java:308)
>       at
> com.ulcjava.base.server.CellComponentTemplateStorage.createTem
> plate(CellComponentTemplateStorage.java:27)
>       ... 17 more
>
> I investigated as far as the non available source code
> permits. My resuluts/guess is the following:
>
> The problem is caused by our ValidatingCellEditor (implements
> ITableCellEditor) which uses a ULCValidationTextField as
> editor component. This class does not posess a parameterless
> constructor, but the CellComponentTemplateStorage appears to
> try to create a new instance (beside the already existing
> one, which is always returned by
> getTableCellEditorComponent). This fails due to the missing
> constructor -> crash.
>
> How can i circumvent this problem?
>
>
> Kind regards
> Maik Scheibler
>
>
> Mit freundlichen Grüßen
> Maik Scheibler
>
> --
> Sächsische Aufbaubank - Förderbank - (SAB)
> Informationstechnologie
> Pirnaische Str. 9
> 01069 Dresden
> Tel.: +49 (351) 4910 - 1352
> Fax.: +49 (351) 4910 - 1305
> mailto:[email protected]
>
>
> Diese E-Mail und alle Anhänge können vertrauliche und/oder rechtlich
> geschützte Informationen enthalten. Wenn Sie nicht der richtige
> Adressat sind oder diese E-Mail irrtümlich erhalten haben,
> informieren Sie bitte sofort den Absender und vernichten Sie diese
> E-Mail. Das unerlaubte Kopieren sowie die unbefugte
> Weitergabe dieser E-Mail
> sind nicht gestattet.
>
> Sächsische Aufbaubank - Förderbank - Anstalt des öffentlichen Rechts,
> Sitz Dresden,
> Amtsgericht Dresden HRA 5353,
> Ust-IdNr. DE179593934.
>
>
>
> _______________________________________________
> ULC-developer mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/ulc-developer
>
_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer

Reply via email to