Sunday, September 29, 2013

Program Without Modelling, -> Small Jet Hits Hangar at Santa Monica Airport. ->Government Heads Toward Shutdown

Don Quixote dela Repetition... ;-)
Isa pleasure.

This Should work, but as usual, libraries, exceptions all around.
started to work
Generated identifier: 2, using strategy: org.hibernate.id.SequenceGenerator


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<!--
Date dateUpdate;
-->
<hibernate-mapping package="org.nanotek.cms.domain.lucene">

    <class name="IndexConfig" table="IndexConfig" >
        <id name="id" type="long"  column="ID">
            <generator class="sequence">
                <param name="sequence">index_config_id_seq</param>
            </generator>
        </id>
                <property name="path" type="string" column="REFER_URL" length="12000"/>
                <property name="version" type="long" column="VERSION"> </property>
                <property name="openMode" type="long" column="OPEN_MODE"></property>
                <property name="indexType" type="long" column="INDEX_TYPE"></property>
                <property name="analyzerType" type="long" column="ANALYZER_TYPE"></property>
                <property name="dataUpdate" type="date" column="DATE_UPDATE"></property>
                <property name="dateInsert" type="date" column="DATE_INSERT"></property>
    </class>

</hibernate-mapping>


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <import resource="classpath:database-loaders/properties_config.xml"/>
    <bean id="tikaDataSource" destroy-method="close" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClassName}"/>
        <property name="jdbcUrl" value="${jdbc.tika.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

        <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
                <property name="dataSource" ref="tikaDataSource" />
                <property name="mappingLocations" value="classpath*:/conf/**/IndexConfig.hbm.xml" />
                <property name="hibernateProperties">
                        <value>
                        <![CDATA[
                        hibernate.show_sql=false
                        hibernate.format_sql=false
                        hibernate.hbm2ddl.auto=update
                        ]]>
                        </value>
                </property>
        </bean>

        <bean id="hibernateTransactionManager"
                        class="org.springframework.orm.hibernate4.HibernateTransactionManager" lazy-init="false">
                <property name="sessionFactory" ref="sessionFactory" />
        </bean>

        <tx:annotation-driven proxy-target-class="true" transaction-manager="hibernateTransactionManager"/>
        </beans>

package org.nanotek.cms.domain.lucene.config;

import java.util.Date;
import java.util.Set;

import org.nanotek.cms.domain.AbstractBase;
import org.nanotek.util.Base;

@SuppressWarnings("serial")
public class IndexConfig implements Base<Long> {


        private Long id;
        private String path;
        private Long version;
        private Long openMode;
        private Long indexType;
        private Long analyzerType;
        private Date dataUpdate;
        private Date dateInsert;

        private Set<IndexConfigParameter> indexConfigParameters;

        @Override
        public Long getId() {
                return id;
        }

        public String getPath() {
                return path;
        }

        public void setPath(String path) {
                this.path = path;
        }

        public Long getVersion() {
                return version;
        }

        public void setVersion(Long version) {
                this.version = version;
        }

        public Long getOpenMode() {
                return openMode;
        }

        public void setOpenMode(Long openMode) {
                this.openMode = openMode;
        }

        public Long getIndexType() {
                return indexType;
        }

        public void setIndexType(Long indexType) {
                this.indexType = indexType;
        }

        public Date getDataUpdate() {
                return dataUpdate;
        }

        public void setDataUpdate(Date dataUpdate) {
                this.dataUpdate = dataUpdate;
        }

        public Date getDateInsert() {
                return dateInsert;
        }

        public void setDateInsert(Date dateInsert) {
                this.dateInsert = dateInsert;
        }

        public Set<IndexConfigParameter> getIndexConfigParameters() {
                return indexConfigParameters;
        }

        public void setIndexConfigParameters(
                        Set<IndexConfigParameter> indexConfigParameters) {
                this.indexConfigParameters = indexConfigParameters;
        }

        public void setId(Long id) {
                this.id = id;
        }


        public Long getAnalyzerType() {
                return analyzerType;
        }

        public void setAnalyzerType(Long analyzerType) {
                this.analyzerType = analyzerType;
        }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result
                                + ((analyzerType == null) ? 0 : analyzerType.hashCode());
                result = prime * result
                                + ((dataUpdate == null) ? 0 : dataUpdate.hashCode());
                result = prime * result
                                + ((dateInsert == null) ? 0 : dateInsert.hashCode());
                result = prime
                                * result
                                + ((indexConfigParameters == null) ? 0 : indexConfigParameters
                                                .hashCode());
                result = prime * result
                                + ((indexType == null) ? 0 : indexType.hashCode());
                result = prime * result
                                + ((openMode == null) ? 0 : openMode.hashCode());
                result = prime * result + ((path == null) ? 0 : path.hashCode());
                result = prime * result + ((version == null) ? 0 : version.hashCode());
                return result;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                IndexConfig other = (IndexConfig) obj;
                if (analyzerType == null) {
                        if (other.analyzerType != null)
                                return false;
                } else if (!analyzerType.equals(other.analyzerType))
                        return false;
                if (dataUpdate == null) {
                        if (other.dataUpdate != null)
                                return false;
                } else if (!dataUpdate.equals(other.dataUpdate))
                        return false;
                if (dateInsert == null) {
                        if (other.dateInsert != null)
                                return false;
                } else if (!dateInsert.equals(other.dateInsert))
                        return false;
                if (indexConfigParameters == null) {
                        if (other.indexConfigParameters != null)
                                return false;
                } else if (!indexConfigParameters.equals(other.indexConfigParameters))
                        return false;
                if (indexType == null) {
                        if (other.indexType != null)
                                return false;
                } else if (!indexType.equals(other.indexType))
                        return false;
                if (openMode == null) {
                        if (other.openMode != null)
                                return false;
                } else if (!openMode.equals(other.openMode))
                        return false;
                if (path == null) {
                        if (other.path != null)
                                return false;
                } else if (!path.equals(other.path))
                        return false;
                if (version == null) {
                        if (other.version != null)
                                return false;
                } else if (!version.equals(other.version))
                        return false;
                return true;
        }
}


Com Karin


package org.nanotek.tests.hibernate;

import org.nanotek.tests.TestException;
import org.nanotek.cms.domain.lucene.config.IndexConfig;
import org.springframework.context.support.ClassPathXmlApplicationContext;


/**
 * TODU: Change on near Future fora JUnit test.
 * A => What to test.
 * H => How to test.
 * W => When to test.
 * @author josecanovamauger
 * <A,H,W>
 */


public class IndexConfigTest{

        private ClassPathXmlApplicationContext ctx;

        public IndexConfigTest() {}

        public static void main(String args[])
        {
                IndexConfigTest ict = new IndexConfigTest();
                ict.tearUpTest();
                ict.testGeneralDAOOperations();
                ict.tearDownHibernate();
        }


        @SuppressWarnings("unused")
        public void tearUpTest(){
                try {
                                ctx = new ClassPathXmlApplicationContext(new String[] {"tests/IndexConfig/IndexConfigXmlFile.xml"});
                }catch(Exception e)
                {
                        //Nice article from Oracle.
                        throw new TestException(e);
                }
        }

        public void testIndexConfigWithDao()
        {
                testGeneralDAOOperations();
        }

        private void testGeneralDAOOperations() {
                testCreateOperation();
                testUpdateOperation();
                testDeleteOperation();
        }


        @SuppressWarnings("unchecked")
        private void testCreateOperation() {

                IndexConfigSpringBuilder<String, IndexConfig> indexConfigSpringBuilder;indexConfigSpringBuilder = (IndexConfigSpringBuilder<String,IndexConfig>) ctx.getBean("indexConfigSpringBuilder");
                IndexConfig indexConfig = (IndexConfig) indexConfigSpringBuilder.createBeanInstance("IndexConfig", new IndexConfig());
        checkIndexConfigConstraints(indexConfig);
        }

        private void checkIndexConfigConstraints(IndexConfig indexConfig) {
                // TODO Auto-generated method stub
        }

        @SuppressWarnings("unchecked")
        private void testUpdateOperation() {
                 IndexConfigSpringBuilder<String, IndexConfig> indexConfigSpringBuilder;
                 indexConfigSpringBuilder = (IndexConfigSpringBuilder<String,IndexConfig>) ctx.getBean("indexConfigSpringBuilder");
                 IndexConfig indexConfig = (IndexConfig) indexConfigSpringBuilder.createBeanInstance("IndexConfig", new IndexConfig());
                 indexConfigSpringBuilder.persistBean("IndexConfigDAO", indexConfig);
                 assert (indexConfig.getId()!=null);
        }

        private void testDeleteOperation() {
                IndexConfigSpringBuilder<String, IndexConfig> indexConfigSpringBuilder;
                indexConfigSpringBuilder = (IndexConfigSpringBuilder<String,IndexConfig>) ctx.getBean("indexConfigSpringBuilder");
                IndexConfig indexConfig = (IndexConfig) indexConfigSpringBuilder.createBeanInstance("IndexConfig", new IndexConfig());
                indexConfigSpringBuilder.deleteBean("IndexConfigDAO", indexConfig);
        }

        public void tearDownHibernate(){
                ctx.close();
        }
}