提交 16e4b4c6 authored 作者: Noel Grandin's avatar Noel Grandin

clean up some throws clauses

上级 6e26dce4
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
package org.h2.security.auth; package org.h2.security.auth;
import java.io.IOException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
...@@ -13,6 +14,7 @@ import java.util.HashSet; ...@@ -13,6 +14,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import javax.xml.parsers.ParserConfigurationException;
import org.h2.api.CredentialsValidator; import org.h2.api.CredentialsValidator;
import org.h2.api.UserToRolesMapper; import org.h2.api.UserToRolesMapper;
import org.h2.engine.Database; import org.h2.engine.Database;
...@@ -25,6 +27,7 @@ import org.h2.message.Trace; ...@@ -25,6 +27,7 @@ import org.h2.message.Trace;
import org.h2.security.auth.impl.AssignRealmNameRole; import org.h2.security.auth.impl.AssignRealmNameRole;
import org.h2.security.auth.impl.JaasCredentialsValidator; import org.h2.security.auth.impl.JaasCredentialsValidator;
import org.h2.util.StringUtils; import org.h2.util.StringUtils;
import org.xml.sax.SAXException;
/** /**
* Default authenticator implementation. * Default authenticator implementation.
...@@ -223,19 +226,20 @@ public class DefaultAuthenticator implements Authenticator { ...@@ -223,19 +226,20 @@ public class DefaultAuthenticator implements Authenticator {
* *
* @param configUrl URL of configuration file * @param configUrl URL of configuration file
*/ */
public void configureFromUrl(URL configUrl) throws Exception { public void configureFromUrl(URL configUrl) throws AuthenticationException,
SAXException, IOException, ParserConfigurationException {
H2AuthConfig config = H2AuthConfigXml.parseFrom(configUrl); H2AuthConfig config = H2AuthConfigXml.parseFrom(configUrl);
configureFrom(config); configureFrom(config);
} }
void configureFrom(H2AuthConfig config) throws Exception { void configureFrom(H2AuthConfig config) throws AuthenticationException {
allowUserRegistration = config.isAllowUserRegistration(); allowUserRegistration = config.isAllowUserRegistration();
createMissingRoles = config.isCreateMissingRoles(); createMissingRoles = config.isCreateMissingRoles();
Map<String, CredentialsValidator> newRealms = new HashMap<>(); Map<String, CredentialsValidator> newRealms = new HashMap<>();
for (RealmConfig currentRealmConfig : config.getRealms()) { for (RealmConfig currentRealmConfig : config.getRealms()) {
String currentRealmName = currentRealmConfig.getName(); String currentRealmName = currentRealmConfig.getName();
if (currentRealmName == null) { if (currentRealmName == null) {
throw new Exception("Missing realm name"); throw new AuthenticationException("Missing realm name");
} }
currentRealmName = currentRealmName.toUpperCase(); currentRealmName = currentRealmName.toUpperCase();
CredentialsValidator currentValidator = null; CredentialsValidator currentValidator = null;
...@@ -243,11 +247,11 @@ public class DefaultAuthenticator implements Authenticator { ...@@ -243,11 +247,11 @@ public class DefaultAuthenticator implements Authenticator {
currentValidator = (CredentialsValidator) Class.forName(currentRealmConfig.getValidatorClass()) currentValidator = (CredentialsValidator) Class.forName(currentRealmConfig.getValidatorClass())
.newInstance(); .newInstance();
} catch (Exception e) { } catch (Exception e) {
throw new Exception("invalid validator class fo realm " + currentRealmName, e); throw new AuthenticationException("invalid validator class fo realm " + currentRealmName, e);
} }
currentValidator.configure(new ConfigProperties(currentRealmConfig.getProperties())); currentValidator.configure(new ConfigProperties(currentRealmConfig.getProperties()));
if (newRealms.put(currentRealmConfig.getName().toUpperCase(), currentValidator) != null) { if (newRealms.put(currentRealmConfig.getName().toUpperCase(), currentValidator) != null) {
throw new Exception("Duplicate realm " + currentRealmConfig.getName()); throw new AuthenticationException("Duplicate realm " + currentRealmConfig.getName());
} }
} }
this.realms = newRealms; this.realms = newRealms;
...@@ -258,7 +262,7 @@ public class DefaultAuthenticator implements Authenticator { ...@@ -258,7 +262,7 @@ public class DefaultAuthenticator implements Authenticator {
currentUserToRolesMapper = (UserToRolesMapper) Class currentUserToRolesMapper = (UserToRolesMapper) Class
.forName(currentUserToRolesMapperConfig.getClassName()).newInstance(); .forName(currentUserToRolesMapperConfig.getClassName()).newInstance();
} catch (Exception e) { } catch (Exception e) {
throw new Exception("Invalid class in UserToRolesMapperConfig", e); throw new AuthenticationException("Invalid class in UserToRolesMapperConfig", e);
} }
currentUserToRolesMapper.configure(new ConfigProperties(currentUserToRolesMapperConfig.getProperties())); currentUserToRolesMapper.configure(new ConfigProperties(currentUserToRolesMapperConfig.getProperties()));
newUserToRolesMapper.add(currentUserToRolesMapper); newUserToRolesMapper.add(currentUserToRolesMapper);
......
...@@ -5,8 +5,10 @@ ...@@ -5,8 +5,10 @@
*/ */
package org.h2.security.auth; package org.h2.security.auth;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URL; import java.net.URL;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory; import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes; import org.xml.sax.Attributes;
...@@ -90,16 +92,18 @@ public class H2AuthConfigXml extends DefaultHandler{ ...@@ -90,16 +92,18 @@ public class H2AuthConfigXml extends DefaultHandler{
/** /**
* Parse the xml * Parse the xml
*/ */
public static H2AuthConfig parseFrom(URL url) throws Exception{ public static H2AuthConfig parseFrom(URL url)
try (InputStream inputStream= url.openStream()) { throws SAXException, IOException, ParserConfigurationException {
try (InputStream inputStream = url.openStream()) {
return parseFrom(inputStream); return parseFrom(inputStream);
} }
} }
public static H2AuthConfig parseFrom(InputStream inputStream) throws Exception{ public static H2AuthConfig parseFrom(InputStream inputStream)
throws SAXException, IOException, ParserConfigurationException {
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser(); SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
H2AuthConfigXml xmlHandler = new H2AuthConfigXml(); H2AuthConfigXml xmlHandler = new H2AuthConfigXml();
saxParser.parse(inputStream,xmlHandler); saxParser.parse(inputStream, xmlHandler);
return xmlHandler.getResult(); return xmlHandler.getResult();
} }
} }
...@@ -30,7 +30,6 @@ import java.sql.Types; ...@@ -30,7 +30,6 @@ import java.sql.Types;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Properties; import java.util.Properties;
import org.h2.command.CommandInterface; import org.h2.command.CommandInterface;
import org.h2.engine.ConnectionInfo; import org.h2.engine.ConnectionInfo;
import org.h2.engine.Constants; import org.h2.engine.Constants;
...@@ -508,7 +507,7 @@ public class PgServerThread implements Runnable { ...@@ -508,7 +507,7 @@ public class PgServerThread implements Runnable {
sendMessage(); sendMessage();
} }
private void sendDataRow(ResultSet rs, int[] formatCodes) throws Exception { private void sendDataRow(ResultSet rs, int[] formatCodes) throws IOException, SQLException {
ResultSetMetaData metaData = rs.getMetaData(); ResultSetMetaData metaData = rs.getMetaData();
int columns = metaData.getColumnCount(); int columns = metaData.getColumnCount();
startMessage('D'); startMessage('D');
...@@ -535,7 +534,7 @@ public class PgServerThread implements Runnable { ...@@ -535,7 +534,7 @@ public class PgServerThread implements Runnable {
} }
private void writeDataColumn(ResultSet rs, int column, int pgType, boolean text) private void writeDataColumn(ResultSet rs, int column, int pgType, boolean text)
throws Exception { throws IOException {
Value v = ((JdbcResultSet) rs).get(column); Value v = ((JdbcResultSet) rs).get(column);
if (v == ValueNull.INSTANCE) { if (v == ValueNull.INSTANCE) {
writeInt(-1); writeInt(-1);
...@@ -758,7 +757,7 @@ public class PgServerThread implements Runnable { ...@@ -758,7 +757,7 @@ public class PgServerThread implements Runnable {
sendMessage(); sendMessage();
} }
private void sendRowDescription(ResultSetMetaData meta) throws Exception { private void sendRowDescription(ResultSetMetaData meta) throws IOException, SQLException {
if (meta == null) { if (meta == null) {
sendNoData(); sendNoData();
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论