Home | History | Annotate | Download | only in item
      1 /*
      2  * Copyright (C) 2012 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package com.android.loganalysis.item;
     17 
     18 import java.util.Arrays;
     19 import java.util.Date;
     20 import java.util.HashSet;
     21 import java.util.Set;
     22 
     23 /**
     24  * An {@link IItem} used to store Bugreport info.
     25  */
     26 public class BugreportItem extends GenericItem {
     27 
     28     /** Constant for JSON output */
     29     public static final String TIME = "TIME";
     30     /** Constant for JSON output */
     31     public static final String COMMAND_LINE = "COMMAND_LINE";
     32     /** Constant for JSON output */
     33     public static final String MEM_INFO = "MEM_INFO";
     34     /** Constant for JSON output */
     35     public static final String PROCRANK = "PROCRANK";
     36     /** Constant for JSON output */
     37     public static final String TOP = "TOP";
     38     /** Constant for JSON output */
     39     public static final String KERNEL_LOG = "KERNEL_LOG";
     40     /** Constant for JSON output */
     41     public static final String LAST_KMSG = "LAST_KMSG";
     42     /** Constant for JSON output */
     43     public static final String SYSTEM_LOG = "SYSTEM_LOG";
     44     /** Constant for JSON output */
     45     public static final String SYSTEM_PROPS = "SYSTEM_PROPS";
     46     /** Constant for JSON output */
     47     public static final String DUMPSYS = "DUMPSYS";
     48     /** Constant for JSON output */
     49     public static final String ACTIVITY_SERVICE = "ACTIVITY_SERVICE";
     50 
     51     private static final Set<String> ATTRIBUTES = new HashSet<String>(Arrays.asList(
     52             TIME, COMMAND_LINE, MEM_INFO, PROCRANK, TOP, KERNEL_LOG, LAST_KMSG, SYSTEM_LOG,
     53             SYSTEM_PROPS, DUMPSYS, ACTIVITY_SERVICE));
     54 
     55     public static class CommandLineItem extends GenericMapItem<String> {
     56         private static final long serialVersionUID = 0L;
     57     }
     58 
     59     /**
     60      * The constructor for {@link BugreportItem}.
     61      */
     62     public BugreportItem() {
     63         super(ATTRIBUTES);
     64     }
     65 
     66     /**
     67      * Get the time of the bugreport.
     68      */
     69     public Date getTime() {
     70         return (Date) getAttribute(TIME);
     71     }
     72 
     73     /**
     74      * Set the time of the bugreport.
     75      */
     76     public void setTime(Date time) {
     77         setAttribute(TIME, time);
     78     }
     79 
     80     /**
     81      * Get the {@link CommandLineItem} of the bugreport.
     82      */
     83     public CommandLineItem getCommandLine() {
     84         return (CommandLineItem) getAttribute(COMMAND_LINE);
     85     }
     86 
     87     /**
     88      * Set the {@link CommandLineItem} of the bugreport.
     89      */
     90     public void setCommandLine(CommandLineItem commandLine) {
     91         setAttribute(COMMAND_LINE, commandLine);
     92     }
     93 
     94     /**
     95      * Get the {@link MemInfoItem} of the bugreport.
     96      */
     97     public MemInfoItem getMemInfo() {
     98         return (MemInfoItem) getAttribute(MEM_INFO);
     99     }
    100 
    101     /**
    102      * Set the {@link MemInfoItem} of the bugreport.
    103      */
    104     public void setMemInfo(MemInfoItem memInfo) {
    105         setAttribute(MEM_INFO, memInfo);
    106     }
    107 
    108     /**
    109      * Get the {@link ProcrankItem} of the bugreport.
    110      */
    111     public ProcrankItem getProcrank() {
    112         return (ProcrankItem) getAttribute(PROCRANK);
    113     }
    114 
    115     /**
    116      * Set the {@link ProcrankItem} of the bugreport.
    117      */
    118     public void setProcrank(ProcrankItem procrank) {
    119         setAttribute(PROCRANK, procrank);
    120     }
    121 
    122     /**
    123      * Get the {@link TopItem} of the bugreport.
    124      */
    125     public TopItem getTop() {
    126         return (TopItem) getAttribute(TOP);
    127     }
    128 
    129     /**
    130      * Set the {@link TopItem} of the bugreport.
    131      */
    132     public void setTop(TopItem top) {
    133         setAttribute(TOP, top);
    134     }
    135 
    136     /**
    137      * Get the kernel log {@link KernelLogItem} of the bugreport.
    138      */
    139     public KernelLogItem getKernelLog() {
    140         return (KernelLogItem) getAttribute(KERNEL_LOG);
    141     }
    142 
    143     /**
    144      * Set the kernel log {@link KernelLogItem} of the bugreport.
    145      */
    146     public void setKernelLog(KernelLogItem systemLog) {
    147         setAttribute(KERNEL_LOG, systemLog);
    148     }
    149 
    150     /**
    151      * Get the last kmsg {@link KernelLogItem} of the bugreport.
    152      */
    153     public KernelLogItem getLastKmsg() {
    154         return (KernelLogItem) getAttribute(LAST_KMSG);
    155     }
    156 
    157     /**
    158      * Set the last kmsg {@link KernelLogItem} of the bugreport.
    159      */
    160     public void setLastKmsg(KernelLogItem systemLog) {
    161         setAttribute(LAST_KMSG, systemLog);
    162     }
    163 
    164     /**
    165      * Get the {@link LogcatItem} of the bugreport.
    166      */
    167     public LogcatItem getSystemLog() {
    168         return (LogcatItem) getAttribute(SYSTEM_LOG);
    169     }
    170 
    171     /**
    172      * Set the {@link LogcatItem} of the bugreport.
    173      */
    174     public void setSystemLog(LogcatItem systemLog) {
    175         setAttribute(SYSTEM_LOG, systemLog);
    176     }
    177 
    178     /**
    179      * Get the {@link SystemPropsItem} of the bugreport.
    180      */
    181     public SystemPropsItem getSystemProps() {
    182         return (SystemPropsItem) getAttribute(SYSTEM_PROPS);
    183     }
    184 
    185     /**
    186      * Set the {@link SystemPropsItem} of the bugreport.
    187      */
    188     public void setSystemProps(SystemPropsItem systemProps) {
    189         setAttribute(SYSTEM_PROPS, systemProps);
    190     }
    191 
    192     /**
    193      * Get the {@link DumpsysItem} of the bugreport.
    194      */
    195     public DumpsysItem getDumpsys() {
    196         return (DumpsysItem) getAttribute(DUMPSYS);
    197     }
    198 
    199     /**
    200      * Set the {@link DumpsysItem} of the bugreport.
    201      */
    202     public void setDumpsys(DumpsysItem dumpsys) {
    203         setAttribute(DUMPSYS, dumpsys);
    204     }
    205     /**
    206      * Get the {@link ActivityServiceItem} of the bugreport.
    207      */
    208     public ActivityServiceItem getActivityService() {
    209         return (ActivityServiceItem) getAttribute(ACTIVITY_SERVICE);
    210     }
    211 
    212     /**
    213      * Set the {@link ActivityServiceItem} of the bugreport.
    214      */
    215     public void setActivityService(ActivityServiceItem activityService) {
    216         setAttribute(ACTIVITY_SERVICE, activityService);
    217     }
    218 }
    219