⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jahiadatefield.java

📁 java 写的一个新闻发布系统
💻 JAVA
字号:
//  JahiaDateField//  YG      08.08.2001package org.jahia.data.fields;import java.util.*;                     // Vector, Calendarimport org.jahia.utils.*; import org.jahia.data.*;    import org.jahia.params.*;          // ParamBeanimport org.jahia.sharing.*;         // JahiaDataSourceManagerimport org.jahia.exceptions.JahiaException;import org.jahia.services.pages.*;import org.jahia.registries.*;      // Registriespublic class JahiaDateField extends JahiaField{        /***        * constructor        * YG            *        */    public JahiaDateField(Integer      ID,                            Integer         jahiaID,                            Integer         pageID,                            Integer         ctnid,                            Integer         fieldDefID,                            Integer         fieldType,                            Integer         connectType,                            String          fieldValue,                            Integer         rank,                            Integer         aclID )    {        super(ID, jahiaID, pageID, ctnid, fieldDefID, fieldType, connectType,              fieldValue, rank, aclID);    } // end constructor            public void load(int loadFlag, ParamBean jParams)    throws JahiaException    {        switch (this.getConnectType())        {            case (ConnectionTypes.LOCAL) :                //this.setValue(this.getValue());                if (!this.getValue().equals("<empty>")) {                                        Vector months = new Vector();                    months.add("January");                    months.add("February");                    months.add("March");                    months.add("April");                    months.add("May");                    months.add("June");                    months.add("July");                    months.add("August");                    months.add("September");                    months.add("October");                    months.add("November");                    months.add("December");                                              int pageID = this.pageID;                    JahiaPage thePage = ServicesRegistry.getInstance().getJahiaPageService().lookupPage( pageID);                    String defValue = this.getDefinition().getDefaultValue(thePage.getPageTemplateID());                    //System.out.println("DefValue: "+defValue);                    String vData = "DD MONTH YYYY";                    if ( (defValue.toUpperCase().indexOf("JAHIA_CALENDAR") != -1) && (defValue.indexOf("[") != -1) ) {                        int startStr    = defValue.indexOf("[") + 1;                        int endStr      = defValue.indexOf("]");                        vData           = defValue.substring(startStr,endStr);                    }                    //System.out.println("Format: "+vData);                    long t1;                    if (this.getValue() != null && !this.getValue().equals(""))                    {                        try {                            Long l1 = new Long(this.getValue());                            t1 = l1.longValue();                        } catch (NumberFormatException e)                        {                            this.setValue("");                            this.setObject(new String(""));                            break;                        }                          }                    else                    {                        //t1 = System.currentTimeMillis();                        this.setValue("");                        this.setObject(new String(""));                        break;                    }                                        TimeZone tz = TimeZone.getTimeZone("UTC");                    Calendar cal = Calendar.getInstance(tz);                    cal.setTime(new Date(t1));                    int year = cal.get(Calendar.YEAR);                    int mon = cal.get(Calendar.MONTH);                    int mon2 = mon+1;                    int day = cal.get(Calendar.DAY_OF_MONTH);                    int hour = cal.get(Calendar.HOUR_OF_DAY);                    int min = cal.get(Calendar.MINUTE);                       String vMonth = new String();                    vMonth = vMonth.valueOf(1 + mon);                    vMonth = (vMonth.length() < 2) ? "0" + vMonth : vMonth;                    String vMon = ((String)months.get(mon)).substring(0,3);                    String vFMon = (String)months.get(mon);                    String vY4 = new String();                    vY4 = vY4.valueOf(year);                    String vY2 = new String();                    vY2 = vY4.substring(2,4);                    String vDD = new String();                    vDD = vDD.valueOf(day);                    vDD = (vDD.length() < 2) ? "0" + vDD : vDD;                    String h24 = String.valueOf(hour);                    String h12;                    String vTT;                    if (hour > 12)                    {                        h12 = String.valueOf(hour - 12);                        vTT = "PM";                    }                    else if (hour == 0)                    {                        h12 = String.valueOf(12);                        vTT = "PM";                    }                    else                    {                        h12 = String.valueOf(hour);                        vTT = "AM";                    }                    h24 = (h24.length() < 2) ? "0" + h24 : h24;                    h12 = (h12.length() < 2) ? "0" + h12 : h12;                                        String m = String.valueOf(min);                    m = (m.length() < 2) ? "0" + m : m;                    String vT24 = h24 + ":" + m;                    String vT12 = h12 + ":" + m;                       StringBuffer data = new StringBuffer(vData);                    int pos = vData.toUpperCase().indexOf("YYYY");                    if (pos != -1)                    {                        data = data.replace(pos, pos+4, vY4);                        vData = data.toString();                    }                    pos = vData.toUpperCase().indexOf("YY");                    if (pos != -1)                    {                        data = data.replace(pos, pos+2, vY2);                        vData = data.toString();                    }                    pos = vData.toUpperCase().indexOf("MONTH");                    if (pos != -1)                    {                        data = data.replace(pos, pos+5, vFMon);                        vData = data.toString();                    }                    pos = vData.toUpperCase().indexOf("MON");                    if (pos != -1)                    {                        data = data.replace(pos, pos+3, vMon);                        vData = data.toString();                    }                    pos = vData.toUpperCase().indexOf("HH:MM");                    if (pos != -1)                    {                        int pos2 = vData.toUpperCase().indexOf("TT");                        if (pos2 != -1)                        {                            data = data.replace(pos2, pos2+2, vTT);                            data = data.replace(pos, pos+5, vT12);                            vData = data.toString();                        }                        else                        {                            data = data.replace(pos, pos+5, vT24);                            vData = data.toString();                        }                                            }                                        pos = vData.toUpperCase().indexOf("MM");                    if (pos != -1)                    {                        data = data.replace(pos, pos+2, vMonth);                        vData = data.toString();                    }                    pos = vData.toUpperCase().indexOf("DD");                    if (pos != -1)                    {                        data = data.replace(pos, pos+2, vDD);                        vData = data.toString();                    }                       vData = data.toString();                       //System.out.println("Date: "+vData);                                        this.setObject( this.getValue() );                    this.setValue(vData);                    this.setRawValue(this.getValue());                                    }                break;            case (ConnectionTypes.DATASOURCE) :            if ((loadFlag & LoadFlags.DATASOURCE) != 0) {                this.setValue( JahiaDataSourceManager.getInstance().                    fields().getInstance().getRemoteFieldValue(                    this.getValue() ));                this.setObject( this.getValue() );            }        }            }        public void save(ParamBean jParams)    throws JahiaException    {        ;    }        public void delete(ParamBean jParams)    throws JahiaException    {        ;    }    /**     * Returns an hashtable of indexable attributes , pairs [attribute name/value].      * Returned pairs:     * 					("value",val) the date value     *     * @return Hashtable a map of indexable attributes , pairs [attribute name/value]     */    public Hashtable getIndexableAttributes(){    	Hashtable hash = new Hashtable();    	hash.put("value",getValue());    	return hash;    }        public String getEngineName()    {        return "org.jahia.engines.shared.Date_Field";    }        public String getFieldContent4Ranking()    {        return this.getValue();    }        public String getIconNameOff()    {        return "date_off";    }        public String getIconNameOn()    {        return "date_on";    }            public JahiaField cloneField(int newctnid, int newPageID, int clonedAclID, boolean childrenCloned)    throws JahiaException    {        JahiaField clonedField = ServicesRegistry.getInstance().getJahiaFieldService().                                 createJahiaField(0, this.getJahiaID(),                                 newPageID, newctnid,                                 this.getFieldDefID(), this.getType(),                                 this.getConnectType(),                                 (String)this.getObject(), this.getRank(),                                 clonedAclID );        //toDebug("cloneField(): value = "+this.getValue());        if (clonedField == null)        {            throw new JahiaException ("Could not clone field.",                "Could not instanciate a new JahiaField object.",                JahiaException.PAGE_ERROR, JahiaException.CRITICAL);        }        clonedField.setRawValue(this.getRawValue());        clonedField.setObject( this.getObject() );        clonedField.setProperties( (Hashtable)(this.getProperties()).clone() );                return clonedField;    }        public Object clone()    {        return new JahiaDateField (new Integer(ID), new Integer(jahiaID),                                        new Integer(pageID),                                         new Integer(ctnid),                                        new Integer(fieldDefID),                                         new Integer(fieldType),                                         new Integer(connectType),                                         fieldValue, new Integer(rank),                                         new Integer(aclID) );    }            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -