com.redhat.rhn.frontend.dto.SystemSearchResult.java Source code

Java tutorial

Introduction

Here is the source code for com.redhat.rhn.frontend.dto.SystemSearchResult.java

Source

/**
 * Copyright (c) 2009--2012 Red Hat, Inc.
 *
 * This software is licensed to you under the GNU General Public License,
 * version 2 (GPLv2). There is NO WARRANTY for this software, express or
 * implied, including the implied warranties of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
 * along with this software; if not, see
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
 *
 * Red Hat trademarks are not licensed under GPLv2. No permission is
 * granted to use or replicate Red Hat trademarks that are incorporated
 * in this software or its documentation.
 */
package com.redhat.rhn.frontend.dto;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;

import java.lang.reflect.InvocationTargetException;
import java.net.IDN;
import java.util.Calendar;

/**
 * SystemSearchResult
 * @version $Rev$
 */
public class SystemSearchResult extends SystemOverview {

    private String matchingField;
    private String matchingFieldValue;
    private String hostname;
    private String description;
    private String runningKernel;
    private Long cpuNumberOfCpus;
    private String cpuMHz;
    private String cpuModel;
    private String dmiSystem;
    private String dmiBiosVendor;
    private String dmiBiosVersion;
    private String dmiBiosRelease;
    private String dmiAsset;
    private String ipaddr;
    private String machine;
    private String rack;
    private String room;
    private String building;
    private String address1;
    private String address2;
    private String city;
    private String state;
    private String country;
    private Long ram;
    private String packageName;
    private HardwareDeviceDto hw;
    private Integer rank;
    private Double score;
    private String uuid;

    private static Logger log = Logger.getLogger(SystemSearchResult.class);

    /**
     * This method will look up the value of "matchingField" it will then
     * return the value of the variable name which matches it.
     * NOTE:  This method requires that the result has been elaborated, or else data
     * is potentially missing.  As an alternate you can use "getMatchingFieldValue" to
     * use the data returned from search server.
     * @return String of the matching field value
     */
    public String getLookupMatchingField() {
        String value = "";
        String field = getMatchingField();
        log.info("Will look up field <" + field + "> to determine why" + " this matched");
        try {
            if ((field != null) && (!StringUtils.isBlank(field))) {
                value = BeanUtils.getProperty(this, field);
                log.info("SystemSearchResult.Id = " + getId() + " BeanUtils.getProperty(sr, " + field + ") = "
                        + value);
            } else {
                log.info("SystemSearchResult.ID = " + getId() + " matchingField was null or blank");
            }
        } catch (IllegalAccessException e) {
            e.printStackTrace();
            // ignore
        } catch (NoSuchMethodException e) {
            log.info("SystemSearchResult.lookupMatchingField() " + "NoSuchMethodException caught looking up: "
                    + field + ", for system id = " + getId() + ">");
        } catch (InvocationTargetException e) {
            e.printStackTrace();
            // ignore
        }
        return value;
    }

    /**
     * @return returns the data in the field
     * that was searched on
     */
    public String getMatchingField() {
        return matchingField;
    }

    /**
     * @param matchingFieldIn The matchingField to set.
     */
    public void setMatchingField(String matchingFieldIn) {
        this.matchingField = matchingFieldIn;
    }

    /**
     * Takes care of cases where the DB will be returning numerical
     * instead of varchar vlues
     * @param matchingFieldIn matchingField to set
     */
    public void setMatchingField(Long matchingFieldIn) {
        this.matchingField = matchingFieldIn.toString();
    }

    /**
     * @return returns the data in the field
     * that was searched on
     */
    public String getMatchingFieldValue() {
        return matchingFieldValue;
    }

    /**
     * @param matchingFieldValueIn The matchingFieldValue to set.
     */
    public void setMatchingFieldValue(String matchingFieldValueIn) {
        this.matchingFieldValue = matchingFieldValueIn;
    }

    /**
     * Takes care of cases where the DB will be returning numerical
     * instead of varchar vlues
     * @param matchingFieldValueIn matchingFieldValue to set
     */
    public void setMatchingFieldValue(Long matchingFieldValueIn) {
        this.matchingFieldValue = matchingFieldValueIn.toString();
    }

    /**
     * @return the hostname
     */
    public String getHostname() {
        return hostname;
    }

    /**
     * @param hostnameIn the hostname to set
     */
    public void setHostname(String hostnameIn) {
        this.hostname = hostnameIn;
    }

    /**
      * @return the hostname in IDN encoding
      */
    public String getDecodedHostname() {
        return (hostname == null) ? null : IDN.toUnicode(hostname);
    }

    /**
     * @return the description
     */
    public String getDescription() {
        return description;
    }

    /**
     * @param descriptionIn the description to set
     */
    public void setDescription(String descriptionIn) {
        this.description = descriptionIn;
    }

    /**
     * @return the runningKernel
     */
    public String getRunningKernel() {
        return runningKernel;
    }

    /**
     * @param runningKernelIn the runningKernel to set
     */
    public void setRunningKernel(String runningKernelIn) {
        this.runningKernel = runningKernelIn;
    }

    /**
     * @return the cpuNumberOfCpus
     */
    public Long getCpuNumberOfCpus() {
        return cpuNumberOfCpus;
    }

    /**
     * @param cpuNumberOfCpusIn the cpuNumberOfCpus to set
     */
    public void setCpuNumberOfCpus(Long cpuNumberOfCpusIn) {
        this.cpuNumberOfCpus = cpuNumberOfCpusIn;
    }

    /**
     * @return the cpuMHz
     */
    public String getCpuMHz() {
        return cpuMHz;
    }

    /**
     * @param cpuMHzIn the cpuMHz to set
     */
    public void setCpuMHz(String cpuMHzIn) {
        this.cpuMHz = cpuMHzIn;
    }

    /**
     * @param cpuMHzIn the cpuMHz to set
     */
    public void setCpuMhz(String cpuMHzIn) {
        this.cpuMHz = cpuMHzIn;
    }

    /**
     * @return the cpuModel
     */
    public String getCpuModel() {
        return cpuModel;
    }

    /**
     * @param cpuModelIn the cpuModel to set
     */
    public void setCpuModel(String cpuModelIn) {
        this.cpuModel = cpuModelIn;
    }

    /**
     * @return the dmiSystem
     */
    public String getDmiSystem() {
        return dmiSystem;
    }

    /**
     * @param dmiSystemIn the dmiSystem to set
     */
    public void setDmiSystem(String dmiSystemIn) {
        this.dmiSystem = dmiSystemIn;
    }

    /**
     * @return the dmiBiosVendor
     */
    public String getDmiBiosVendor() {
        return dmiBiosVendor;
    }

    /**
     * @param dmiBiosVendorIn the dmiBiosVendor to set
     */
    public void setDmiBiosVendor(String dmiBiosVendorIn) {
        this.dmiBiosVendor = dmiBiosVendorIn;
    }

    /**
     * @return the dmiBiosRelease
     */
    public String getDmiBiosRelease() {
        return dmiBiosRelease;
    }

    /**
     * @param dmiBiosReleaseIn the dmiBiosRelease to set
     */
    public void setDmiBiosRelease(String dmiBiosReleaseIn) {
        this.dmiBiosRelease = dmiBiosReleaseIn;
    }

    /**
     * @return the dmiBiosVersion
     */
    public String getDmiBiosVersion() {
        return dmiBiosVersion;
    }

    /**
     * @param dmiBiosVersionIn the dmiBiosVersion to set
     */
    public void setDmiBiosVersion(String dmiBiosVersionIn) {
        this.dmiBiosVersion = dmiBiosVersionIn;
    }

    /**
     * @return the dmiAsset
     */
    public String getDmiAsset() {
        return dmiAsset;
    }

    /**
     * @param dmiAssetIn the dmiAsset to set
     */
    public void setDmiAsset(String dmiAssetIn) {
        this.dmiAsset = dmiAssetIn;
    }

    /**
     * @return the ipaddr
     */
    public String getIpaddr() {
        return ipaddr;
    }

    /**
     * @param ipaddrIn the ipaddr to set
     */
    public void setIpaddr(String ipaddrIn) {
        this.ipaddr = ipaddrIn;
    }

    /**
     * @return the machine
     */
    public String getMachine() {
        return machine;
    }

    /**
     * @param machineIn the machine to set
     */
    public void setMachine(String machineIn) {
        this.machine = machineIn;
    }

    /**
     * @return the rack
     */
    public String getRack() {
        return rack;
    }

    /**
     * @param rackIn the rack to set
     */
    public void setRack(String rackIn) {
        this.rack = rackIn;
    }

    /**
     * @return the room
     */
    public String getRoom() {
        return room;
    }

    /**
     * @param roomIn the room to set
     */
    public void setRoom(String roomIn) {
        this.room = roomIn;
    }

    /**
     * @return the building
     */
    public String getBuilding() {
        return building;
    }

    /**
     * @param buildingIn the building to set
     */
    public void setBuilding(String buildingIn) {
        this.building = buildingIn;
    }

    /**
     * @return the address1
     */
    public String getAddress1() {
        return address1;
    }

    /**
     * @param address1In the address1 to set
     */
    public void setAddress1(String address1In) {
        this.address1 = address1In;
    }

    /**
     * @return the address2
     */
    public String getAddress2() {
        return address2;
    }

    /**
     * @param address2In the address2 to set
     */
    public void setAddress2(String address2In) {
        this.address2 = address2In;
    }

    /**
     * @return the city
     */
    public String getCity() {
        return city;
    }

    /**
     * @param cityIn the city to set
     */
    public void setCity(String cityIn) {
        this.city = cityIn;
    }

    /**
     * @return the state
     */
    public String getState() {
        return state;
    }

    /**
     * @param stateIn the state to set
     */
    public void setState(String stateIn) {
        this.state = stateIn;
    }

    /**
     * @return the country
     */
    public String getCountry() {
        return country;
    }

    /**
     * @param countryIn the country to set
     */
    public void setCountry(String countryIn) {
        this.country = countryIn;
    }

    /**
     * @return the ram
     */
    public Long getRam() {
        return ram;
    }

    /**
     * @param ramIn the ram to set
     */
    public void setRam(Long ramIn) {
        this.ram = ramIn;
    }

    /**
     * @return days ago this system checked in with server
     */
    public Long getCheckin() {
        long now = Calendar.getInstance().getTime().getTime();
        long reg = getLastCheckinDate().getTime();
        long diff = now - reg;
        return diff / (1000 * 60 * 60 * 24);
    }

    /**
     * @return number of days since this system was registered with server
     */
    public Long getRegistered() {
        long now = Calendar.getInstance().getTime().getTime();
        long reg = getCreated().getTime();
        long diff = now - reg;
        return diff / (1000 * 60 * 60 * 24);
    }

    /**
     * @return the packageName
     */
    public String getPackageName() {
        return packageName;
    }

    /**
     * @param packageNameIn the packageName to set
     */
    public void setPackageName(String packageNameIn) {
        this.packageName = packageNameIn;
    }

    /**
     * @return the hw
     */
    public HardwareDeviceDto getHw() {
        return hw;
    }

    /**
     * @param hwIn the hw to set
     */
    public void setHw(HardwareDeviceDto hwIn) {
        this.hw = hwIn;
    }

    /**
     * @return the rank
     */
    public Integer getRank() {
        return rank;
    }

    /**
     * @param rankIn the rank to set
     */
    public void setRank(Integer rankIn) {
        this.rank = rankIn;
    }

    /**
     * @return the score
     */
    public Double getScore() {
        return score;
    }

    /**
     * @param scoreIn the score to set
     */
    public void setScore(Double scoreIn) {
        this.score = scoreIn;
    }

    /**
     * @return the UUID
     */
    public String getUuid() {
        return uuid;
    }

    /**
     * @param uuidIn the UUID to set
     */
    public void setUuid(String uuidIn) {
        this.uuid = uuidIn;
    }
}