Skip to content

Commit 0a0f973

Browse files
committed
OCP-DEMO Use Infinispan server task to update the board
1 parent 9398b77 commit 0a0f973

31 files changed

+708
-119
lines changed

openshift/message-board/extra/message-server-task/pom.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,29 @@
2222
<version.slf4j>1.7.22</version.slf4j>
2323
</properties>
2424

25+
<dependencyManagement>
26+
<dependencies>
27+
<!-- https://mvnrepository.com/artifact/org.infinispan/infinispan-bom -->
28+
<dependency>
29+
<groupId>org.infinispan</groupId>
30+
<artifactId>infinispan-bom</artifactId>
31+
<version>${version.org.infinispan}</version>
32+
<scope>import</scope>
33+
<type>pom</type>
34+
</dependency>
35+
</dependencies>
36+
</dependencyManagement>
37+
2538
<dependencies>
2639
<dependency>
2740
<groupId>org.infinispan</groupId>
2841
<artifactId>infinispan-tasks</artifactId>
29-
<version>${version.org.infinispan}</version>
3042
<scope>provided</scope>
3143
</dependency>
3244

3345
<dependency>
3446
<groupId>org.infinispan</groupId>
3547
<artifactId>infinispan-remote-query-server</artifactId>
36-
<version>${version.org.infinispan}</version>
3748
<scope>provided</scope>
3849
</dependency>
3950

openshift/message-board/extra/message-server-task/src/main/java/it/redhat/demo/model/Board.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,30 @@ public class Board {
1010

1111
private String username;
1212

13+
// field is initialized and used here (server side)
14+
private Integer next = 0;
15+
1316
public Board() {
1417
}
1518

1619
public Board(String username) {
1720
this.username = username;
1821
}
1922

23+
public Integer getNext() {
24+
return next;
25+
}
26+
27+
public void increment() {
28+
next++;
29+
}
30+
2031
/*
2132
* package HibernateOGMGenerated;
2233
*
2334
* message Board {
2435
* required string username = 1;
36+
* optional int32 next = 2;
2537
* }
2638
*
2739
*/
@@ -31,13 +43,15 @@ public static final class Marshaller implements MessageMarshaller<Board> {
3143
public Board readFrom(ProtoStreamReader reader) throws IOException {
3244
Board board = new Board();
3345
board.username = reader.readString( "username" );
46+
board.next = reader.readInt( "next" );
3447

3548
return board;
3649
}
3750

3851
@Override
3952
public void writeTo(ProtoStreamWriter writer, Board board) throws IOException {
4053
writer.writeString( "username", board.username );
54+
writer.writeInt( "next", board.next );
4155
}
4256

4357
@Override

openshift/message-board/extra/message-server-task/src/main/java/it/redhat/demo/model/BoardId.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public Class<? extends BoardId> getJavaClass() {
7171

7272
@Override
7373
public String getTypeName() {
74-
return "HibernateOGMGenerated.BoardId";
74+
return "HibernateOGMGenerated.Board_id";
7575
}
7676
}
7777
}

openshift/message-board/extra/message-server-task/src/main/java/it/redhat/demo/model/BoardMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
public class BoardMessage {
88

9-
public static final String CACHE_NAME = BoardMessage.class.getSimpleName();
9+
public static final String CACHE_NAME = "Board_Message";
1010

1111
private String boardUsername;
1212
private Long messagesId;

openshift/message-board/extra/message-server-task/src/main/java/it/redhat/demo/model/Message.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ public String getUsername() {
1717
return username;
1818
}
1919

20+
public String getBody() {
21+
return body;
22+
}
23+
2024
/*
2125
* package HibernateOGMGenerated;
2226
*
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package it.redhat.demo.model;
2+
3+
import java.io.IOException;
4+
5+
import org.infinispan.protostream.MessageMarshaller;
6+
7+
public class MessageTag {
8+
9+
public static final String CACHE_NAME = "Message_Tag";
10+
11+
private Long messageId;
12+
private String tagsName;
13+
14+
public MessageTag() {
15+
}
16+
17+
public MessageTag(Long messageId, String tagsName) {
18+
this.messageId = messageId;
19+
this.tagsName = tagsName;
20+
}
21+
22+
/*
23+
* package HibernateOGMGenerated;
24+
*
25+
* message Message_Tag {
26+
* required int64 Message_id = 1;
27+
* required string tags_name = 2;
28+
* }
29+
*
30+
*/
31+
public static final class Marshaller implements MessageMarshaller<MessageTag> {
32+
33+
@Override
34+
public MessageTag readFrom(ProtoStreamReader reader) throws IOException {
35+
MessageTag messageTag = new MessageTag();
36+
messageTag.messageId = reader.readLong( "Message_id" );
37+
messageTag.tagsName = reader.readString( "tags_name" );
38+
39+
return messageTag;
40+
}
41+
42+
@Override
43+
public void writeTo(ProtoStreamWriter writer, MessageTag messageTag) throws IOException {
44+
writer.writeLong( "Message_id", messageTag.messageId );
45+
writer.writeString( "tags_name", messageTag.tagsName );
46+
}
47+
48+
@Override
49+
public Class<? extends MessageTag> getJavaClass() {
50+
return MessageTag.class;
51+
}
52+
53+
@Override
54+
public String getTypeName() {
55+
return "HibernateOGMGenerated.Message_Tag";
56+
}
57+
}
58+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package it.redhat.demo.model;
2+
3+
import java.io.IOException;
4+
5+
import org.infinispan.protostream.MessageMarshaller;
6+
7+
public class MessageTagId {
8+
9+
public static final String CACHE_NAME = "Message_Tag";
10+
11+
private Long messageId;
12+
private String tagsName;
13+
14+
public MessageTagId() {
15+
}
16+
17+
public MessageTagId(Long messageId, String tagsName) {
18+
this.messageId = messageId;
19+
this.tagsName = tagsName;
20+
}
21+
22+
/*
23+
* package HibernateOGMGenerated;
24+
*
25+
* message Message_Tag_id {
26+
* required int64 Message_id = 1;
27+
* required string tags_name = 2;
28+
* }
29+
*
30+
*/
31+
public static final class Marshaller implements MessageMarshaller<MessageTagId> {
32+
33+
@Override
34+
public MessageTagId readFrom(ProtoStreamReader reader) throws IOException {
35+
MessageTagId messageTagId = new MessageTagId();
36+
messageTagId.messageId = reader.readLong( "Message_id" );
37+
messageTagId.tagsName = reader.readString( "tags_name" );
38+
39+
return messageTagId;
40+
}
41+
42+
@Override
43+
public void writeTo(ProtoStreamWriter writer, MessageTagId messageTagId) throws IOException {
44+
writer.writeLong( "Message_id", messageTagId.messageId );
45+
writer.writeString( "tags_name", messageTagId.tagsName );
46+
}
47+
48+
@Override
49+
public Class<? extends MessageTagId> getJavaClass() {
50+
return MessageTagId.class;
51+
}
52+
53+
@Override
54+
public String getTypeName() {
55+
return "HibernateOGMGenerated.Message_Tag_id";
56+
}
57+
}
58+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package it.redhat.demo.model;
2+
3+
import java.io.IOException;
4+
5+
import org.infinispan.protostream.MessageMarshaller;
6+
7+
public class Tag {
8+
9+
public static final String CACHE_NAME = Tag.class.getSimpleName();
10+
11+
private String name;
12+
13+
public Tag() {
14+
}
15+
16+
public Tag(String name) {
17+
this.name = name;
18+
}
19+
20+
/*
21+
* package HibernateOGMGenerated;
22+
*
23+
* message Tag {
24+
* required string name = 1;
25+
* }
26+
*
27+
*/
28+
public static final class Marshaller implements MessageMarshaller<Tag> {
29+
30+
@Override
31+
public Tag readFrom(ProtoStreamReader reader) throws IOException {
32+
Tag tag = new Tag();
33+
tag.name = reader.readString( "name" );
34+
35+
return tag;
36+
}
37+
38+
@Override
39+
public void writeTo(ProtoStreamWriter writer, Tag tag) throws IOException {
40+
writer.writeString( "name", tag.name );
41+
}
42+
43+
@Override
44+
public Class<? extends Tag> getJavaClass() {
45+
return Tag.class;
46+
}
47+
48+
@Override
49+
public String getTypeName() {
50+
return "HibernateOGMGenerated.Tag";
51+
}
52+
}
53+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package it.redhat.demo.model;
2+
3+
import java.io.IOException;
4+
5+
import org.infinispan.protostream.MessageMarshaller;
6+
7+
public class TagId {
8+
9+
private String name;
10+
11+
public TagId() {
12+
}
13+
14+
public TagId(String name) {
15+
this.name = name;
16+
}
17+
18+
/*
19+
* package HibernateOGMGenerated;
20+
*
21+
* message Tag_id {
22+
* required string name = 1;
23+
* }
24+
*
25+
*/
26+
public static final class Marshaller implements MessageMarshaller<TagId> {
27+
28+
@Override
29+
public TagId readFrom(ProtoStreamReader reader) throws IOException {
30+
TagId tagId = new TagId();
31+
tagId.name = reader.readString( "name" );
32+
33+
return tagId;
34+
}
35+
36+
@Override
37+
public void writeTo(ProtoStreamWriter writer, TagId tagId) throws IOException {
38+
writer.writeString( "name", tagId.name );
39+
}
40+
41+
@Override
42+
public Class<? extends TagId> getJavaClass() {
43+
return TagId.class;
44+
}
45+
46+
@Override
47+
public String getTypeName() {
48+
return "HibernateOGMGenerated.Tag_id";
49+
}
50+
}
51+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package it.redhat.demo.task;
2+
3+
import org.infinispan.Cache;
4+
5+
public class KeyNotFoundException extends RuntimeException {
6+
7+
public KeyNotFoundException(Object entryKey, Cache cache) {
8+
super( getMessage( entryKey, cache ) );
9+
}
10+
11+
private static String getMessage(Object entryKey, Cache cache) {
12+
StringBuilder builder = new StringBuilder( "Entry with key[" );
13+
builder.append( entryKey );
14+
builder.append( "] NOT FOUND on cache[" );
15+
builder.append( cache.getName() );
16+
builder.append( "]" );
17+
builder.append( ". Cache size: " );
18+
builder.append( cache.size() );
19+
builder.append( ". Cache content: " );
20+
21+
cache.forEach( (key, value) -> {
22+
builder.append( key );
23+
builder.append( ":" );
24+
builder.append( key.getClass() );
25+
builder.append( " - " );
26+
builder.append( value );
27+
builder.append( ":" );
28+
builder.append( value.getClass() );
29+
builder.append( " . " );
30+
} );
31+
return builder.toString();
32+
}
33+
}

0 commit comments

Comments
 (0)