Autopsy 4.22.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
TimelineDBUtils.java
Go to the documentation of this file.
1/*
2 * Autopsy Forensic Browser
3 *
4 * Copyright 2018-2019 Basis Technology Corp.
5 * Contact: carrier <at> sleuthkit <dot> org
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19package org.sleuthkit.autopsy.timeline.utils;
20
21import java.util.ArrayList;
22import java.util.Collections;
23import java.util.List;
24import static org.apache.commons.lang3.StringUtils.isBlank;
25import org.sleuthkit.datamodel.SleuthkitCase;
26import org.sleuthkit.datamodel.TskCoreException;
27import org.sleuthkit.datamodel.TskData;
28
32public class TimelineDBUtils {
33
34 private final SleuthkitCase sleuthkitCase;
35
43 public TimelineDBUtils(SleuthkitCase sleuthkitCase) {
44 this.sleuthkitCase = sleuthkitCase;
45 }
46
56 public String csvAggFunction(String columnName) {
57 return (sleuthkitCase.getDatabaseType() == TskData.DbType.POSTGRESQL ? "string_agg" : "group_concat")
58 + "(Cast (" + columnName + " AS VARCHAR) , ',')"; //NON-NLS
59 }
60
77 public static <X> List<X> unGroupConcat(String groupConcat, CheckedFunction<String, X, TskCoreException> mapper) throws TskCoreException {
78
79 if (isBlank(groupConcat)) {
80 return Collections.emptyList();
81 }
82
83 List<X> result = new ArrayList<>();
84 for (String s : groupConcat.split(",")) {
85 result.add(mapper.apply(s));
86 }
87 return result;
88 }
89}
static< X > List< X > unGroupConcat(String groupConcat, CheckedFunction< String, X, TskCoreException > mapper)

Copyright © 2012-2024 Sleuth Kit Labs. Generated on:
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.