You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hivemind.apache.org by "Howard M. Lewis Ship (JIRA)" <hi...@jakarta.apache.org> on 2007/10/11 18:25:51 UTC

[jira] Updated: (HIVEMIND-24) Add DataSource Factory to hivemind.lib

     [ https://issues.apache.org/jira/browse/HIVEMIND-24?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated HIVEMIND-24:
-----------------------------------------

    Assignee:     (was: Howard M. Lewis Ship)

> Add DataSource Factory to hivemind.lib
> --------------------------------------
>
>                 Key: HIVEMIND-24
>                 URL: https://issues.apache.org/jira/browse/HIVEMIND-24
>             Project: HiveMind
>          Issue Type: New Feature
>          Components: library
>    Affects Versions: 1.0
>         Environment: All
>            Reporter: Kurt R. Hoehn
>            Priority: Minor
>
> I was wondering if I could contribute a DataSource builder factory to the Hivemind Library.  Here is the hivemodule.sdl that shows its configuration.
> I believe that this would be a nice to have when implementing data drivin services.
> module (id=hivemind.lib version="1.0.0")
> {
>     "Datasource module"
>     
>     configuration-point( id=DataSourceProperties )
>     {
> 	    schema
> 	    {
> 	    	element( name=datasource-property )
> 	    	{
> 	    		attribute( name=property required=true )
> 	    		{
> 	    		   "DataSource property to set"
> 	    		}
> 	    		
> 	    		attribute( name=value required=true translator=smart)
> 	    		{
> 	    		    "Value for the DataSource property"   
> 	    		}
> 	    		
> 	    		conversion( class=org.apache.hivemind.lib.datasource.impl.DataSourceProperty )
> 	    		{
> 	    		    map( attribute=property property=property )
> 	    		    map( attribute=value property=value )
> 	    		}
> 	    	}
> 	    }
> 	}
>   	
> 	service-point( id=DataSourceBuilderFactory interface=org.apache.hivemind.ServiceImplementationFactory )
> 	{
>         parameters-schema
>         {
>             element( name=configuration )
>             {
>                 attribute( name=datasource-class required=true )
>                 {
>                     "Fully qualified name of the class implementing the javax.sql.DataSource"
>                 }
>                 
>                 attribute( name=datasource-properties required=true translator=configuration )
>                 {
>                     "Properties that are set to initialize the DataSource implementation"
>                 }
>                 
>                 conversion( class=org.apache.hivemind.lib.datasource.impl.DataSourceConfiguration )
>                 {
>                     map( attribute=datasource-class property=className )
>                     map( attribute=datasource-properties property=properties )
>                 }
>             }
>         }
> 		invoke-factory( service-id=hivemind.BuilderFactory )
> 		{
> 			construct (class=org.apache.hivemind.lib.datasource.impl.DataSourceBuilderFactory service-id-property=pointId )
> 		}
> 	}
> 	
> // Example of implementation below
> 	service-point( id=DefaultDataSource interface=javax.sql.DataSource )
> 	{
> 		invoke-factory( service-id=DataSourceBuilderFactory )
> 		{
> 		    configuration( datasource-class=org.apache.commons.dbcp.BasicDataSource datasource-properties=DataSourceProperties )
> 		}
> 	}
> 	
> 	contribution( configuration-id=DataSourceProperties )
> 	{
> 		datasource-property( name=driverClassName value=org.firebirdsql.jdbc.FBDriver )
> 		datasource-property( name=url value="jdbc:firebirdsql:localhost/3050:C:/firebird/data/xxxxxx.fdb" )
> 		datasource-property( name=username value=SYSDBA )
> 		datasource-property( name=password value=masterkey )
> 	}
> }
> Thank You,
> -kurt h

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.