Author: johnh
Date: Wed Apr 14 03:46:42 2010
New Revision: 933851
URL: http://svn.apache.org/viewvc?rev=933851&view=rev
Log:
Adds numChanges counter to MutableContent.
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/MutableContent.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/MutableContentTest.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/MutableContent.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/MutableContent.java?rev=933851&r1=933850&r2=933851&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/MutableContent.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/MutableContent.java
Wed Apr 14 03:46:42 2010
@@ -35,6 +35,7 @@ public class MutableContent {
private String content;
private HttpResponse contentSource;
private Document document;
+ private int numChanges;
private final GadgetHtmlParser contentParser;
private final Map<String, Object> pipelinedData;
@@ -53,7 +54,8 @@ public class MutableContent {
public MutableContent(GadgetHtmlParser contentParser, String content) {
this.contentParser = contentParser;
this.content = content;
- pipelinedData = Maps.newHashMap();
+ this.numChanges = 0;
+ this.pipelinedData = Maps.newHashMap();
}
/**
@@ -63,7 +65,7 @@ public class MutableContent {
public MutableContent(GadgetHtmlParser contentParser, HttpResponse
contentSource) {
this.contentParser = contentParser;
this.contentSource = contentSource;
- pipelinedData = Maps.newHashMap();
+ this.pipelinedData = Maps.newHashMap();
}
@@ -101,6 +103,7 @@ public class MutableContent {
content = newContent;
document = null;
contentSource = null;
+ numChanges++;
}
}
@@ -113,6 +116,7 @@ public class MutableContent {
if (document != null) {
content = null;
contentSource = null;
+ numChanges++;
}
}
@@ -139,6 +143,10 @@ public class MutableContent {
}
return document;
}
+
+ public int getNumChanges() {
+ return numChanges;
+ }
/**
* True if current state has a parsed document. Allows rewriters to switch
mode based on
Modified:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/MutableContentTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/MutableContentTest.java?rev=933851&r1=933850&r2=933851&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/MutableContentTest.java
(original)
+++
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/MutableContentTest.java
Wed Apr 14 03:46:42 2010
@@ -54,14 +54,19 @@ public class MutableContentTest {
assertSame(content, mhc.getContent());
assertSame(document, mhc.getDocument());
+ assertEquals(0, mhc.getNumChanges());
}
@Test
public void modifyContentReflectedInTree() throws Exception {
+ assertEquals(0, mhc.getNumChanges());
mhc.setContent("NEW CONTENT");
+ assertEquals(1, mhc.getNumChanges());
Document document = mhc.getDocument();
assertEquals(1, document.getChildNodes().getLength());
assertEquals("NEW CONTENT",
document.getChildNodes().item(0).getTextContent());
+ mhc.documentChanged();
+ assertEquals(2, mhc.getNumChanges());
}
@Test
@@ -70,12 +75,15 @@ public class MutableContentTest {
// First child should be text node per other tests. Modify it.
document.getFirstChild().getFirstChild().setTextContent("FOO CONTENT");
+ assertEquals(0, mhc.getNumChanges());
MutableContent.notifyEdit(document);
+ assertEquals(1, mhc.getNumChanges());
assertTrue(mhc.getContent().contains("FOO CONTENT"));
// Do it again
document.getFirstChild().getFirstChild().setTextContent("BAR CONTENT");
MutableContent.notifyEdit(document);
+ assertEquals(2, mhc.getNumChanges());
assertTrue(mhc.getContent().contains("BAR CONTENT"));
// GadgetHtmlNode hasn't changed because string hasn't changed