Changeset 26279


Ignore:
Timestamp:
2012-10-04T10:15:44+13:00 (12 years ago)
Author:
sjm84
Message:

Adding months to date list

Location:
main/trunk/greenstone3
Files:
2 edited

Legend:

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

    r26253 r26279  
    4444    protected static HashMap<String, ArrayList<String>> _foundTableValues = new HashMap<String, ArrayList<String>>();
    4545    static Logger logger = Logger.getLogger(org.greenstone.gsdl3.util.XSLTUtil.class.getName());
    46 
     46    protected static HashMap<String, String> _stringVariables = new HashMap<String, String>();
     47
     48    public static void storeString(String name, String value)
     49    {
     50        _stringVariables.put(name, value);
     51    }
     52   
     53    public static String getString(String name)
     54    {
     55        return _stringVariables.get(name);
     56    }
     57   
    4758    /* some tests */
    4859    public static boolean equals(String s1, String s2)
     
    393404    public static String formatDate(String date, String lang)
    394405    {
    395 
    396406        String in_pattern = "yyyyMMdd";
    397407        String out_pattern = "dd MMMM yyyy";
     
    414424        }
    415425
     426    }
     427
     428    public static String getDetailFromDate(String date, String detail, String lang)
     429    {
     430        String in_pattern = "yyyyMMdd";
     431        if (date.length() == 6)
     432        {
     433            in_pattern = "yyyyMM";
     434        }
     435
     436        SimpleDateFormat formatter = new SimpleDateFormat(in_pattern, new Locale(lang));
     437        try
     438        {
     439            Date d = formatter.parse(date);
     440            if (detail.toLowerCase().equals("day"))
     441            {
     442                formatter.applyPattern("dd");
     443            }
     444            else if (detail.toLowerCase().equals("month"))
     445            {
     446                formatter.applyPattern("MMMM");
     447            }
     448            else if (detail.toLowerCase().equals("year"))
     449            {
     450                formatter.applyPattern("yyyy");
     451            }
     452            else
     453            {
     454                return "";
     455            }
     456            return formatter.format(d);
     457        }
     458        catch (Exception ex)
     459        {
     460            return "";
     461        }
    416462    }
    417463
  • main/trunk/greenstone3/web/interfaces/default/transform/classifiertools.xsl

    r26150 r26279  
    7474                        <xsl:choose>
    7575                            <xsl:when test="name()='documentNode'">
     76                                <xsl:if test="../@childType = 'DateList'">
     77                                    <xsl:variable name="prevMonth"><xsl:value-of select="util:getString('prevMonth')"/></xsl:variable>
     78                                    <xsl:variable name="currentDate"><gsf:metadata name="Date"/></xsl:variable>
     79                                    <xsl:variable name="currentMonth"><xsl:value-of select="util:getDetailFromDate($currentDate, 'month', /page/@lang)"/></xsl:variable>
     80                                    <xsl:value-of select="util:storeString('prevMonth', $currentMonth)"/>
     81                                    <td>
     82                                        <xsl:if test="not($currentMonth = $prevMonth)">
     83                                            <xsl:value-of select="$currentMonth"/>
     84                                        </xsl:if>
     85                                        <xsl:text> </xsl:text>
     86                                    </td>
     87                                </xsl:if>
    7688                                <td>
    7789                                    <table id="div{@nodeID}"><tr>
Note: See TracChangeset for help on using the changeset viewer.