package at.gv.egovernment.moa.id.protocols.pvp2x; import java.util.HashMap; import java.util.Map; import org.opensaml.common.SAMLObject; import org.opensaml.common.binding.artifact.SAMLArtifactMap; import org.opensaml.xml.io.MarshallingException; import at.gv.egovernment.moa.id.protocols.pvp2x.utils.StoredAssertion; public class PVPAssertionStorage implements SAMLArtifactMap { private static PVPAssertionStorage instance = null; public static PVPAssertionStorage getInstance() { if(instance == null) { instance = new PVPAssertionStorage(); } return instance; } private Map assertions = new HashMap(); public boolean contains(String artifact) { return assertions.containsKey(artifact); } public void put(String artifact, String relyingPartyId, String issuerId, SAMLObject samlMessage) throws MarshallingException { SAMLArtifactMapEntry assertion = new StoredAssertion(artifact, relyingPartyId, issuerId, samlMessage); assertions.put(artifact, assertion); } public SAMLArtifactMapEntry get(String artifact) { return assertions.get(artifact); } public void remove(String artifact) { assertions.remove(artifact); } }