Update of /var/cvs/applications/richtext/src/org/mmbase/richtext/processors/xml
In directory
james.mmbase.org:/tmp/cvs-serv3713/src/org/mmbase/richtext/processors/xml
Modified Files:
MmxfGetString.java Wiki.java
Log Message:
support for <strong>, also in wiki
See also:
http://cvs.mmbase.org/viewcvs/applications/richtext/src/org/mmbase/richtext/processors/xml
Index: MmxfGetString.java
===================================================================
RCS file:
/var/cvs/applications/richtext/src/org/mmbase/richtext/processors/xml/MmxfGetString.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- MmxfGetString.java 22 Apr 2008 14:47:13 -0000 1.11
+++ MmxfGetString.java 22 Apr 2008 16:00:49 -0000 1.12
@@ -30,13 +30,14 @@
* This class implements the `get' for `mmxf' fields.
*
* @author Michiel Meeuwissen
- * @version $Id: MmxfGetString.java,v 1.11 2008/04/22 14:47:13 michiel Exp $
+ * @version $Id: MmxfGetString.java,v 1.12 2008/04/22 16:00:49 michiel Exp $
* @since MMBase-1.8
*/
public class MmxfGetString implements Processor {
public static String MODE_SHOWBROKEN =
"org.mmbase.richtext.wiki.show_broken";
public static String MODE_LOADRELATIONS =
"org.mmbase.richtext.wiki.load_relations";
+ public static String MODE_UNDECORATEIDS =
"org.mmbase.richtext.wiki.undecorateids";
private static final Logger log =
Logging.getLoggerInstance(MmxfGetString.class);
Index: Wiki.java
===================================================================
RCS file:
/var/cvs/applications/richtext/src/org/mmbase/richtext/processors/xml/Wiki.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- Wiki.java 22 Apr 2008 14:47:13 -0000 1.4
+++ Wiki.java 22 Apr 2008 16:00:50 -0000 1.5
@@ -28,7 +28,7 @@
* id of the node).
*
* @author Michiel Meeuwissen
- * @version $Id: Wiki.java,v 1.4 2008/04/22 14:47:13 michiel Exp $
+ * @version $Id: Wiki.java,v 1.5 2008/04/22 16:00:50 michiel Exp $
* @todo something goes wrong if same node relation multiple times.
*/
@@ -38,8 +38,10 @@
private static final Logger log = Logging.getLoggerInstance(Wiki.class);
private static final long serialVersionUID = 1L;
-
- Node findById(NodeList links, String id) {
+ /**
+ * Searches in the existsing relations for a relation with the given id
+ */
+ Node findById(Element a, NodeList links, String id) {
NodeIterator ni = links.nodeIterator();
while (ni.hasNext()) {
Node relation = ni.nextNode();
@@ -60,8 +62,10 @@
} else {
if (destination.getStringValue("number").equals(id)) {
log.debug("Setting relation id of " +
relation.getNumber() + " to " + destination.getNumber());
- relation.setStringValue("id", "" +
destination.getNumber());
+ String decoratedId = decorateId("" +
destination.getNumber());
+ relation.setStringValue("id", decoratedId);
relation.commit();
+ a.setAttribute("id", decoratedId);
log.debug("relation " + relation + " " +
relation.getCloud());
return relation;
}
@@ -71,6 +75,17 @@
return null; // not found
}
+ String cleanId(String id) {
+ if (id.startsWith("n_")) {
+ return id.substring(2);
+ } else {
+ return id;
+ }
+ }
+ String decorateId(String id) {
+ return "n_" + cleanId(id);
+ }
+
/**
* Simply considers the id the node-number, but this could be
sophisitcated on.
*/
@@ -86,7 +101,6 @@
*/
Document parse(Node editedNode, Document source) {
-
Map<Integer, Node> usedLinks = new HashMap<Integer, Node>();
// reolve anchors. Allow to use nodenumber as anchor.
if (log.isDebugEnabled()) {
@@ -106,14 +120,18 @@
if (log.isDebugEnabled()) {
log.debug("Found " + XMLWriter.write(a, true));
}
- Node link = findById(links, id);
+ Node link = findById(a, links, id);
if (link == null) {
log.service("No relation found with id'" + id + "'.
Implicitely creating one now.");
- Node node = getNode(cloud, id);
+ Node node = getNode(cloud, cleanId(id));
Relation newRel = editedNode.createRelation(node,
cloud.getRelationManager(editedNode.getNodeManager(), node.getNodeManager(),
"idrel"));
- newRel.setStringValue("id", id);
+ String decoratedId = decorateId(id);
+ newRel.setStringValue("id", decoratedId);
newRel.commit();
+ a.setAttribute("id", decoratedId);
+
}
+
}
return source;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs