public static void gotGadgetMetaData(final JavaScriptObject metadata)
{
List<GadgetMetaDataDTO> gadgetMetaDataList = new LinkedList<GadgetMetaDataDTO>();
for (GeneralGadgetDefinition gadgetDef : gadgetDefs)
{
gadgetMetaDataList.add(new GadgetMetaDataDTO(gadgetDef));
}
for (int i = 0; i < getGadgetCount(metadata); i++)
{
if (isGadgetValid(metadata, i))
{
String url = getGadgetUrl(metadata, i);
int j = 0;
for (j = 0; j < gadgetDefs.size(); j++)
{
if (gadgetDefs.get(j).getUrl().equals(url))
{
break;
}
}
GadgetMetaDataDTO gMetaData = new GadgetMetaDataDTO(gadgetDefs.get(j));
gMetaData.setTitle(getGadgetTitle(metadata, i));
gMetaData.setTitleUrl(getGadgetTitleUrl(metadata, i));
gMetaData.setDescription(getGadgetDescription(metadata, i));
gMetaData.setAuthor(getGadgetAuthor(metadata, i));
gMetaData.setAuthorEmail(getGadgetAuthorEmail(metadata, i));
gMetaData.setThumbnail(getGadgetThumbnail(metadata, i));
gMetaData.setScreenshot(getGadgetScreenshot(metadata, i));
gMetaData.setString(getGadgetString(metadata, i));
List<UserPrefDTO> userPrefs = new ArrayList<UserPrefDTO>();
String[] keys = getUserPrefsKeys(metadata, i);
for (int k = 0; k < keys.length; k++)
{
UserPrefDTO userPref = new UserPrefDTO();
userPref.setDisplayName(getUserPrefDisplayName(metadata, i, keys[k]));
userPref.setDataType(getUserPrefType(metadata, i, keys[k]).toUpperCase());
userPrefs.add(userPref);
}
gMetaData.setUserPrefs(userPrefs);
List<String> features = new ArrayList<String>();
String[] featuresFromGadget = getFeatures(metadata, i);
for (int f = 0; f < featuresFromGadget.length; f++)
{
features.add(featuresFromGadget[f]);
}
gMetaData.setFeatures(features);
List<String> views = new ArrayList<String>();
String[] viewsFromGadget = getViewNames(metadata, i);
for (int f = 0; f < viewsFromGadget.length; f++)
{
views.add(viewsFromGadget[f]);
}
gMetaData.setViewNames(views);
gadgetMetaDataList.remove(j);
gadgetMetaDataList.add(j, gMetaData);
}
}