xlawrence    2005/06/28 13:38:56 CEST

  Modified files:
    core/src/java/org/jahia/data/fields JahiaBigTextField.java 
  Log:
  Minor fix
  
  Revision  Changes    Path
  1.16      +55 -46    
jahia/core/src/java/org/jahia/data/fields/JahiaBigTextField.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/fields/JahiaBigTextField.java.diff?r1=1.15&r2=1.16&f=h
  
  
  
  Index: JahiaBigTextField.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/fields/JahiaBigTextField.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- JahiaBigTextField.java    28 Jun 2005 09:54:25 -0000      1.15
  +++ JahiaBigTextField.java    28 Jun 2005 11:38:56 -0000      1.16
  @@ -375,56 +375,62 @@
       public static String rewriteURLs(String content, final ParamBean 
jParams) {
           logger.debug("rewriteURLs...");
           
  -        if (content == null || content.length() == 0) {
  -            return "";
  -        }
  -        
  -        if (content.indexOf(URL_MARKER) < 0) { // nothing to rewrite...
  -            return content;
  -        }
  -        
  -        final StringBuffer buff = new StringBuffer();
  -        
  -        final String path = 
buff.append(jParams.getRequest().getContextPath()).
  -                append(SERVLET_PATH).toString();
  -        buff.delete(0, buff.length());
  -        
  -        final String mode = jParams.getOperationMode();
  -        
  -        final StringTokenizer tokenizer = new StringTokenizer(content, " ");
  -        while (tokenizer.hasMoreTokens()) {
  -            final String token = tokenizer.nextToken();
  +        try {
  +            if (content == null || content.length() == 0) {
  +                return "";
  +            }
  +            
  +            if (content.indexOf(URL_MARKER) < 0) { // nothing to rewrite...
  +                return content;
  +            }
  +            
  +            final StringBuffer buff = new StringBuffer();
               
  -            if (token.indexOf("/pid/") < 0) {
  -                continue;
  +            final String path = 
buff.append(jParams.getRequest().getContextPath()).
  +                    append(SERVLET_PATH).toString();
  +            buff.delete(0, buff.length());
  +            
  +            final String mode = jParams.getOperationMode();
  +            
  +            final StringTokenizer tokenizer = new StringTokenizer(content, " 
");
  +            while (tokenizer.hasMoreTokens()) {
  +                final String token = tokenizer.nextToken();
  +                
  +                if (token.indexOf("/pid/") < 0) {
  +                    continue;
  +                }
  +                
  +                final String res;
  +                if ((res = getURLwithURLKey(path, token, mode)) != null) {
  +                    content = StringUtils.replace(content, token, res);
  +                }
               }
               
  -            final String res;
  -            if ((res = getURLwithURLKey(path, token, mode)) != null) {
  -                content = StringUtils.replace(content, token, res);
  +            buff.append(path);
  +            if (! ParamBean.NORMAL.equals(mode)) {
  +                buff.append("/op/").append(mode);
               }
  -        }
  -        
  -        buff.append(path);
  -        if (! ParamBean.NORMAL.equals(mode)) {
  -            buff.append("/op/").append(mode);
  -        }
  -        
  -        String result = StringUtils.replace(content, URL_MARKER,
  -                buff.toString());
  -        buff.delete(0, buff.length());
  -        
  -        if (result.indexOf(jParams.getRequest().getServerName()) > -1) {
  -            logger.debug("rewriteURLs + serverName");
  -            buff.append(jParams.getRequest().getScheme()).append("://")
  -            .append(jParams.getRequest().getServerName()).append(":")
  -            .append(jParams.getRequest().getServerPort());
               
  -            result = StringUtils.replace(result, buff.toString(), "");
  +            String result = StringUtils.replace(content, URL_MARKER,
  +                    buff.toString());
               buff.delete(0, buff.length());
  -        }
  -        logger.debug("rewritten: "+result);
  -        return result;
  +            
  +            if (result.indexOf(jParams.getRequest().getServerName()) > -1) {
  +                logger.debug("rewriteURLs + serverName");
  +                buff.append(jParams.getRequest().getScheme()).append("://")
  +                .append(jParams.getRequest().getServerName()).append(":")
  +                .append(jParams.getRequest().getServerPort());
  +                
  +                result = StringUtils.replace(result, buff.toString(), "");
  +                buff.delete(0, buff.length());
  +            }
  +            logger.debug("rewritten: "+result);
  +            return result;
  +            
  +        } catch (Exception e) {
  +            logger.error("Error while rewriting the URLs !", e);
  +            return null; 
  +        } 
       }
       
       /**
  @@ -708,7 +714,6 @@
        */
       protected static String getPID(final String s) {
           logger.debug("Getting PID from: "+s);
  -        System.out.println(s);
           final StringBuffer buff = new StringBuffer();
           final String value;
           final int index;
  @@ -757,7 +762,11 @@
               buff.append("/op/").append(mode);
           }
           
  -        buff.append(rawURL.substring(rawURL.indexOf(">") - 1));
  +        buff.append("\"");
  +        final int index = rawURL.indexOf(">");
  +        if (index > -1) {
  +            buff.append(rawURL.substring(index));
  +        }
           return buff.toString();
       }
       
  

Reply via email to