mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 18:17:43 +00:00
move FXMConstructor to CoreUtils
This commit is contained in:
parent
99fd3c367d
commit
45dfc29cc1
@ -16,7 +16,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.imageanalyzer;
|
package org.sleuthkit.autopsy.coreutils;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
@ -35,6 +35,9 @@ import org.openide.util.Exceptions;
|
|||||||
*/
|
*/
|
||||||
public class FXMLConstructor {
|
public class FXMLConstructor {
|
||||||
|
|
||||||
|
private FXMLConstructor() {
|
||||||
|
}
|
||||||
|
|
||||||
private static final CachingClassLoader CACHING_CLASS_LOADER = new CachingClassLoader((FXMLLoader.getDefaultClassLoader()));
|
private static final CachingClassLoader CACHING_CLASS_LOADER = new CachingClassLoader((FXMLLoader.getDefaultClassLoader()));
|
||||||
|
|
||||||
static public void construct(Node n, String fxmlFileName) {
|
static public void construct(Node n, String fxmlFileName) {
|
||||||
@ -65,7 +68,7 @@ public class FXMLConstructor {
|
|||||||
*/
|
*/
|
||||||
static public class CachingClassLoader extends ClassLoader {
|
static public class CachingClassLoader extends ClassLoader {
|
||||||
|
|
||||||
private final Map<String, Class> classes = new HashMap<String, Class>();
|
private final Map<String, Class<?>> classes = new HashMap<>();
|
||||||
|
|
||||||
private final ClassLoader parent;
|
private final ClassLoader parent;
|
||||||
|
|
@ -1,145 +0,0 @@
|
|||||||
/*
|
|
||||||
* Autopsy Forensic Browser
|
|
||||||
*
|
|
||||||
* Copyright 2013 Basis Technology Corp.
|
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.sleuthkit.autopsy.timeline;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.Enumeration;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import javafx.fxml.FXMLLoader;
|
|
||||||
import javafx.scene.Node;
|
|
||||||
import org.openide.util.Exceptions;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class support both programmer productivity by abstracting frequently
|
|
||||||
* used code to load FXML-defined GUI components, and code performance by
|
|
||||||
* implementing a caching FXMLLoader as described at
|
|
||||||
* http://stackoverflow.com/questions/11734885/javafx2-very-poor-performance-when-adding-custom-made-fxmlpanels-to-gridpane.
|
|
||||||
*
|
|
||||||
* TODO: this code is duplicated in the Image Analyze module, we should move it
|
|
||||||
* into a centralized places like a JavaFX utils class/package/module in
|
|
||||||
* Autopsy- jm
|
|
||||||
*/
|
|
||||||
public class FXMLConstructor {
|
|
||||||
|
|
||||||
private static final CachingClassLoader CACHING_CLASS_LOADER = new CachingClassLoader((FXMLLoader.getDefaultClassLoader()));
|
|
||||||
|
|
||||||
static public void construct(Node n, String fxmlFileName) {
|
|
||||||
FXMLLoader fxmlLoader = new FXMLLoader(n.getClass().getResource(fxmlFileName));
|
|
||||||
fxmlLoader.setRoot(n);
|
|
||||||
fxmlLoader.setController(n);
|
|
||||||
fxmlLoader.setClassLoader(CACHING_CLASS_LOADER);
|
|
||||||
|
|
||||||
try {
|
|
||||||
fxmlLoader.load();
|
|
||||||
} catch (Exception exception) {
|
|
||||||
try {
|
|
||||||
fxmlLoader.setClassLoader(FXMLLoader.getDefaultClassLoader());
|
|
||||||
fxmlLoader.load();
|
|
||||||
} catch (Exception ex) {
|
|
||||||
Exceptions.printStackTrace(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The default FXMLLoader does not cache information about previously loaded
|
|
||||||
* FXML files. See
|
|
||||||
* http://stackoverflow.com/questions/11734885/javafx2-very-poor-performance-when-adding-custom-made-fxmlpanels-to-gridpane.
|
|
||||||
* for more details. As a partial workaround, we cache information on
|
|
||||||
* previously loaded classes. This does not solve all performance issues,
|
|
||||||
* but is a big improvement.
|
|
||||||
*/
|
|
||||||
static public class CachingClassLoader extends ClassLoader {
|
|
||||||
|
|
||||||
private final Map<String, Class<?>> classes = new HashMap<>();
|
|
||||||
|
|
||||||
private final ClassLoader parent;
|
|
||||||
|
|
||||||
public CachingClassLoader(ClassLoader parent) {
|
|
||||||
this.parent = parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<?> loadClass(String name) throws ClassNotFoundException {
|
|
||||||
Class<?> c = findClass(name);
|
|
||||||
if (c == null) {
|
|
||||||
throw new ClassNotFoundException(name);
|
|
||||||
}
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected Class<?> findClass(String className) throws ClassNotFoundException {
|
|
||||||
// System.out.print("try to load " + className);
|
|
||||||
if (classes.containsKey(className)) {
|
|
||||||
Class<?> result = classes.get(className);
|
|
||||||
return result;
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
Class<?> result = parent.loadClass(className);
|
|
||||||
// System.out.println(" -> success!");
|
|
||||||
classes.put(className, result);
|
|
||||||
return result;
|
|
||||||
} catch (ClassNotFoundException ignore) {
|
|
||||||
// System.out.println();
|
|
||||||
classes.put(className, null);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ========= delegating methods =============
|
|
||||||
@Override
|
|
||||||
public URL getResource(String name) {
|
|
||||||
return parent.getResource(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Enumeration<URL> getResources(String name) throws IOException {
|
|
||||||
return parent.getResources(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return parent.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setDefaultAssertionStatus(boolean enabled) {
|
|
||||||
parent.setDefaultAssertionStatus(enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setPackageAssertionStatus(String packageName, boolean enabled) {
|
|
||||||
parent.setPackageAssertionStatus(packageName, enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setClassAssertionStatus(String className, boolean enabled) {
|
|
||||||
parent.setClassAssertionStatus(className, enabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void clearAssertionStatus() {
|
|
||||||
parent.clearAssertionStatus();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,91 +0,0 @@
|
|||||||
/*
|
|
||||||
* Autopsy Forensic Browser
|
|
||||||
*
|
|
||||||
* Copyright 2013-14 Basis Technology Corp.
|
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.sleuthkit.autopsy.timeline.actions;
|
|
||||||
|
|
||||||
import javafx.event.ActionEvent;
|
|
||||||
import javafx.scene.control.Menu;
|
|
||||||
import javafx.scene.control.MenuItem;
|
|
||||||
import javax.swing.JMenu;
|
|
||||||
import javax.swing.JMenuItem;
|
|
||||||
import javax.swing.JPopupMenu;
|
|
||||||
import javax.swing.MenuElement;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
|
|
||||||
public class SwingMenuItemAdapter extends MenuItem {
|
|
||||||
|
|
||||||
JMenuItem jMenuItem;
|
|
||||||
|
|
||||||
SwingMenuItemAdapter(final JMenuItem jMenuItem) {
|
|
||||||
super(jMenuItem.getText());
|
|
||||||
this.jMenuItem = jMenuItem;
|
|
||||||
setOnAction((ActionEvent t) -> {
|
|
||||||
SwingUtilities.invokeLater(() -> {
|
|
||||||
jMenuItem.doClick();
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MenuItem create(MenuElement jmenuItem) {
|
|
||||||
if (jmenuItem instanceof JMenu) {
|
|
||||||
return new SwingMenuAdapter((JMenu) jmenuItem);
|
|
||||||
} else if (jmenuItem instanceof JPopupMenu) {
|
|
||||||
return new SwingMenuAdapter((JPopupMenu) jmenuItem);
|
|
||||||
} else {
|
|
||||||
return new SwingMenuItemAdapter((JMenuItem) jmenuItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class SwingMenuAdapter extends Menu {
|
|
||||||
|
|
||||||
private final MenuElement jMenu;
|
|
||||||
|
|
||||||
SwingMenuAdapter(final JMenu jMenu) {
|
|
||||||
super(jMenu.getText());
|
|
||||||
this.jMenu = jMenu;
|
|
||||||
buildChildren(jMenu);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
SwingMenuAdapter(JPopupMenu jPopupMenu) {
|
|
||||||
super(jPopupMenu.getLabel());
|
|
||||||
this.jMenu = jPopupMenu;
|
|
||||||
|
|
||||||
buildChildren(jMenu);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void buildChildren(MenuElement jMenu) {
|
|
||||||
|
|
||||||
for (MenuElement menuE : jMenu.getSubElements()) {
|
|
||||||
if (menuE instanceof JMenu) {
|
|
||||||
getItems().add(SwingMenuItemAdapter.create((JMenu) menuE));
|
|
||||||
} else if (menuE instanceof JMenuItem) {
|
|
||||||
getItems().add(SwingMenuItemAdapter.create((JMenuItem) menuE));
|
|
||||||
} else if (menuE instanceof JPopupMenu) {
|
|
||||||
buildChildren(menuE);
|
|
||||||
} else {
|
|
||||||
|
|
||||||
System.out.println(menuE.toString());
|
|
||||||
// throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -25,7 +25,7 @@ import javafx.scene.control.ToolBar;
|
|||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineUI;
|
import org.sleuthkit.autopsy.timeline.TimeLineUI;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ import javafx.scene.control.RadioButton;
|
|||||||
import javafx.scene.control.TitledPane;
|
import javafx.scene.control.TitledPane;
|
||||||
import javafx.scene.control.Toggle;
|
import javafx.scene.control.Toggle;
|
||||||
import javafx.scene.control.ToggleGroup;
|
import javafx.scene.control.ToggleGroup;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -67,9 +67,9 @@ import org.controlsfx.control.action.AbstractAction;
|
|||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.DateTimeZone;
|
import org.joda.time.DateTimeZone;
|
||||||
import org.joda.time.Interval;
|
import org.joda.time.Interval;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
|
||||||
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
||||||
import org.sleuthkit.autopsy.timeline.VisualizationMode;
|
import org.sleuthkit.autopsy.timeline.VisualizationMode;
|
||||||
|
@ -60,8 +60,10 @@ import org.controlsfx.control.action.ActionUtils;
|
|||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Interval;
|
import org.joda.time.Interval;
|
||||||
import org.joda.time.Seconds;
|
import org.joda.time.Seconds;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.ColorUtilities;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
||||||
import org.sleuthkit.autopsy.timeline.actions.Back;
|
import org.sleuthkit.autopsy.timeline.actions.Back;
|
||||||
@ -70,9 +72,7 @@ import org.sleuthkit.autopsy.timeline.events.FilteredEventsModel;
|
|||||||
import org.sleuthkit.autopsy.timeline.events.type.EventType;
|
import org.sleuthkit.autopsy.timeline.events.type.EventType;
|
||||||
import org.sleuthkit.autopsy.timeline.events.type.RootEventType;
|
import org.sleuthkit.autopsy.timeline.events.type.RootEventType;
|
||||||
import org.sleuthkit.autopsy.timeline.ui.AbstractVisualization;
|
import org.sleuthkit.autopsy.timeline.ui.AbstractVisualization;
|
||||||
import org.sleuthkit.autopsy.coreutils.ColorUtilities;
|
|
||||||
import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo;
|
import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FXML Controller class for a {@link StackedBarChart<String,Number>} based
|
* FXML Controller class for a {@link StackedBarChart<String,Number>} based
|
||||||
|
@ -60,8 +60,9 @@ import javafx.scene.layout.Priority;
|
|||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.events.AggregateEvent;
|
import org.sleuthkit.autopsy.timeline.events.AggregateEvent;
|
||||||
import org.sleuthkit.autopsy.timeline.events.FilteredEventsModel;
|
import org.sleuthkit.autopsy.timeline.events.FilteredEventsModel;
|
||||||
@ -70,7 +71,6 @@ import org.sleuthkit.autopsy.timeline.ui.AbstractVisualization;
|
|||||||
import org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane;
|
import org.sleuthkit.autopsy.timeline.ui.countsview.CountsViewPane;
|
||||||
import org.sleuthkit.autopsy.timeline.ui.detailview.tree.NavTreeNode;
|
import org.sleuthkit.autopsy.timeline.ui.detailview.tree.NavTreeNode;
|
||||||
import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo;
|
import org.sleuthkit.autopsy.timeline.utils.RangeDivisionInfo;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FXML Controller class for a {@link EventDetailChart} based implementation of
|
* FXML Controller class for a {@link EventDetailChart} based implementation of
|
||||||
|
@ -36,7 +36,7 @@ import javafx.scene.image.ImageView;
|
|||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.shape.Rectangle;
|
import javafx.scene.shape.Rectangle;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
||||||
import org.sleuthkit.autopsy.timeline.events.AggregateEvent;
|
import org.sleuthkit.autopsy.timeline.events.AggregateEvent;
|
||||||
|
@ -32,7 +32,7 @@ import javafx.scene.control.TreeTableRow;
|
|||||||
import javafx.scene.control.TreeTableView;
|
import javafx.scene.control.TreeTableView;
|
||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import org.controlsfx.control.action.AbstractAction;
|
import org.controlsfx.control.action.AbstractAction;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
||||||
import org.sleuthkit.autopsy.timeline.actions.DefaultFilters;
|
import org.sleuthkit.autopsy.timeline.actions.DefaultFilters;
|
||||||
|
@ -30,7 +30,7 @@ import javafx.scene.control.Slider;
|
|||||||
import javafx.scene.control.TitledPane;
|
import javafx.scene.control.TitledPane;
|
||||||
import javafx.scene.control.Tooltip;
|
import javafx.scene.control.Tooltip;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import org.sleuthkit.autopsy.timeline.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
import org.sleuthkit.autopsy.timeline.TimeLineController;
|
||||||
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
import org.sleuthkit.autopsy.timeline.TimeLineView;
|
||||||
import org.sleuthkit.autopsy.timeline.VisualizationMode;
|
import org.sleuthkit.autopsy.timeline.VisualizationMode;
|
||||||
|
@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.imageanalyzer.filtering;
|
|||||||
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.FilterRow;
|
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.FilterRow;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.AtomicFilter;
|
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.AtomicFilter;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.UnionFilter;
|
import org.sleuthkit.autopsy.imageanalyzer.filtering.filters.UnionFilter;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
@ -40,7 +40,7 @@ import javafx.scene.layout.AnchorPane;
|
|||||||
import javax.swing.SortOrder;
|
import javax.swing.SortOrder;
|
||||||
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
import org.sleuthkit.autopsy.coreutils.LoggedTask;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FileUpdateEvent;
|
import org.sleuthkit.autopsy.imageanalyzer.FileUpdateEvent;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FileUpdateListener;
|
import org.sleuthkit.autopsy.imageanalyzer.FileUpdateListener;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.imageanalyzer.filtering.filters;
|
package org.sleuthkit.autopsy.imageanalyzer.filtering.filters;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableFile;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableFile;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.imageanalyzer.filtering.filters;
|
package org.sleuthkit.autopsy.imageanalyzer.filtering.filters;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
@ -29,7 +29,7 @@ import javafx.scene.image.Image;
|
|||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
||||||
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
||||||
import org.sleuthkit.autopsy.coreutils.ThreadConfined.ThreadType;
|
import org.sleuthkit.autopsy.coreutils.ThreadConfined.ThreadType;
|
||||||
|
@ -96,7 +96,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
import org.sleuthkit.autopsy.directorytree.ExtractAction;
|
import org.sleuthkit.autopsy.directorytree.ExtractAction;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerTopComponent;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerTopComponent;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
||||||
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.imageanalyzer.gui;
|
package org.sleuthkit.autopsy.imageanalyzer.gui;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.imageanalyzer.gui;
|
package org.sleuthkit.autopsy.imageanalyzer.gui;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
@ -47,7 +47,7 @@ import javafx.scene.layout.Priority;
|
|||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import org.openide.util.Exceptions;
|
import org.openide.util.Exceptions;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
import org.sleuthkit.autopsy.imageanalyzer.TagUtils;
|
||||||
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
import org.sleuthkit.autopsy.coreutils.ThreadConfined;
|
||||||
|
@ -36,7 +36,7 @@ import javafx.util.Pair;
|
|||||||
import org.openide.util.Exceptions;
|
import org.openide.util.Exceptions;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.Category;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.Category;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ import javafx.scene.image.ImageView;
|
|||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javax.swing.SortOrder;
|
import javax.swing.SortOrder;
|
||||||
import org.openide.util.Exceptions;
|
import org.openide.util.Exceptions;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
import org.sleuthkit.autopsy.imageanalyzer.FileIDSelectionModel;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.IconCache;
|
import org.sleuthkit.autopsy.imageanalyzer.IconCache;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
||||||
|
@ -44,7 +44,7 @@ import javafx.scene.layout.VBox;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.openide.util.Exceptions;
|
import org.openide.util.Exceptions;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
import org.sleuthkit.autopsy.imageanalyzer.ImageAnalyzerController;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.FXMLConstructor;
|
import org.sleuthkit.autopsy.coreutils.FXMLConstructor;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute;
|
||||||
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute.AttributeName;
|
import org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute.AttributeName;
|
||||||
import static org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute.AttributeName.PATH;
|
import static org.sleuthkit.autopsy.imageanalyzer.datamodel.DrawableAttribute.AttributeName.PATH;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user