[ http://issues.apache.org/jira/browse/IBATIS-57?page=history ]
Clinton Begin closed IBATIS-57:
-------------------------------
Assign To: Clinton Begin
Resolution: Fixed
Fix Version: 2.0.9b
ScriptRunner has been deprecated.
> Refactoring classes in the com.ibatis.common.jdbc package
> ---------------------------------------------------------
>
> Key: IBATIS-57
> URL: http://issues.apache.org/jira/browse/IBATIS-57
> Project: iBatis for Java
> Type: Improvement
> Versions: 2.0.9
> Environment: 2.0.9
> Reporter: Siveton Vincent
> Assignee: Clinton Begin
> Priority: Minor
> Fix For: 2.0.9b
>
> In the current release, each class in com.ibatis.common.jdbc package has a
> public constructor with a given map as parameter.
> Using maps implies that the developer should know exactly the needed keys to
> construct a valid object. Actually, the developer need to read the
> implementaion to know which are the needed properties (the needed properties
> are not the same between constructor, checks SimpleDataSource and
> ScriptRunner classes...)
> Moreover, no validation of keys exists or throws conventional errors between
> these classes. Maybe, we can have something like:
> if (props.get(PROP_JDBC_DRIVER) == null) {
> throw new NestedRuntimeException("The property '" + PROP_JDBC_DRIVER + "'
> is required.");
> } else {
> jdbcDriver = (String) props.get(PROP_JDBC_DRIVER);
> }
> PROP_JDBC_DRIVER is a public static field in an interface or an abstract
> class because all classes use it.
> Like SimpleDataSource class contains only getter, I propose to use an
> immutable object to instanciate this object and maybe the same pattern for
> all classes in this package.
> The main idea of this code refactoring is to configure more easily theses
> objects like:
> Properties props = new Properties();
> URL url = new URL(MyTest.class.getResource("/").toString()+ myPropertiesConf);
> props.load(url.openStream());
> DataSource ds = new SimpleDataSource(props);
> OR
> ScriptRunner sr = new ScriptRunner(props);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira