Removing "throws exception" from views. Addresses issue #70

pull/129/merge
Amanda Anganes 2012-07-31 12:28:46 -04:00
parent 5cf6359f7d
commit 3982561a5b
9 changed files with 153 additions and 68 deletions

View File

@ -15,16 +15,15 @@
******************************************************************************/
package org.mitre.oauth2.view;
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.web.servlet.view.AbstractView;
@ -42,7 +41,7 @@ import com.google.gson.JsonSerializer;
public class TokenIntrospection extends AbstractView {
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {
@ -101,8 +100,11 @@ public class TokenIntrospection extends AbstractView {
response.setContentType("application/json");
Writer out = response.getWriter();
Writer out;
try {
out = response.getWriter();
Object obj = model.get("entity");
if (obj == null) {
obj = model;
@ -110,6 +112,13 @@ public class TokenIntrospection extends AbstractView {
gson.toJson(obj, out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -15,6 +15,7 @@
******************************************************************************/
package org.mitre.openid.connect.view;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@ -39,9 +40,7 @@ public class ExceptionAsJSONView extends AbstractView {
* javax.servlet.http.HttpServletResponse)
*/
@Override
protected void renderMergedOutputModel(Map<String, Object> model,
HttpServletRequest requesr, HttpServletResponse response)
throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest requesr, HttpServletResponse response) {
response.setContentType("application/json");
@ -53,7 +52,16 @@ public class ExceptionAsJSONView extends AbstractView {
jsonObject.addProperty("error_description",
((Exception) ex).getMessage());
try {
response.getWriter().write(jsonObject.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -5,6 +5,7 @@ package org.mitre.openid.connect.view;
*/
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
@ -19,14 +20,12 @@ import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class JSONClientView extends AbstractView{
public class JSONClientView extends AbstractView {
/* (non-Javadoc)
* @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void renderMergedOutputModel(Map<String, Object> model,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@ -48,14 +47,23 @@ public class JSONClientView extends AbstractView{
response.setContentType("application/json");
Writer out = response.getWriter();
Writer out;
try {
out = response.getWriter();
Object obj = model.get("entity");
if (obj == null) {
obj = model;
}
gson.toJson(obj, out);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -15,16 +15,15 @@
******************************************************************************/
package org.mitre.openid.connect.view;
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Type;
import java.security.PublicKey;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mitre.jwt.model.ClaimSet;
import org.mitre.openid.connect.model.IdToken;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.web.servlet.view.AbstractView;
@ -34,7 +33,6 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
@ -43,9 +41,7 @@ public class JSONIdTokenView extends AbstractView {
/* (non-Javadoc)
* @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void renderMergedOutputModel(Map<String, Object> model,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@ -78,7 +74,12 @@ public class JSONIdTokenView extends AbstractView {
response.setContentType("application/json");
Writer out = response.getWriter();
Writer out;
try {
out = response.getWriter();
Object obj = model.get("entity");
if (obj == null) {
@ -86,6 +87,14 @@ public class JSONIdTokenView extends AbstractView {
}
gson.toJson(obj, out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -15,6 +15,7 @@
******************************************************************************/
package org.mitre.openid.connect.view;
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
import java.util.Set;
@ -37,9 +38,7 @@ public class JSONUserInfoView extends AbstractView{
/* (non-Javadoc)
* @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void renderMergedOutputModel(Map<String, Object> model,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
UserInfo userInfo = (UserInfo) model.get("userInfo");
@ -64,11 +63,25 @@ public class JSONUserInfoView extends AbstractView{
}).create();
response.setContentType("application/json");
Writer out = response.getWriter();
Writer out;
try {
out = response.getWriter();
gson.toJson(toJson(userInfo, scope), out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private JsonObject toJson(UserInfo ui, Set<String> scope) {
JsonObject obj = new JsonObject();
if (scope.contains("openid")) {

View File

@ -18,11 +18,9 @@
*/
package org.mitre.openid.connect.view;
import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Type;
import java.math.BigInteger;
import java.security.PublicKey;
import java.security.interfaces.ECPublicKey;
import java.security.interfaces.RSAPublicKey;
import java.util.Map;
@ -35,16 +33,12 @@ import org.mitre.jwt.signer.impl.RsaSigner;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.web.servlet.view.AbstractView;
import com.google.common.collect.BiMap;
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
/**
* @author jricher
@ -53,7 +47,7 @@ import com.google.gson.JsonSerializer;
public class JwkKeyListView extends AbstractView {
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder()
.setExclusionStrategies(new ExclusionStrategy() {
@ -74,10 +68,8 @@ public class JwkKeyListView extends AbstractView {
})
.create();
response.setContentType("application/json");
Writer out = response.getWriter();
//BiMap<String, PublicKey> keyMap = (BiMap<String, PublicKey>) model.get("keys");
Map<String, JwtSigner> signers = (Map<String, JwtSigner>) model.get("signers");
@ -115,8 +107,20 @@ public class JwkKeyListView extends AbstractView {
} // TODO: deal with non-RSA key types
}
Writer out;
try {
out = response.getWriter();
gson.toJson(obj, out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

View File

@ -15,6 +15,7 @@
******************************************************************************/
package org.mitre.openid.connect.view;
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
import java.util.Set;
@ -38,9 +39,7 @@ public class POCOUserInfoView extends AbstractView{
/* (non-Javadoc)
* @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void renderMergedOutputModel(Map<String, Object> model,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
UserInfo userInfo = (UserInfo) model.get("userInfo");
@ -65,8 +64,21 @@ public class POCOUserInfoView extends AbstractView{
}).create();
response.setContentType("application/json");
Writer out = response.getWriter();
Writer out;
try {
out = response.getWriter();
gson.toJson(toPoco(userInfo, scope), out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private JsonObject toPoco(UserInfo ui, Set<String> scope) {

View File

@ -15,6 +15,7 @@
******************************************************************************/
package org.mitre.swd.view;
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
@ -32,7 +33,7 @@ import com.google.gson.GsonBuilder;
public class JsonOpenIdConfigurationView extends AbstractView {
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {
@Override
@ -55,15 +56,24 @@ public class JsonOpenIdConfigurationView extends AbstractView {
response.setContentType("application/json");
Writer out = response.getWriter();
Object obj = model.get("entity");
if (obj == null) {
obj = model;
}
Writer out;
try {
out = response.getWriter();
gson.toJson(obj, out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

View File

@ -18,6 +18,7 @@
*/
package org.mitre.swd.view;
import java.io.IOException;
import java.io.Writer;
import java.util.Map;
@ -42,7 +43,7 @@ public class SwdResponse extends AbstractView {
* @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
Gson gson = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {
@Override
@ -65,14 +66,25 @@ public class SwdResponse extends AbstractView {
response.setContentType("application/json");
Writer out = response.getWriter();
Object obj = model.get("entity");
if (obj == null) {
obj = model;
}
Writer out;
try {
out = response.getWriter();
gson.toJson(obj, out);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}