forked from cloudfoundry/java-buildpack-auto-reconfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Modify cloud:data-source to work with PostgreSQL relational database …
…service Change-Id: Ie90ebb2bbec951bc20afd3d0ec4b90c61e1933c7
- Loading branch information
Thomas Risberg
committed
Sep 12, 2011
1 parent
82477f2
commit 284cf15
Showing
12 changed files
with
148 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
.springBeans | ||
.settings/ | ||
*.log | ||
/*.iml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ | |
* Base information for all database service types | ||
* | ||
* @author Xin Li | ||
* @author Thomas Risberg | ||
* | ||
**/ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
cloudfoundry-runtime/src/main/java/org/cloudfoundry/runtime/env/RdbmsServiceInfo.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package org.cloudfoundry.runtime.env; | ||
|
||
import java.util.Map; | ||
|
||
|
||
/** | ||
* Information to access RDBMS service. | ||
* | ||
* @author Thomas Risberg | ||
* | ||
*/ | ||
|
||
public class RdbmsServiceInfo extends AbstractDataSourceServiceInfo { | ||
|
||
private AbstractDataSourceServiceInfo delegate; | ||
|
||
public RdbmsServiceInfo(Map<String, Object> serviceInfo) { | ||
super(serviceInfo); | ||
if (getLabel() != null && getLabel().startsWith("postgres")) { | ||
this.delegate = new PostgresqlServiceInfo(serviceInfo); | ||
} | ||
else { | ||
this.delegate = new MysqlServiceInfo(serviceInfo); | ||
} | ||
|
||
} | ||
|
||
@Override | ||
public String getUrl() { | ||
return delegate.getUrl(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 30 additions & 0 deletions
30
...ime/src/main/java/org/cloudfoundry/runtime/service/relational/CloudDataSourceFactory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package org.cloudfoundry.runtime.service.relational; | ||
|
||
import javax.sql.DataSource; | ||
|
||
import org.cloudfoundry.runtime.env.CloudEnvironment; | ||
import org.cloudfoundry.runtime.env.RdbmsServiceInfo; | ||
import org.cloudfoundry.runtime.service.AbstractCloudServiceFactory; | ||
|
||
/** | ||
* Spring factory bean for datasource service. | ||
* | ||
* @author Ramnivas Laddad | ||
* @author Thomas Risberg | ||
* | ||
*/ | ||
public class CloudDataSourceFactory extends AbstractCloudServiceFactory<DataSource, RdbmsServiceInfo> { | ||
|
||
public CloudDataSourceFactory(CloudEnvironment cloudEnvironment) { | ||
super(new RdbmsServiceCreator(cloudEnvironment)); | ||
} | ||
|
||
public CloudDataSourceFactory() { | ||
super(new RdbmsServiceCreator(new CloudEnvironment())); | ||
} | ||
|
||
@Override | ||
public Class<? extends DataSource> getObjectType() { | ||
return DataSource.class; | ||
} | ||
} |
28 changes: 0 additions & 28 deletions
28
...rc/main/java/org/cloudfoundry/runtime/service/relational/CloudMySqlDataSourceFactory.java
This file was deleted.
Oops, something went wrong.
28 changes: 0 additions & 28 deletions
28
...in/java/org/cloudfoundry/runtime/service/relational/CloudPostgresqlDataSourceFactory.java
This file was deleted.
Oops, something went wrong.
47 changes: 47 additions & 0 deletions
47
...untime/src/main/java/org/cloudfoundry/runtime/service/relational/RdbmsServiceCreator.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
package org.cloudfoundry.runtime.service.relational; | ||
|
||
import org.cloudfoundry.runtime.env.*; | ||
import org.cloudfoundry.runtime.service.AbstractDataSourceCreator; | ||
import org.springframework.util.Assert; | ||
|
||
import javax.sql.DataSource; | ||
|
||
/** | ||
* Simplified access to RDBMS service. | ||
* | ||
* @author Thomas Risberg | ||
* | ||
*/ | ||
public class RdbmsServiceCreator extends AbstractDataSourceCreator<RdbmsServiceInfo> { | ||
|
||
private AbstractDataSourceCreator delegate; | ||
private CloudEnvironment cloudEnvironment; | ||
|
||
public RdbmsServiceCreator(CloudEnvironment cloudEnvironment) { | ||
super(cloudEnvironment, RdbmsServiceInfo.class); | ||
this.cloudEnvironment = cloudEnvironment; | ||
} | ||
|
||
@Override | ||
public DataSource createService(AbstractDataSourceServiceInfo serviceInfo) { | ||
if (serviceInfo.getLabel() != null && serviceInfo.getLabel().startsWith("postgres")) { | ||
this.delegate = new PostgresqlServiceCreator(cloudEnvironment); | ||
} | ||
else { | ||
this.delegate = new MysqlServiceCreator(cloudEnvironment); | ||
} | ||
return super.createService(serviceInfo); | ||
} | ||
|
||
@Override | ||
public String getDriverClassName() { | ||
Assert.notNull(delegate, "DataSourceCreator delegate was not populated"); | ||
return delegate.getDriverClassName(); | ||
} | ||
|
||
@Override | ||
public String getValidationQuery() { | ||
Assert.notNull(delegate, "DataSourceCreator delegate was not populated"); | ||
return delegate.getValidationQuery(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters