All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.uiuc.ncsa.myproxy.oa4mp.server.admin.permissions.PermissionConverter Maven / Gradle / Ivy

The newest version!
package edu.uiuc.ncsa.myproxy.oa4mp.server.admin.permissions;

import edu.uiuc.ncsa.security.core.IdentifiableProvider;
import edu.uiuc.ncsa.security.core.Identifier;
import edu.uiuc.ncsa.security.core.util.BasicIdentifier;
import edu.uiuc.ncsa.security.storage.data.ConversionMap;
import edu.uiuc.ncsa.security.storage.data.MapConverter;
import edu.uiuc.ncsa.security.storage.data.SerializationKeys;
import net.sf.json.JSONArray;

import java.util.ArrayList;
import java.util.List;

/**
 * 

Created by Jeff Gaynor
* on 10/11/16 at 1:58 PM */ public class PermissionConverter extends MapConverter { public PermissionConverter(SerializationKeys keys, IdentifiableProvider provider) { super(keys, provider); } protected PermissionKeys pk() { return (PermissionKeys) keys; } @Override public V fromMap(ConversionMap map, V v) { V value = super.fromMap(map, v); value.setAdminID(map.getIdentifier(pk().adminID())); value.setClientID(map.getIdentifier(pk().clientID())); if (map.containsKey(pk().ersatzID()) && map.get(pk().ersatzID())!=null) { JSONArray ids = JSONArray.fromObject(map.getString(pk().ersatzID())); // convert back to identifiers List x = new ArrayList<>(); for(Object obj: ids){ if(obj instanceof String){ x.add(BasicIdentifier.newID((String)obj)); } } value.setErsatzChain(x); } value.setSubstitute(map.getBoolean(pk().substitute())); value.setApprove(map.getBoolean(pk().canApprove())); value.setCreate(map.getBoolean(pk().canCreate())); value.setDelete(map.getBoolean(pk().canRemove())); value.setRead(map.getBoolean(pk().readable())); value.setWrite(map.getBoolean(pk().writeable())); return value; } @Override public void toMap(V value, ConversionMap data) { super.toMap(value, data); data.put(pk().adminID(), value.getAdminID()); data.put(pk().clientID(), value.getClientID()); if (value.hasErsatzChain()) { // must be serialized as an array of strings JSONArray array = new JSONArray(); for (Identifier id : value.getErsatzChain()) { array.add(id.toString()); } data.put(pk().ersatzID(), array.toString()); } data.put(pk().substitute(), value.canSubstitute()); data.put(pk().canApprove(), value.isApprove()); data.put(pk().canRemove(), value.isDelete()); data.put(pk().writeable(), value.isWrite()); data.put(pk().readable(), value.isRead()); data.put(pk().canCreate(), value.isCreate()); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy