You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2007/10/26 15:08:50 UTC

[jira] Assigned: (FELIX-411) Preferences service throws ClassCastException

     [ https://issues.apache.org/jira/browse/FELIX-411?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler reassigned FELIX-411:
--------------------------------------

    Assignee: Carsten Ziegeler

> Preferences service throws ClassCastException
> ---------------------------------------------
>
>                 Key: FELIX-411
>                 URL: https://issues.apache.org/jira/browse/FELIX-411
>             Project: Felix
>          Issue Type: Bug
>          Components: Preferences Service
>            Reporter: Angelo van der Sijpt
>            Assignee: Carsten Ziegeler
>
> The preferences admin throws a ClassCastException when writing its cache. The exception is
> java.lang.ClassCastException: [Lorg.apache.felix.prefs.PreferencesImpl; cannot be cast to org.apache.felix.prefs.PreferencesImpl
>         at org.apache.felix.prefs.impl.PreferencesManager.save(PreferencesManager.java:179)
>         ...
> This seems to have to do with the implementation of PreferencesImpl: in its constructor, all preferences are loaded. The system preferences are stored,
> 61    this.systemTree = prefs[i];
> but the user preferences are stored incorrectly:
> 63    this.trees.put(prefs[i].getDescription().getIdentifier(), prefs);
> The full array of prefs is stored, not just prefs[i]; this causes the classcastexception.
> A possible fix could be
> 63    this.trees.put(prefs[i].getDescription().getIdentifier(), prefs[i]);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.