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

clean up some throws clauses

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