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 */ BugreportItem()62 public BugreportItem() { 63 super(ATTRIBUTES); 64 } 65 66 /** 67 * Get the time of the bugreport. 68 */ getTime()69 public Date getTime() { 70 return (Date) getAttribute(TIME); 71 } 72 73 /** 74 * Set the time of the bugreport. 75 */ setTime(Date time)76 public void setTime(Date time) { 77 setAttribute(TIME, time); 78 } 79 80 /** 81 * Get the {@link CommandLineItem} of the bugreport. 82 */ getCommandLine()83 public CommandLineItem getCommandLine() { 84 return (CommandLineItem) getAttribute(COMMAND_LINE); 85 } 86 87 /** 88 * Set the {@link CommandLineItem} of the bugreport. 89 */ setCommandLine(CommandLineItem commandLine)90 public void setCommandLine(CommandLineItem commandLine) { 91 setAttribute(COMMAND_LINE, commandLine); 92 } 93 94 /** 95 * Get the {@link MemInfoItem} of the bugreport. 96 */ getMemInfo()97 public MemInfoItem getMemInfo() { 98 return (MemInfoItem) getAttribute(MEM_INFO); 99 } 100 101 /** 102 * Set the {@link MemInfoItem} of the bugreport. 103 */ setMemInfo(MemInfoItem memInfo)104 public void setMemInfo(MemInfoItem memInfo) { 105 setAttribute(MEM_INFO, memInfo); 106 } 107 108 /** 109 * Get the {@link ProcrankItem} of the bugreport. 110 */ getProcrank()111 public ProcrankItem getProcrank() { 112 return (ProcrankItem) getAttribute(PROCRANK); 113 } 114 115 /** 116 * Set the {@link ProcrankItem} of the bugreport. 117 */ setProcrank(ProcrankItem procrank)118 public void setProcrank(ProcrankItem procrank) { 119 setAttribute(PROCRANK, procrank); 120 } 121 122 /** 123 * Get the {@link TopItem} of the bugreport. 124 */ getTop()125 public TopItem getTop() { 126 return (TopItem) getAttribute(TOP); 127 } 128 129 /** 130 * Set the {@link TopItem} of the bugreport. 131 */ setTop(TopItem top)132 public void setTop(TopItem top) { 133 setAttribute(TOP, top); 134 } 135 136 /** 137 * Get the kernel log {@link KernelLogItem} of the bugreport. 138 */ getKernelLog()139 public KernelLogItem getKernelLog() { 140 return (KernelLogItem) getAttribute(KERNEL_LOG); 141 } 142 143 /** 144 * Set the kernel log {@link KernelLogItem} of the bugreport. 145 */ setKernelLog(KernelLogItem systemLog)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 */ getLastKmsg()153 public KernelLogItem getLastKmsg() { 154 return (KernelLogItem) getAttribute(LAST_KMSG); 155 } 156 157 /** 158 * Set the last kmsg {@link KernelLogItem} of the bugreport. 159 */ setLastKmsg(KernelLogItem systemLog)160 public void setLastKmsg(KernelLogItem systemLog) { 161 setAttribute(LAST_KMSG, systemLog); 162 } 163 164 /** 165 * Get the {@link LogcatItem} of the bugreport. 166 */ getSystemLog()167 public LogcatItem getSystemLog() { 168 return (LogcatItem) getAttribute(SYSTEM_LOG); 169 } 170 171 /** 172 * Set the {@link LogcatItem} of the bugreport. 173 */ setSystemLog(LogcatItem systemLog)174 public void setSystemLog(LogcatItem systemLog) { 175 setAttribute(SYSTEM_LOG, systemLog); 176 } 177 178 /** 179 * Get the {@link SystemPropsItem} of the bugreport. 180 */ getSystemProps()181 public SystemPropsItem getSystemProps() { 182 return (SystemPropsItem) getAttribute(SYSTEM_PROPS); 183 } 184 185 /** 186 * Set the {@link SystemPropsItem} of the bugreport. 187 */ setSystemProps(SystemPropsItem systemProps)188 public void setSystemProps(SystemPropsItem systemProps) { 189 setAttribute(SYSTEM_PROPS, systemProps); 190 } 191 192 /** 193 * Get the {@link DumpsysItem} of the bugreport. 194 */ getDumpsys()195 public DumpsysItem getDumpsys() { 196 return (DumpsysItem) getAttribute(DUMPSYS); 197 } 198 199 /** 200 * Set the {@link DumpsysItem} of the bugreport. 201 */ setDumpsys(DumpsysItem dumpsys)202 public void setDumpsys(DumpsysItem dumpsys) { 203 setAttribute(DUMPSYS, dumpsys); 204 } 205 /** 206 * Get the {@link ActivityServiceItem} of the bugreport. 207 */ getActivityService()208 public ActivityServiceItem getActivityService() { 209 return (ActivityServiceItem) getAttribute(ACTIVITY_SERVICE); 210 } 211 212 /** 213 * Set the {@link ActivityServiceItem} of the bugreport. 214 */ setActivityService(ActivityServiceItem activityService)215 public void setActivityService(ActivityServiceItem activityService) { 216 setAttribute(ACTIVITY_SERVICE, activityService); 217 } 218 } 219