Skip to content

Commit a82ea4c

Browse files
Use in-memory and TSQ storage to contrast the services.
1 parent c3b9f9e commit a82ea4c

File tree

7 files changed

+59
-111
lines changed

7 files changed

+59
-111
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="com.ibm.cicsdev.osgi.ds.tsq.InMemoryStorageService">
3+
<implementation class="com.ibm.cicsdev.osgi.ds.tsq.InMemoryStorageService"/>
4+
<service>
5+
<provide interface="com.ibm.cicsdev.osgi.ds.TemporaryStorageService"/>
6+
</service>
7+
</scr:component>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
custom = true
2-
bin.includes = OSGI-INF/com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService.xml
2+
bin.includes = OSGI-INF/com.ibm.cicsdev.osgi.ds.tsq.InMemoryStorageService.xml
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.ibm.cicsdev.osgi.ds.tsq;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
import com.ibm.cicsdev.osgi.ds.TemporaryStorageException;
7+
import com.ibm.cicsdev.osgi.ds.TemporaryStorageService;
8+
9+
public class InMemoryStorageService implements TemporaryStorageService {
10+
private List<String> store = new ArrayList<>();
11+
12+
public void activate() {
13+
System.out.println("Starting in-memory temporary storage.");
14+
}
15+
16+
public void deactivate() {
17+
System.out.println("Stopping in-memory temporary storage");
18+
store.clear();
19+
}
20+
21+
@Override
22+
public String get(int id) throws TemporaryStorageException {
23+
// We're off by one, so the actual index is one less.
24+
return store.get(id - 1);
25+
}
26+
27+
@Override
28+
public int put(String record) throws TemporaryStorageException {
29+
store.add(record);
30+
return store.size();
31+
}
32+
}

projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.1/OSGI-INF/com.ibm.cicsdev.osgi.ds.tsq.CachedTemporaryStorageQueueService.xml

Lines changed: 0 additions & 7 deletions
This file was deleted.

projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.0/OSGI-INF/com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService.xml renamed to projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.1/OSGI-INF/com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService">
2+
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" immediate="true" name="com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService">
33
<implementation class="com.ibm.cicsdev.osgi.ds.tsq.TemporaryStorageQueueService"/>
44
<service>
55
<provide interface="com.ibm.cicsdev.osgi.ds.TemporaryStorageService"/>

projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.1/src/com/ibm/cicsdev/osgi/ds/tsq/CachedTemporaryStorageQueueService.java

Lines changed: 0 additions & 93 deletions
This file was deleted.

projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.0/src/com/ibm/cicsdev/osgi/ds/tsq/TemporaryStorageQueueService.java renamed to projects/com.ibm.cicsdev.osgi.ds.tsq_1.0.1/src/com/ibm/cicsdev/osgi/ds/tsq/TemporaryStorageQueueService.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,41 @@
88

99
public class TemporaryStorageQueueService implements TemporaryStorageService {
1010
private static final String TSQ_NAME = "TSQS";
11-
11+
12+
public void activate() {
13+
System.out.println("Starting TSQ service");
14+
}
15+
16+
public void deactivate() {
17+
System.out.println("Stopping TSQ service");
18+
}
19+
1220
private static TSQ getTSQ() {
1321
TSQ tsq = new TSQ();
1422
tsq.setName(TSQ_NAME);
15-
23+
1624
return tsq;
1725
}
18-
26+
1927
@Override
2028
public String get(int id) throws TemporaryStorageException {
2129
final ItemHolder holder = new ItemHolder();
22-
30+
2331
try {
2432
getTSQ().readItem(id, holder);
25-
} catch(CicsConditionException e) {
33+
} catch (CicsConditionException e) {
2634
throw new TemporaryStorageException(e, e.getRESP(), e.getRESP2());
2735
}
28-
36+
2937
return holder.getStringValue();
3038
}
31-
39+
3240
@Override
3341
public int put(String record) throws TemporaryStorageException {
3442
try {
35-
return getTSQ().writeString(record);
36-
} catch(CicsConditionException e) {
43+
final int id = getTSQ().writeString(record);
44+
return id;
45+
} catch (CicsConditionException e) {
3746
throw new TemporaryStorageException(e, e.getRESP(), e.getRESP2());
3847
}
3948
}

0 commit comments

Comments
 (0)