package com.bagri.core.system;
import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.annotation.adapters.XmlAdapter;
/**
* The adapter converting Collection of permissions to Map of permissions
*
* @author Denis Sukhoroslov
*
*/
public class PermissionsAdapter extends XmlAdapter<Permissions, Map<String, Permission>> {
/**
* {@inheritDoc}
*/
@Override
public Permissions marshal(Map<String, Permission> perms) throws Exception {
Permissions xdmPerms = new Permissions();
for (Permission xdmPerm : perms.values()) {
xdmPerms.addPermission(xdmPerm);
}
return xdmPerms;
}
/**
* {@inheritDoc}
*/
@Override
public Map<String, Permission> unmarshal(Permissions xdmPerms) throws Exception {
Map<String, Permission> perms = new HashMap<String, Permission>();
for (Permission xdmPerm : xdmPerms.permissions()) {
perms.put(xdmPerm.getResource(), xdmPerm);
}
return perms;
}
}