/*
* Aipo is a groupware program developed by TOWN, Inc.
* Copyright (C) 2004-2015 TOWN, Inc.
* http://www.aipo.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.aimluck.eip.services.social.gadgets;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import net.sf.ezmorph.bean.MorphDynaBean;
/**
*
*/
public class ALGadgetSpec extends HashMap<String, Object> implements
Serializable {
private static final long serialVersionUID = -1189192399765199814L;
public String getTitle() {
return (String) get("title");
}
public String getUrl() {
return (String) get("url");
}
public String getDescription() {
return (String) get("description");
}
public String getIcon() {
return (String) get("icon");
}
public int getHeight() {
try {
return (Integer) get("height");
} catch (Throwable t) {
return 200;
}
}
public boolean isScrolling() {
try {
return (Boolean) get("scrolling");
} catch (Throwable t) {
return false;
}
}
@SuppressWarnings("unchecked")
public List<ALUserPref> getUserPrefs() {
List<ALUserPref> result = new ArrayList<ALUserPref>();
Map<String, MorphDynaBean> userPrefs =
(Map<String, MorphDynaBean>) get("userPrefs");
if (userPrefs != null) {
Iterator<Entry<String, MorphDynaBean>> iterator =
userPrefs.entrySet().iterator();
while (iterator.hasNext()) {
ALUserPref userPref = new ALUserPref();
Entry<String, MorphDynaBean> next = iterator.next();
String key = next.getKey();
userPref.put("name", key);
MorphDynaBean value = next.getValue();
// displayName
userPref.put("displayName", value.get("displayName"));
// default
userPref.put("default", value.get("default"));
// orderedEnumValues
userPref.put("orderedEnumValues", value.get("orderedEnumValues"));
// type
userPref.put("type", value.get("type"));
result.add(userPref);
}
}
return result;
}
@SuppressWarnings("unchecked")
public List<ALOAuthService> getOAuthServices() {
return (List<ALOAuthService>) get("oauthService");
}
}