fixes the problem Alster spotted ...
authorjohn <john>
Wed, 7 Sep 2005 22:59:32 +0000 (22:59 +0000)
committerjohn <john>
Wed, 7 Sep 2005 22:59:32 +0000 (22:59 +0000)
source/mircoders/localizer/basic/MirBasicProducerAssistantLocalizer.java

index 9ec8c4d..1449c5f 100755 (executable)
@@ -38,6 +38,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import gnu.regexp.RE;
+
 import mir.config.MirPropertiesConfiguration;
 import mir.entity.adapter.EntityAdapter;
 import mir.entity.adapter.EntityIteratorAdapter;
@@ -65,6 +67,19 @@ import org.w3c.tidy.Tidy;
 public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantLocalizer {
   protected LoggerWrapper logger;
 
+  private RE regularExpressionLT;
+  private RE regularExpressionGT;
+
+  public MirBasicProducerAssistantLocalizer() throws MirLocalizerExc, MirLocalizerFailure {
+      try{
+          regularExpressionLT = new RE("<");
+          regularExpressionGT = new RE(">");
+      }
+      catch (Throwable t) {
+          throw new MirLocalizerFailure(t);
+      }
+  }
+
   public void initializeGenerationValueSet(Map aValueSet) throws MirLocalizerExc, MirLocalizerFailure  {
     try {
       Iterator i;
@@ -286,7 +301,18 @@ public class MirBasicProducerAssistantLocalizer implements MirProducerAssistantL
         break;
 
       case Node.TEXT_NODE:
-        out.write(node.getNodeValue());
+       String value=node.getNodeValue();
+       try{
+         value=regularExpressionLT.substituteAll(value, "&lt;");
+         value=regularExpressionGT.substituteAll(value, "&gt;");
+       }
+       catch (Throwable t){
+         value="";
+       }
+       logger.error("TN"+value);
+
+       out.write(value);
+
         break;
 
     }