Skip to content

Commit 83c80c7

Browse files
author
Holmistr
committed
Configured which CacheContainerProvider should be used
1 parent dea4aff commit 83c80c7

File tree

4 files changed

+58
-54
lines changed

4 files changed

+58
-54
lines changed

my-maps-webapp/src/main/java/cz/muni/fi/pv243/mymaps/webapp/session/DefaultCacheContainerProvider.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.io.IOException;
88
import javax.annotation.PreDestroy;
99
import javax.enterprise.context.ApplicationScoped;
10+
import javax.enterprise.inject.Alternative;
1011
import org.infinispan.api.BasicCacheContainer;
1112
import org.infinispan.manager.DefaultCacheManager;
1213

@@ -15,29 +16,30 @@
1516
* @author Jiri Holusa
1617
*/
1718
@ApplicationScoped
19+
@Alternative
1820
public class DefaultCacheContainerProvider implements CacheContainerProvider {
19-
21+
2022
private BasicCacheContainer manager;
2123

22-
@Override
23-
public BasicCacheContainer getCacheContainer(){
24-
if (manager == null) {
25-
try {
26-
//TODO: change to file cache manager
27-
manager = new DefaultCacheManager("infinispan.xml");
28-
} catch (IOException ex) {
29-
//TODO: do something
30-
}
31-
manager.start();
32-
}
33-
34-
return manager;
35-
}
24+
@Override
25+
public BasicCacheContainer getCacheContainer() {
26+
if (manager == null) {
27+
try {
28+
//TODO: change to file cache manager
29+
manager = new DefaultCacheManager("infinispan.xml");
30+
} catch (IOException ex) {
31+
//TODO: do something
32+
}
33+
manager.start();
34+
}
35+
36+
37+
return manager;
38+
}
3639

37-
@PreDestroy
38-
public void cleanUp() {
39-
manager.stop();
40-
manager = null;
41-
}
42-
40+
@PreDestroy
41+
public void cleanUp() {
42+
manager.stop();
43+
manager = null;
44+
}
4345
}
Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,39 @@
11
package cz.muni.fi.pv243.mymaps.webapp.session;
22

3-
43
import java.io.IOException;
54
import javax.annotation.PreDestroy;
65
import javax.enterprise.context.ApplicationScoped;
6+
import javax.enterprise.inject.Alternative;
77
import org.infinispan.api.BasicCacheContainer;
88
import org.infinispan.manager.DefaultCacheManager;
99

10-
11-
/**
10+
/**
1211
* @author Jiri Holusa
1312
*/
1413
@ApplicationScoped
15-
public abstract class FileCacheContainerProvider implements CacheContainerProvider {
16-
17-
private BasicCacheContainer manager;
14+
@Alternative
15+
public class FileCacheContainerProvider implements CacheContainerProvider {
16+
17+
private BasicCacheContainer manager;
1818

19-
@Override
20-
public BasicCacheContainer getCacheContainer(){
21-
if (manager == null) {
22-
try {
23-
//TODO: change to file cache manager
24-
manager = new DefaultCacheManager("infinispan.xml");
25-
} catch (IOException ex) {
26-
//TODO: do something
27-
}
28-
manager.start();
29-
}
30-
31-
return manager;
32-
}
19+
@Override
20+
public BasicCacheContainer getCacheContainer() {
21+
if (manager == null) {
22+
try {
23+
//TODO: change to file cache manager
24+
manager = new DefaultCacheManager("infinispan.xml");
25+
} catch (IOException ex) {
26+
//TODO: do something
27+
}
28+
manager.start();
29+
}
3330

34-
@PreDestroy
35-
public void cleanUp() {
36-
manager.stop();
37-
manager = null;
38-
}
31+
return manager;
32+
}
3933

40-
34+
@PreDestroy
35+
public void cleanUp() {
36+
manager.stop();
37+
manager = null;
38+
}
4139
}

my-maps-webapp/src/main/webapp/WEB-INF/beans.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@
55
http://java.sun.com/xml/ns/javaee
66
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
77

8+
<alternatives>
9+
<class>cz.muni.fi.pv243.mymaps.webapp.session.FileCacheContainerProvider</class>
10+
</alternatives>
11+
812
</beans>

my-maps-webapp/src/test/java/cz/muni/fi/pv243/mymaps/dao/PointDaoImplTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@
55
import cz.muni.fi.pv243.mymaps.dao.impl.PointDaoImpl;
66
import cz.muni.fi.pv243.mymaps.entities.PointEntity;
77
import cz.muni.fi.pv243.mymaps.webapp.session.DefaultCacheContainerProvider;
8-
import java.io.IOException;
8+
import cz.muni.fi.pv243.mymaps.webapp.session.FileCacheContainerProvider;
99
import java.math.BigDecimal;
1010
import javax.inject.Inject;
1111
import org.jboss.arquillian.container.test.api.Deployment;
1212
import org.jboss.arquillian.junit.Arquillian;
13-
import org.jboss.shrinkwrap.api.ArchivePaths;
1413
import org.jboss.shrinkwrap.api.ShrinkWrap;
15-
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
14+
import org.jboss.shrinkwrap.api.asset.StringAsset;
1615
import org.jboss.shrinkwrap.api.spec.WebArchive;
17-
import org.junit.After;
18-
import org.junit.Before;
1916
import org.junit.Test;
2017
import org.junit.runner.RunWith;
2118

@@ -30,9 +27,12 @@ public class PointDaoImplTest {
3027
public static WebArchive createDeployment(){
3128
return ShrinkWrap.create(WebArchive.class, "test.war")
3229
.addClasses(PointDaoImpl.class,
33-
DefaultCacheContainerProvider.class
30+
DefaultCacheContainerProvider.class
3431
)
35-
.addAsWebInfResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"));
32+
.addAsWebInfResource(new StringAsset("<beans><alternatives>" +
33+
"<class>cz.muni.fi.pv243.mymaps.webapp.session.DefaultCacheContainerProvider</class>\n" +
34+
"</alternatives></beans>"),
35+
"beans.xml");
3636
}
3737

3838
@Inject

0 commit comments

Comments
 (0)