private PortletConfiguration createConfigurationFromGv(final GenericValue portletConfigGV)
{
if (portletConfigGV == null)
{
return null;
}
final Long id = portletConfigGV.getLong(Columns.ID);
final Option<URI> openSocialSpecUri = Option.option(getGadgetXmlURI(portletConfigGV.getString(Columns.GADGET_XML), id));
final String colorString = portletConfigGV.getString(Columns.COLOR);
final Color gadgetColor = StringUtils.isEmpty(colorString) ? null : Color.valueOf(colorString);
final Option<ModuleCompleteKey> completeModuleKey = Option.option(portletConfigGV.getString(Columns.MODULE_KEY)).map(new Function<String, ModuleCompleteKey>()
{
@Override
public ModuleCompleteKey apply(final String input)
{
return new ModuleCompleteKey(input);
}
});
final Map<String, String> userPrefs = getUserPreferences(id, openSocialSpecUri, completeModuleKey);
return new PortletConfigurationImpl(id, portletConfigGV.getLong(Columns.PORTALPAGE),
portletConfigGV.getInteger(Columns.COLUMN), portletConfigGV.getInteger(Columns.ROW), openSocialSpecUri,
gadgetColor, userPrefs, completeModuleKey);
}