[4/7] ignite git commit: ignite-1794
http://git-wip-us.apache.org/repos/asf/ignite/blob/d992b949/modules/hibernate-4.2/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java -- diff --git a/modules/hibernate-4.2/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java b/modules/hibernate-4.2/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java new file mode 100644 index 000..880d12a --- /dev/null +++ b/modules/hibernate-4.2/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java @@ -0,0 +1,238 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +package org.apache.ignite.cache.store.hibernate; + +import java.io.Serializable; +import java.util.Map; +import javax.cache.Cache; +import javax.cache.configuration.Factory; +import javax.cache.integration.CacheLoaderException; +import javax.cache.integration.CacheWriterException; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import org.apache.ignite.cache.store.CacheStore; +import org.apache.ignite.cache.store.CacheStoreAdapter; +import org.apache.ignite.cache.store.CacheStoreSession; +import org.apache.ignite.cache.store.CacheStoreSessionListener; +import org.apache.ignite.cache.store.CacheStoreSessionListenerAbstractSelfTest; +import org.apache.ignite.cache.store.jdbc.CacheJdbcStoreSessionListener; +import org.apache.ignite.lang.IgniteBiInClosure; +import org.apache.ignite.resources.CacheStoreSessionResource; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.hibernate.cfg.Configuration; + +/** + * Tests for {@link CacheJdbcStoreSessionListener}. + */ +public class CacheHibernateStoreSessionListenerSelfTest extends CacheStoreSessionListenerAbstractSelfTest { +/** {@inheritDoc} */ +@Override protected Factory> storeFactory() { +return new Factory>() { +@Override public CacheStore create() { +return new Store(); +} +}; +} + +/** {@inheritDoc} */ +@Override protected Factory sessionListenerFactory() { +return new Factory() { +@Override public CacheStoreSessionListener create() { +CacheHibernateStoreSessionListener lsnr = new CacheHibernateStoreSessionListener(); + +SessionFactory sesFactory = new Configuration(). +setProperty("hibernate.connection.url", URL). +addAnnotatedClass(Table1.class). +addAnnotatedClass(Table2.class). +buildSessionFactory(); + +lsnr.setSessionFactory(sesFactory); + +return lsnr; +} +}; +} + +/** + */ +private static class Store extends CacheStoreAdapter { +/** */ +private static String SES_CONN_KEY = "ses_conn"; + +/** */ +@CacheStoreSessionResource +private CacheStoreSession ses; + +/** {@inheritDoc} */ +@Override public void loadCache(IgniteBiInClosure clo, Object... args) { +loadCacheCnt.incrementAndGet(); + +checkSession(); +} + +/** {@inheritDoc} */ +@Override public Integer load(Integer key) throws CacheLoaderException { +loadCnt.incrementAndGet(); + +checkSession(); + +return null; +} + +/** {@inheritDoc} */ +@Override public void write(Cache.Entry entry) +throws CacheWriterException { +writeCnt.incrementAndGet(); + +checkSession(); + +if (write.get()) { +Session hibSes = ses.attachment(); + +switch (ses.cacheName()) { +case "cache1": +hibSes.save(new Table1(entry.getKey(), entry.getValue())); + +
[4/7] ignite git commit: ignite-1794
http://git-wip-us.apache.org/repos/asf/ignite/blob/be40f937/modules/hibernate-5.1/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java -- diff --git a/modules/hibernate-5.1/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java b/modules/hibernate-5.1/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java new file mode 100644 index 000..0010425 --- /dev/null +++ b/modules/hibernate-5.1/src/test/java/org/apache/ignite/cache/store/hibernate/CacheHibernateStoreSessionListenerSelfTest.java @@ -0,0 +1,242 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +package org.apache.ignite.cache.store.hibernate; + +import java.io.Serializable; +import java.util.Map; +import javax.cache.Cache; +import javax.cache.configuration.Factory; +import javax.cache.integration.CacheLoaderException; +import javax.cache.integration.CacheWriterException; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import org.apache.ignite.cache.store.CacheStore; +import org.apache.ignite.cache.store.CacheStoreAdapter; +import org.apache.ignite.cache.store.CacheStoreSession; +import org.apache.ignite.cache.store.CacheStoreSessionListener; +import org.apache.ignite.cache.store.CacheStoreSessionListenerAbstractSelfTest; +import org.apache.ignite.cache.store.jdbc.CacheJdbcStoreSessionListener; +import org.apache.ignite.lang.IgniteBiInClosure; +import org.apache.ignite.resources.CacheStoreSessionResource; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.hibernate.cfg.Configuration; +import org.hibernate.resource.transaction.spi.TransactionStatus; + +/** + * Tests for {@link CacheJdbcStoreSessionListener}. + */ +public class CacheHibernateStoreSessionListenerSelfTest extends CacheStoreSessionListenerAbstractSelfTest { +/** {@inheritDoc} */ +@Override protected Factory> storeFactory() { +return new Factory>() { +@Override public CacheStore create() { +return new Store(); +} +}; +} + +/** {@inheritDoc} */ +@Override protected Factory sessionListenerFactory() { +return new Factory() { +@Override public CacheStoreSessionListener create() { +CacheHibernateStoreSessionListener lsnr = new CacheHibernateStoreSessionListener(); + +SessionFactory sesFactory = new Configuration(). +setProperty("hibernate.connection.url", URL). +addAnnotatedClass(Table1.class). +addAnnotatedClass(Table2.class). +buildSessionFactory(); + +lsnr.setSessionFactory(sesFactory); + +return lsnr; +} +}; +} + +/** + */ +private static class Store extends CacheStoreAdapter { +/** */ +private static String SES_CONN_KEY = "ses_conn"; + +/** */ +@CacheStoreSessionResource +private CacheStoreSession ses; + +/** {@inheritDoc} */ +@Override public void loadCache(IgniteBiInClosure clo, Object... args) { +loadCacheCnt.incrementAndGet(); + +checkSession(); +} + +/** {@inheritDoc} */ +@Override public Integer load(Integer key) throws CacheLoaderException { +loadCnt.incrementAndGet(); + +checkSession(); + +return null; +} + +/** {@inheritDoc} */ +@Override public void write(Cache.Entry entry) +throws CacheWriterException { +writeCnt.incrementAndGet(); + +checkSession(); + +if (write.get()) { +Session hibSes = ses.attachment(); + +switch (ses.cacheName()) { +case "cache1": +