org.openid4java.message.IndirectError Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2006-2008 Sxip Identity Corporation
*/
package org.openid4java.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openid4java.OpenIDException;
/**
* @author Marius Scurtescu, Johnny Bufu
*/
public class IndirectError extends Message
{
private static Log _log = LogFactory.getLog(IndirectError.class);
private static final boolean DEBUG = _log.isDebugEnabled();
protected IndirectError(String msg, String returnTo)
{
this(msg, returnTo, false);
}
protected IndirectError(String msg, String returnTo, boolean compatibility)
{
this(null, msg, returnTo, compatibility);
}
protected IndirectError(OpenIDException e, String msg, String returnTo, boolean compatibility)
{
set("openid.mode", "error");
set("openid.error", msg);
_destinationUrl = returnTo;
_exception = e;
if (! compatibility)
set("openid.ns", OPENID2_NS);
}
// exception that generated the error, if any
private OpenIDException _exception;
protected IndirectError(ParameterList params)
{
super(params);
}
public static IndirectError createIndirectError(OpenIDException e, String returnTo)
{
return createIndirectError(e, returnTo, false);
}
public static IndirectError createIndirectError(String msg, String returnTo)
{
return createIndirectError(msg, returnTo, false);
}
public static IndirectError createIndirectError(OpenIDException e,
String returnTo,
boolean compatibility)
{
return createIndirectError(e, e.getMessage(), returnTo, compatibility);
}
public static IndirectError createIndirectError(String msg, String returnTo,
boolean compatibility)
{
return createIndirectError(null, msg, returnTo, compatibility);
}
public static IndirectError createIndirectError(OpenIDException e,
String msg, String returnTo,
boolean compatibility)
{
IndirectError err = new IndirectError(e, msg, returnTo, compatibility);
try
{
err.validate();
}
catch (MessageException ex)
{
_log.error("Invalid " + (compatibility? "OpenID1" : "OpenID2") +
" indirect error message created for message: " + msg);
}
_log.debug("Created indirect error message:\n" + err.keyValueFormEncoding());
return err;
}
public static IndirectError createIndirectError(ParameterList params)
{
IndirectError err = new IndirectError(params);
try
{
err.validate();
}
catch (MessageException e)
{
_log.error("Invalid direct error message created: "
+ err.keyValueFormEncoding() );
}
_log.debug("Created indirect error message:\n" + err.keyValueFormEncoding());
return err;
}
public OpenIDException getException()
{
return _exception;
}
public void setException(OpenIDException e)
{
this._exception = e;
}
public void setErrorMsg(String msg)
{
set("openid.error", msg);
}
public String getErrorMsg()
{
return getParameterValue("openid.error");
}
public void setContact(String contact)
{
set("openid.contact", contact);
}
public String getContact()
{
return getParameterValue("openid.contact");
}
public void setReference(String reference)
{
set("openid.reference", reference);
}
public String getReference()
{
return getParameterValue("openid.reference");
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy