MemberMapping.java :  » Forum » mvnforum-1.1 » com » mvnforum » common » Java Open Source

Java Open Source » Forum » mvnforum 1.1 
mvnforum 1.1 » com » mvnforum » common » MemberMapping.java
/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/common/MemberMapping.java,v 1.8 2007/10/16 06:49:38 lexuanttkhtn Exp $
 * $Author: lexuanttkhtn $
 * $Revision: 1.8 $
 * $Date: 2007/10/16 06:49:38 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2007 by MyVietnam.net
 *
 * All copyright notices regarding mvnForum MUST remain
 * intact in the scripts and in the outputted HTML.
 * The "powered by" text/logo with a link back to
 * http://www.mvnForum.com and http://www.MyVietnam.net in
 * the footer of the pages MUST remain visible when the pages
 * are viewed on the internet or intranet.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Support can be obtained from support forums at:
 * http://www.mvnForum.com/mvnforum/index
 *
 * Correspondence and Marketing Questions can be sent to:
 * info at MyVietnam net
 *
 * @author: Phong Ta Quoc
 */
package com.mvnforum.common;

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;

import net.myvietnam.mvncore.configuration.DOM4JConfiguration;
import net.myvietnam.mvncore.util.FileUtil;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class MemberMapping {
    
    private static Log log = LogFactory.getLog(MemberMapping.class);

    private static final String SCHEMA_MAPPING_FILE = "schemaMapping.xml";

    private static final String DATABASE = "database";
    private static final String DISABLE  = "disable";

    private String memberName = DATABASE;
    private String memberPassword = DATABASE;
    private String memberFirstEmail = DATABASE;
    private String memberEmail = DATABASE;
    private String memberEmailVisible = DATABASE;
    private String memberNameVisible = DATABASE;
    private String memberFirstIP = DATABASE;
    private String memberLastIP = DATABASE;
    private String memberViewCount = DATABASE;
    private String memberPostCount = DATABASE;
    private String memberCreationDate = DATABASE;
    private String memberModifiedDate = DATABASE;
    private String memberExpireDate = DATABASE;
    private String memberLastLogon = DATABASE;
    private String memberOption = DATABASE;
    private String memberStatus = DATABASE;
    private String memberActivateCode = DATABASE;
    private String memberTempPassword = DATABASE;
    private String memberMessageCount = DATABASE;
    private String memberMessageOption = DATABASE;
    private String memberPostsPerPage = DATABASE;
    private String memberWarnCount = DATABASE;
    private String memberVoteCount = DATABASE;
    private String memberVoteTotalStars = DATABASE;
    private String memberRewardPoints = DATABASE;
    private String memberTitle = DATABASE;
    private String memberTimeZone = DATABASE;
    private String memberSignature = DATABASE;
    private String memberAvatar = DATABASE;
    private String memberSkin = DATABASE;
    private String memberLanguage = DATABASE;
    private String memberFirstname = DATABASE;
    private String memberLastname = DATABASE;
    private String memberGender = DATABASE;
    private String memberBirthday = DATABASE;
    private String memberAddress = DATABASE;
    private String memberCity = DATABASE;
    private String memberState = DATABASE;
    private String memberCountry = DATABASE;
    private String memberPhone = DATABASE;
    private String memberMobile = DATABASE;
    private String memberFax = DATABASE;
    private String memberCareer = DATABASE;
    private String memberHomepage = DATABASE;
    private String memberYahoo = DATABASE;
    private String memberAol = DATABASE;
    private String memberIcq = DATABASE;
    private String memberMsn = DATABASE;
    private String memberCoolLink1 = DATABASE;
    private String memberCoolLink2 = DATABASE;

    private Collection localFields = new ArrayList();
    private Collection externalFields = new ArrayList();
    private Collection externalFieldValues = new ArrayList();

    private static MemberMapping instance = new MemberMapping();

    private MemberMapping() {
        this.loadSchemaMapping();
    }

    public static MemberMapping getInstance() {
        return instance;
    }

    public String[] getLocalFields() {
        return (String[]) localFields.toArray(new String[0]);
    }

    public String[] getExternalFields() {
        return (String[]) externalFields.toArray(new String[0]);
    }

    public String[] getExternalFieldValues() {
        return (String[]) externalFieldValues.toArray(new String[0]);
    }

    private void loadSchemaMapping() {

        try {
            String configFilename = FileUtil.getServletClassesPath() + SCHEMA_MAPPING_FILE;

            DOM4JConfiguration mapping = new DOM4JConfiguration(new File (configFilename));

            memberName = mapping.getString("MemberName");
            checkField("MemberName", memberName);

            memberPassword = mapping.getString("MemberPassword");
            checkField("MemberPassword", memberPassword);

            memberFirstEmail = mapping.getString("MemberFirstEmail");
            checkField("MemberFirstEmail", memberFirstEmail);

            memberEmail = mapping.getString("MemberEmail");
            checkField("MemberEmail", memberEmail);

            memberEmailVisible = mapping.getString("MemberEmailVisible");
            checkField("MemberEmailVisible", memberEmailVisible);

            memberNameVisible = mapping.getString("MemberNameVisible");
            checkField("MemberNameVisible", memberNameVisible);

            memberFirstIP = mapping.getString("MemberFirstIP");
            checkField("MemberFirstIP", memberFirstIP);

            memberLastIP = mapping.getString("MemberLastIP");
            checkField("MemberLastIP", memberLastIP);

            memberViewCount = mapping.getString("MemberViewCount");
            checkField("MemberViewCount", memberViewCount);

            memberPostCount = mapping.getString("MemberPostCount");
            checkField("MemberPostCount", memberPostCount);

            memberCreationDate = mapping.getString("MemberCreationDate");
            checkField("MemberCreationDate", memberCreationDate);

            memberModifiedDate = mapping.getString("MemberModifiedDate");
            checkField("MemberModifiedDate", memberModifiedDate);

            memberExpireDate = mapping.getString("MemberExpireDate");
            checkField("MemberExpireDate", memberExpireDate);

            memberLastLogon = mapping.getString("MemberLastLogon");
            checkField("MemberLastLogon", memberLastLogon);

            memberOption = mapping.getString("MemberOption");
            checkField("MemberOption", memberOption);

            memberStatus = mapping.getString("MemberStatus");
            checkField("MemberStatus", memberStatus);

            memberActivateCode = mapping.getString("MemberActivateCode");
            checkField("MemberActivateCode", memberActivateCode);

            memberTempPassword = mapping.getString("MemberTempPassword");
            checkField("MemberTempPassword", memberTempPassword);

            memberMessageCount = mapping.getString("MemberMessageCount");
            checkField("MemberMessageCount", memberMessageCount);

            memberMessageOption = mapping.getString("MemberMessageOption");
            checkField("MemberMessageOption", memberMessageOption);

            memberPostsPerPage = mapping.getString("MemberPostsPerPage");
            checkField("MemberPostsPerPage", memberPostsPerPage);

            memberWarnCount = mapping.getString("MemberWarnCount");
            checkField("MemberWarnCount", memberWarnCount);

            memberVoteCount = mapping.getString("MemberVoteCount");
            checkField("MemberVoteCount", memberVoteCount);

            memberVoteTotalStars = mapping.getString("MemberVoteTotalStars");
            checkField("MemberVoteTotalStars", memberVoteTotalStars);

            memberRewardPoints = mapping.getString("MemberRewardPoints");
            checkField("MemberRewardPoints", memberRewardPoints);

            memberTitle = mapping.getString("MemberTitle");
            checkField("MemberTitle", memberTitle);

            memberTimeZone = mapping.getString("MemberTimeZone");
            checkField("MemberTimeZone", memberTimeZone);

            memberSignature = mapping.getString("MemberSignature");
            checkField("MemberSignature", memberSignature);

            memberAvatar = mapping.getString("MemberAvatar");
            checkField("MemberAvatar", memberAvatar);

            memberSkin = mapping.getString("MemberSkin");
            checkField("MemberSkin", memberSkin);

            memberLanguage = mapping.getString("MemberLanguage");
            checkField("MemberLanguage", memberLanguage);

            memberFirstname = mapping.getString("MemberFirstname");
            checkField("MemberFirstname", memberFirstname);

            memberLastname = mapping.getString("MemberLastname");
            checkField("MemberLastname", memberLastname);

            memberGender = mapping.getString("MemberGender");
            checkField("MemberGender", memberGender);

            memberBirthday = mapping.getString("MemberBirthday");
            checkField("MemberBirthday", memberBirthday);

            memberAddress = mapping.getString("MemberAddress");
            checkField("MemberAddress", memberAddress);

            memberCity = mapping.getString("MemberCity");
            checkField("MemberCity", memberCity);

            memberState = mapping.getString("MemberState");
            checkField("MemberState", memberState);

            memberCountry = mapping.getString("MemberCountry");
            checkField("MemberCountry", memberCountry);

            memberPhone = mapping.getString("MemberPhone");
            checkField("MemberPhone", memberPhone);

            memberMobile = mapping.getString("MemberMobile");
            checkField("MemberMobile", memberMobile);

            memberFax = mapping.getString("MemberFax");
            checkField("MemberFax", memberFax);

            memberCareer = mapping.getString("MemberCareer");
            checkField("MemberCareer", memberCareer);

            memberHomepage = mapping.getString("MemberHomepage");
            checkField("MemberHomepage", memberHomepage);

            memberYahoo = mapping.getString("MemberYahoo");
            checkField("MemberYahoo", memberYahoo);

            memberAol = mapping.getString("MemberAol");
            checkField("MemberAol", memberAol);

            memberIcq = mapping.getString("MemberIcq");
            checkField("MemberIcq", memberIcq);

            memberMsn = mapping.getString("MemberMsn");
            checkField("MemberMsn", memberMsn);

            memberCoolLink1 = mapping.getString("MemberCoolLink1");
            checkField("MemberCoolLink1", memberCoolLink1);

            memberCoolLink2 = mapping.getString("MemberCoolLink2");
            checkField("MemberCoolLink2", memberCoolLink2);
        } catch (Throwable e) {
            log.error("Cannot load the mapping file", e);
        }
    }

    private void checkField(String field, String mappingField) {
        if (isExternalField(mappingField)) {
            externalFields.add(field);
            externalFieldValues.add(mappingField);
        } else if (isLocalField(mappingField)) {
            localFields.add(field);
        }
    }

    public static boolean isLocalField(String field) {
        return field.equals(DATABASE);
    }

    public static boolean isExternalField(String field) {
        return ( (field.equals(DISABLE) == false) && (field.equals(DATABASE) == false) );
    }

    public String getMemberName() {
        return memberName;
    }

    public String getMemberActivateCode() {
        return memberActivateCode;
    }

    public String getMemberAddress() {
        return memberAddress;
    }

    public String getMemberAol() {
        return memberAol;
    }

    public String getMemberAvatar() {
        return memberAvatar;
    }

    public String getMemberBirthday() {
        return memberBirthday;
    }

    public String getMemberCareer() {
        return memberCareer;
    }

    public String getMemberCity() {
        return memberCity;
    }

    public String getMemberCoolLink1() {
        return memberCoolLink1;
    }

    public String getMemberCoolLink2() {
        return memberCoolLink2;
    }

    public String getMemberCountry() {
        return memberCountry;
    }

    public String getMemberCreationDate() {
        return memberCreationDate;
    }

    public String getMemberEmail() {
        return memberEmail;
    }

    public String getMemberEmailVisible() {
        return memberEmailVisible;
    }

    public String getMemberExpireDate() {
        return memberExpireDate;
    }

    public String getMemberFax() {
        return memberFax;
    }

    public String getMemberFirstEmail() {
        return memberFirstEmail;
    }

    public String getMemberFirstIP() {
        return memberFirstIP;
    }

    public String getMemberFirstname() {
        return memberFirstname;
    }

    public String getMemberGender() {
        return memberGender;
    }

    public String getMemberHomepage() {
        return memberHomepage;
    }

    public String getMemberIcq() {
        return memberIcq;
    }

    public String getMemberLanguage() {
        return memberLanguage;
    }

    public String getMemberLastIP() {
        return memberLastIP;
    }

    public String getMemberLastLogon() {
        return memberLastLogon;
    }

    public String getMemberLastname() {
        return memberLastname;
    }

    public String getMemberMessageCount() {
        return memberMessageCount;
    }

    public String getMemberMessageOption() {
        return memberMessageOption;
    }

    public String getMemberMobile() {
        return memberMobile;
    }

    public String getMemberModifiedDate() {
        return memberModifiedDate;
    }

    public String getMemberMsn() {
        return memberMsn;
    }

    public String getMemberNameVisible() {
        return memberNameVisible;
    }

    public String getMemberOption() {
        return memberOption;
    }

    public String getMemberPassword() {
        return memberPassword;
    }

    public String getMemberPhone() {
        return memberPhone;
    }

    public String getMemberPostCount() {
        return memberPostCount;
    }

    public String getMemberPostsPerPage() {
        return memberPostsPerPage;
    }

    public String getMemberRewardPoints() {
        return memberRewardPoints;
    }

    public String getMemberSignature() {
        return memberSignature;
    }

    public String getMemberSkin() {
        return memberSkin;
    }

    public String getMemberState() {
        return memberState;
    }

    public String getMemberStatus() {
        return memberStatus;
    }

    public String getMemberTempPassword() {
        return memberTempPassword;
    }

    public String getMemberTimeZone() {
        return memberTimeZone;
    }

    public String getMemberTitle() {
        return memberTitle;
    }

    public String getMemberViewCount() {
        return memberViewCount;
    }

    public String getMemberVoteCount() {
        return memberVoteCount;
    }

    public String getMemberVoteTotalStars() {
        return memberVoteTotalStars;
    }

    public String getMemberWarnCount() {
        return memberWarnCount;
    }

    public String getMemberYahoo() {
        return memberYahoo;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.