From 6d3a269221433d9a7bb939db893b8dbccd1b1645 Mon Sep 17 00:00:00 2001 From: felipeal Date: Sat, 6 Nov 2004 21:51:31 +0000 Subject: [PATCH] MPHIBERNATE-13: new class necessary to implement hibernate:schema-update git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@116207 13f79535-47bb-0310-9956-ffa450edef68 --- .../hibernate/beans/SchemaUpdateBean.java | 52 +++++++++++++++++++ .../hibernate/jelly/SchemaUpdateTag.java | 36 +++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 hibernate/src/main/org/apache/maven/hibernate/beans/SchemaUpdateBean.java create mode 100644 hibernate/src/main/org/apache/maven/hibernate/jelly/SchemaUpdateTag.java diff --git a/hibernate/src/main/org/apache/maven/hibernate/beans/SchemaUpdateBean.java b/hibernate/src/main/org/apache/maven/hibernate/beans/SchemaUpdateBean.java new file mode 100644 index 00000000..679ccff8 --- /dev/null +++ b/hibernate/src/main/org/apache/maven/hibernate/beans/SchemaUpdateBean.java @@ -0,0 +1,52 @@ +package org.apache.maven.hibernate.beans; + +/* ==================================================================== + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +import java.io.FileInputStream; +import java.util.Properties; + +import net.sf.hibernate.cfg.Configuration; +import net.sf.hibernate.tool.hbm2ddl.SchemaUpdate; + +/** + * + * The Bean which serves as Proxy To Hibernate SchemaUpdate + *
+ * + * @author Felipe Leme + * @version $Id: SchemaUpdateBean.java,v 1.1 2004/11/06 21:51:31 felipeal Exp $ + */ +public class SchemaUpdateBean extends SchemaBeanBase +{ + + protected void executeSchema(Configuration cfg) throws Exception { + SchemaUpdate schemaUpdate = null; + if (getProperties() == null) + { + schemaUpdate = new SchemaUpdate(cfg); + } + else + { + Properties properties = new Properties(); + properties.load(new FileInputStream(getProperties())); + schemaUpdate = new SchemaUpdate(cfg, properties); + } + schemaUpdate.execute( !getQuiet(), !getText() ); + } + +} diff --git a/hibernate/src/main/org/apache/maven/hibernate/jelly/SchemaUpdateTag.java b/hibernate/src/main/org/apache/maven/hibernate/jelly/SchemaUpdateTag.java new file mode 100644 index 00000000..ab44f257 --- /dev/null +++ b/hibernate/src/main/org/apache/maven/hibernate/jelly/SchemaUpdateTag.java @@ -0,0 +1,36 @@ +package org.apache.maven.hibernate.jelly; + +/* ==================================================================== + * Copyright 2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ==================================================================== + */ + +import org.apache.maven.hibernate.beans.SchemaUpdateBean; + +/** + * + * Jelly tag which delagates all calls to {@link SchemaUpdateBean} + * + * @author Felipe Leme + * @version $Id: SchemaUpdateTag.java,v 1.1 2004/11/06 21:51:31 felipeal Exp $ + */ +public class SchemaUpdateTag extends SchemaTagBase +{ + + public SchemaUpdateTag() { + super( new SchemaUpdateBean() ); + } + +}