package com.airlock.iam.saml2.infrastructure.state;

import com.airlock.iam.base.api.domain.model.exception.FailureException;
import com.sun.identity.saml2.common.SAML2Exception;
import com.sun.identity.saml2.protocol.LogoutRequest;
import com.sun.identity.saml2.protocol.impl.LogoutRequestImpl;

final class LogoutRequestSerializer implements Serializer<LogoutRequest> {
   public String mapToStore(LogoutRequest value) {
      try {
         return value.toXMLString(true, true);
      } catch (SAML2Exception e) {
         throw new FailureException(e);
      }
   }

   public LogoutRequest mapFromStore(String xmlString) {
      try {
         return new LogoutRequestImpl(xmlString);
      } catch (SAML2Exception e) {
         throw new FailureException(e);
      }
   }
}
