Changeset 25107 for main


Ignore:
Timestamp:
2012-02-21T09:46:06+13:00 (12 years ago)
Author:
sjm84
Message:

Added functions that check for duplicate metadata values when displaying metadata

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XSLTUtil.java

    r24972 r25107  
    1919package org.greenstone.gsdl3.util;
    2020
     21import java.util.ArrayList;
    2122import java.util.Date;
     23import java.util.HashMap;
    2224import java.util.Locale;
    2325import java.util.MissingResourceException;
     
    3638public class XSLTUtil
    3739{
    38 
     40    protected static HashMap<String, ArrayList<String>> _foundTableValues = new HashMap<String, ArrayList<String>>();
    3941    static Logger logger = Logger.getLogger(org.greenstone.gsdl3.util.XSLTUtil.class.getName());
    4042
     
    176178    {
    177179        key = key.replaceAll("__INTERFACE_NAME__", interface_name);
    178        
     180
    179181        String[] args = null;
    180182        if (args_str != null && !args_str.equals(""))
     
    415417        }
    416418    }
    417    
     419
    418420    public static String escapeNewLines(String str)
    419421    {
    420         if(str == null || str.length() < 1)
     422        if (str == null || str.length() < 1)
    421423        {
    422424            return null;
     
    424426        return str.replace("\n", "\\\n");
    425427    }
    426    
     428
    427429    public static String escapeQuotes(String str)
    428430    {
    429         if(str == null || str.length() < 1)
     431        if (str == null || str.length() < 1)
    430432        {
    431433            return null;
     
    433435        return str.replace("\"", "\\\"");
    434436    }
    435    
     437
    436438    public static String escapeNewLinesAndQuotes(String str)
    437439    {
    438         if(str == null || str.length() < 1)
     440        if (str == null || str.length() < 1)
    439441        {
    440442            return null;
     
    442444        return escapeNewLines(escapeQuotes(str));
    443445    }
     446
     447    public static void clearMetadataStorage()
     448    {
     449        _foundTableValues.clear();
     450    }
     451
     452    public static boolean checkMetadataNotDuplicate(String name, String value)
     453    {
     454        if(_foundTableValues.containsKey(name))
     455        {
     456            for(String mapValue : _foundTableValues.get(name))
     457            {
     458                if(mapValue.equals(value))
     459                {
     460                    return false;
     461                }
     462            }
     463            _foundTableValues.get(name).add(value);
     464            return true;
     465        }
     466       
     467        ArrayList<String> newList = new ArrayList<String>();
     468        newList.add(value);
     469       
     470        _foundTableValues.put(name, newList);
     471       
     472        return true;
     473    }
    444474}
Note: See TracChangeset for help on using the changeset viewer.