Lots o' profile handler refactoring
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / profile / saml2 / ProfileResponseContext.java
index b43b181..3bf35d8 100644 (file)
@@ -17,8 +17,9 @@
 package edu.internet2.middleware.shibboleth.idp.profile.saml2;
 
 import org.joda.time.DateTime;
-import org.opensaml.saml2.core.SubjectQuery;
 import org.opensaml.saml2.core.AttributeStatement;
+import org.opensaml.saml2.core.Issuer;
+import org.opensaml.saml2.core.SubjectQuery;
 
 import edu.internet2.middleware.shibboleth.common.profile.ProfileRequest;
 
@@ -33,6 +34,15 @@ public class ProfileResponseContext {
     /** Profile request message. */
     private SubjectQuery message;
 
+    /** Response issuer. */
+    private Issuer issuer;
+
+    /** Response destination. */
+    private String destination;
+
+    /** Provider id to retrieve relying party configuration. */
+    private String providerId;
+
     /** Issue instant for the response. */
     private DateTime issueInstant;
 
@@ -45,10 +55,10 @@ public class ProfileResponseContext {
      * @param r serlvet request
      * @param m decoded profile request message
      */
-
     public ProfileResponseContext(ProfileRequest r, SubjectQuery m) {
         request = r;
         message = m;
+        providerId = m.getIssuer().getSPProvidedID();
         issueInstant = new DateTime();
     }
 
@@ -71,6 +81,15 @@ public class ProfileResponseContext {
     }
 
     /**
+     * Gets the provider id.
+     * 
+     * @return provider id
+     */
+    public String getProviderId() {
+        return providerId;
+    }
+
+    /**
      * Gets the issue instant for the response.
      * 
      * @return issue instant
@@ -80,6 +99,42 @@ public class ProfileResponseContext {
     }
 
     /**
+     * Sets an issuer associated with this response.
+     * 
+     * @param i to set
+     */
+    public void setIssuer(Issuer i) {
+        issuer = i;
+    }
+
+    /**
+     * Gets the issuer associated with this response.
+     * 
+     * @return issuer
+     */
+    public Issuer getIssuer() {
+        return issuer;
+    }
+
+    /**
+     * Sets a destination associated with this response.
+     * 
+     * @param d to set
+     */
+    public void setDestination(String d) {
+        destination = d;
+    }
+
+    /**
+     * Gets the destination associated with this response.
+     * 
+     * @return destination
+     */
+    public String getDestination() {
+        return destination;
+    }
+
+    /**
      * Sets a attribute statement associated with this response.
      * 
      * @param s to sets