Opened 14 years ago
Closed 14 years ago
#1202 closed enhancement (fixed)
PluginDefinition.loadPluginInformation throws strange error message if a plug-in request permissions for an item that doesn't have a RoleKey
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | minor | Milestone: | BASE 2.9.1 |
Component: | core | Version: | |
Keywords: | Cc: |
Description
This is typically child item that takes the permissions from a parent item and doesn't have a RoleKey? by itself. For example, a plug-in requests the following permission for creating a platform variant:
public Collection<Permissions> getPermissions() { return Collections.singleton( new Permissions(Item.PLATFORMVARIANT, null, EnumSet.of(Permission.CREATE)) ); }
PlatformVariant
is a child item to platform and the correct permission to ask for is write permission on platforms. In any case, when this requests is handled by the PluginDefinition.loadPluginInformation()
the following error is thrown:
net.sf.basedb.core.ItemNotFoundException: Item not found: RoleKey[id=0] at net.sf.basedb.core.RoleKey.getById(RoleKey.java:91) at net.sf.basedb.core.RoleKey.getByItemType(RoleKey.java:111) at net.sf.basedb.core.PluginDefinition.loadPluginInformation(PluginDefinition.java:1362) at net.sf.basedb.core.PluginDefinition.getNew(PluginDefinition.java:199)
I think a more descriptive error message should be thrown.
Change History (2)
comment:1 Changed 14 years ago by
Owner: | changed from everyone to Nicklas Nordborg |
---|---|
Status: | new → assigned |
comment:2 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
(In [4687]) Fixes #1202: PluginDefinition?.loadPluginInformation throws strange error message if a plug-in request permissions for an item that doesn't have a RoleKey?
Well... the error message may not be more understandable, but the condition is at least properly handled in the code.