summaryrefslogtreecommitdiffstats
path: root/org/madore/damlengine/WeblogPopulate.java
diff options
context:
space:
mode:
Diffstat (limited to 'org/madore/damlengine/WeblogPopulate.java')
-rw-r--r--org/madore/damlengine/WeblogPopulate.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/org/madore/damlengine/WeblogPopulate.java b/org/madore/damlengine/WeblogPopulate.java
index 6593f9f..bb3af48 100644
--- a/org/madore/damlengine/WeblogPopulate.java
+++ b/org/madore/damlengine/WeblogPopulate.java
@@ -46,13 +46,13 @@ public final class WeblogPopulate {
final PreparedStatement checkSt
= conn.prepareStatement("SELECT sha1 FROM entries WHERE id=?");
final PreparedStatement insertNSt
- = conn.prepareStatement("INSERT INTO entries(id,edate,lang,do_single_page,title,title_xml,content,sha1) VALUES (?,?,?,?,?,?::xml,?::xml,?)");
+ = conn.prepareStatement("INSERT INTO entries(id,edate,lang,do_single_page,title,title_xml,content,sha1,has_cut) VALUES (?,?,?,?,?,?::xml,?::xml,?,?)");
final PreparedStatement insertCSt
- = conn.prepareStatement("INSERT INTO entries(id,edate,lang,do_single_page,title,title_xml,content,sha1,cdate) VALUES (?,?,?,?,?,?::xml,?::xml,?,?::timestamptz)");
+ = conn.prepareStatement("INSERT INTO entries(id,edate,lang,do_single_page,title,title_xml,content,sha1,has_cut,cdate) VALUES (?,?,?,?,?,?::xml,?::xml,?,?,?::timestamptz)");
final PreparedStatement updateNSt
- = conn.prepareStatement("UPDATE entries SET (edate,mdate,lang,do_single_page,title,title_xml,content,sha1)=(?,DEFAULT,?,?,?,?::xml,?::xml,?) WHERE id=?");
+ = conn.prepareStatement("UPDATE entries SET (edate,mdate,lang,do_single_page,title,title_xml,content,sha1,has_cut)=(?,DEFAULT,?,?,?,?::xml,?::xml,?,?) WHERE id=?");
final PreparedStatement updateCSt
- = conn.prepareStatement("UPDATE entries SET (edate,mdate,lang,do_single_page,title,title_xml,content,sha1,cdate)=(?,DEFAULT,?,?,?,?::xml,?::xml,?,?::timestamptz) WHERE id=?");
+ = conn.prepareStatement("UPDATE entries SET (edate,mdate,lang,do_single_page,title,title_xml,content,sha1,has_cut,cdate)=(?,DEFAULT,?,?,?,?::xml,?::xml,?,?,?::timestamptz) WHERE id=?");
final PreparedStatement checkDateSt
= conn.prepareStatement("SELECT to_char(cdate,'YYYY-MM-DD\"T\"HH24:MI:SS\"Z\"') FROM entries WHERE id=?");
final PreparedStatement clearCatSt
@@ -68,6 +68,7 @@ public final class WeblogPopulate {
xp.setNamespaceContext(new DamlEngine.DamlNSMapping());
XPathExpression expr = xp.compile("//d:weblog/d:entry");
XPathExpression texpr = xp.compile("d:title");
+ XPathExpression cutexpr = xp.compile(".//d:cut-here");
NodeList entries = (NodeList)(expr.evaluate(doc, XPathConstants.NODESET));
for ( int i=0 ; i<entries.getLength() ; i++ ) {
Element ent = (Element)(entries.item(i));
@@ -101,6 +102,7 @@ public final class WeblogPopulate {
Node titleNode = (Node)(texpr.evaluate(ent, XPathConstants.NODE));
String titleTxt = (titleNode != null) ? titleNode.getTextContent() : null;
String titleXml = (titleNode != null) ? ser.writeToString(titleNode) : null;
+ boolean hasCut = cutexpr.evaluate(ent, XPathConstants.NODE) != null;
conn.setAutoCommit(false);
if ( exists ) {
System.err.println("Updating entry "+id);
@@ -116,11 +118,12 @@ public final class WeblogPopulate {
updateSt.setString(5, titleXml);
updateSt.setString(6, content);
updateSt.setString(7, digest);
+ updateSt.setBoolean(8, hasCut);
if ( cdate != null ) {
- updateSt.setString(8, cdate);
- updateSt.setInt(9, id);
+ updateSt.setString(9, cdate);
+ updateSt.setInt(10, id);
} else {
- updateSt.setInt(8, id);
+ updateSt.setInt(9, id);
}
updateSt.executeUpdate();
} else {
@@ -138,8 +141,9 @@ public final class WeblogPopulate {
insertSt.setString(6, titleXml);
insertSt.setString(7, content);
insertSt.setString(8, digest);
+ insertSt.setBoolean(9, hasCut);
if ( cdate != null )
- insertSt.setString(9, cdate);
+ insertSt.setString(10, cdate);
insertSt.executeUpdate();
}
if ( ! Pattern.matches("^\\d{4}-\\d{2}-\\d{2}T\\d{2}\\:\\d{2}(?:\\:\\d{2})?(?:Z|[\\+\\-]\\d{2}\\:\\d{2})$", cdate) ) {