Skip to content

Commit f182abf

Browse files
committed
- record text annotations properly
1 parent 0be1db0 commit f182abf

File tree

3 files changed

+52
-59
lines changed

3 files changed

+52
-59
lines changed

bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/recorder/whiteboard/AddTextWhiteboardRecordEvent.java

100644100755
Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,32 +19,37 @@
1919
*/
2020
package org.bigbluebutton.conference.service.recorder.whiteboard;
2121

22-
public class AddTextWhiteboardRecordEvent extends
23-
AbstractWhiteboardRecordEvent {
22+
import java.util.ArrayList;
23+
import java.util.Map;
24+
25+
public class AddTextWhiteboardRecordEvent extends AbstractWhiteboardRecordEvent {
2426

2527
public AddTextWhiteboardRecordEvent() {
2628
super();
2729
setEvent("AddTextEvent");
2830
}
2931

30-
public void setDataPoints(String points) {
31-
eventMap.put("dataPoints", points);
32-
}
33-
34-
public void setText(String text) {
35-
eventMap.put("text", text);
36-
}
37-
38-
public void setTextColor(int textColor) {
39-
eventMap.put("textColor", Integer.toString(textColor));
40-
}
41-
42-
public void setBGColor(int bgColor) {
43-
eventMap.put("bgColor", Integer.toString(bgColor));
32+
public void addAnnotation(Map<String, Object> annotation) {
33+
for (Map.Entry<String, Object> entry : annotation.entrySet()) {
34+
String key = entry.getKey();
35+
36+
if (key.equals("points")) {
37+
ArrayList<Double> value = (ArrayList<Double>)entry.getValue();
38+
eventMap.put("dataPoints", pointsToString(value));
39+
} else {
40+
Object value = entry.getValue();
41+
eventMap.put(key, value.toString());
42+
}
43+
}
4444
}
4545

46-
public void setBGColorVisible(boolean bgColorVis) {
47-
eventMap.put("bgColorVisible", Boolean.toString(bgColorVis));
46+
private String pointsToString(ArrayList<Double> points){
47+
String datapoints = "";
48+
for (Double i : points) {
49+
datapoints += i + ",";
50+
}
51+
// Trim the trailing comma
52+
return datapoints.substring(0, datapoints.length() - 1);
4853
}
4954

5055
}

bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/recorder/whiteboard/ModifyTextWhiteboardRecordEvent.java

100644100755
Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,37 @@
1919
*/
2020
package org.bigbluebutton.conference.service.recorder.whiteboard;
2121

22+
import java.util.ArrayList;
23+
import java.util.Map;
24+
2225
public class ModifyTextWhiteboardRecordEvent extends
2326
AbstractWhiteboardRecordEvent {
2427

2528
public ModifyTextWhiteboardRecordEvent() {
2629
super();
27-
setEvent("ModifyT=TextEvent");
28-
}
29-
30-
public void setDataPoints(String points) {
31-
eventMap.put("dataPoints", points);
32-
}
33-
34-
public void setText(String text) {
35-
eventMap.put("text", text);
36-
}
37-
38-
public void setTextColor(int textColor) {
39-
eventMap.put("textColor", Integer.toString(textColor));
40-
}
41-
42-
public void setBGColor(int bgColor) {
43-
eventMap.put("bgColor", Integer.toString(bgColor));
30+
setEvent("ModifyTextEvent");
4431
}
4532

46-
public void setBGColorVisible(boolean bgColorVis) {
47-
eventMap.put("bgColorVisible", Boolean.toString(bgColorVis));
33+
public void addAnnotation(Map<String, Object> annotation) {
34+
for (Map.Entry<String, Object> entry : annotation.entrySet()) {
35+
String key = entry.getKey();
36+
37+
if (key.equals("points")) {
38+
ArrayList<Double> value = (ArrayList<Double>)entry.getValue();
39+
eventMap.put("dataPoints", pointsToString(value));
40+
} else {
41+
Object value = entry.getValue();
42+
eventMap.put(key, value.toString());
43+
}
44+
}
4845
}
4946

50-
public void setModifyingID(String id) {
51-
eventMap.put("modifiedID", id);
47+
private String pointsToString(ArrayList<Double> points){
48+
String datapoints = "";
49+
for (Double i : points) {
50+
datapoints += i + ",";
51+
}
52+
// Trim the trailing comma
53+
return datapoints.substring(0, datapoints.length() - 1);
5254
}
5355
}

bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/recorder/whiteboard/WhiteboardEventRecorder.java

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,7 @@ public void addText(Annotation text, Presentation presentation) {
5252
event.setTimestamp(System.currentTimeMillis());
5353
event.setPresentation(presentation.getName());
5454
event.setPageNumber(presentation.getActivePage().getPageIndex());
55-
// event.setText(text.getText());
56-
// event.setTextColor(text.getTextColor());
57-
// event.setBGColor(text.getBgColor());
58-
// event.setBGColorVisible(text.getBgColorVisible());
59-
// event.setDataPoints(text.getLocation());
55+
event.addAnnotation(text.getAnnotation());
6056
recorder.record(session, event);
6157
}
6258

@@ -102,25 +98,15 @@ public void modifyText(Annotation text, Presentation presentation) {
10298
event.setTimestamp(System.currentTimeMillis());
10399
event.setPresentation(presentation.getName());
104100
event.setPageNumber(presentation.getActivePage().getPageIndex());
105-
// event.setText(text.getText());
106-
// event.setTextColor(text.getTextColor());
107-
// event.setBGColor(text.getBgColor());
108-
// event.setBGColorVisible(text.getBgColorVisible());
109-
// event.setDataPoints(text.getLocation());
110-
// event.setModifyingID(text.getID());
101+
event.addAnnotation(text.getAnnotation());
111102
recorder.record(session, event);
112103
}
113104

114105
@Override
115106
public void undoShape(Presentation presentation) {
116-
// TODO Auto-generated method stub
117-
107+
UndoShapeWhiteboardRecordEvent event = new UndoShapeWhiteboardRecordEvent();
108+
event.setMeetingId(session);
109+
event.setTimestamp(System.currentTimeMillis());
110+
recorder.record(session, event);
118111
}
119-
120-
// @Override
121-
// public void addShape(ShapeGraphic shape, Presentation presentation) {
122-
// TODO Auto-generated method stub
123-
//
124-
// }
125-
126112
}

0 commit comments

Comments
 (0)