From b46ba2c34f1ec512b6b56d8b4e014671a7ae10aa Mon Sep 17 00:00:00 2001 From: jmillman Date: Mon, 20 Jul 2015 13:48:28 -0400 Subject: [PATCH 1/4] make values in metadata pane copiable to clipboard --- .../imagegallery/datamodel/DrawableFile.java | 72 ++------- .../gui/drawableviews/MetaDataPane.java | 139 ++++++++++-------- 2 files changed, 85 insertions(+), 126 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java index 79ea49f879..b26255d04b 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableFile.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -61,37 +61,25 @@ import org.sleuthkit.datamodel.TskCoreException; public abstract class DrawableFile extends AbstractFile { public static DrawableFile create(AbstractFile abstractFileById, boolean analyzed) { - if (ImageGalleryModule.isVideoFile(abstractFileById)) { - return new VideoFile<>(abstractFileById, analyzed); - } else { - return new ImageFile<>(abstractFileById, analyzed); - } + return create(abstractFileById, analyzed, ImageGalleryModule.isVideoFile(abstractFileById)); } /** * Skip the database query if we have already determined the file type. */ public static DrawableFile create(AbstractFile abstractFileById, boolean analyzed, boolean isVideo) { - if (isVideo) { - return new VideoFile<>(abstractFileById, analyzed); - } else { - return new ImageFile<>(abstractFileById, analyzed); - } + return isVideo + ? new VideoFile<>(abstractFileById, analyzed) + : new ImageFile<>(abstractFileById, analyzed); } public static DrawableFile create(Long id, boolean analyzed) throws TskCoreException, IllegalStateException { - - AbstractFile abstractFileById = Case.getCurrentCase().getSleuthkitCase().getAbstractFileById(id); - if (ImageGalleryModule.isVideoFile(abstractFileById)) { - return new VideoFile<>(abstractFileById, analyzed); - } else { - return new ImageFile<>(abstractFileById, analyzed); - } + return create(Case.getCurrentCase().getSleuthkitCase().getAbstractFileById(id), analyzed); } private String drawablePath; - protected T file; + private final T file; private final SimpleBooleanProperty analyzed; @@ -125,7 +113,6 @@ public abstract class DrawableFile extends AbstractFile @Override public T accept(SleuthkitItemVisitor v) { - return file.accept(v); } @@ -144,8 +131,8 @@ public abstract class DrawableFile extends AbstractFile return new ArrayList<>(); } - public ObservableList, ? extends Object>> getAttributesList() { - final ObservableList, ? extends Object>> attributeList = FXCollections.observableArrayList(); + public ObservableList, Collection>> getAttributesList() { + final ObservableList, Collection>> attributeList = FXCollections.observableArrayList(); for (DrawableAttribute attr : DrawableAttribute.getValues()) { attributeList.add(new Pair<>(attr, attr.getValue(this))); } @@ -180,47 +167,6 @@ public abstract class DrawableFile extends AbstractFile return Collections.emptySet(); } - @Deprecated - protected final List getValuesOfBBAttribute(BlackboardArtifact.ARTIFACT_TYPE artType, BlackboardAttribute.ATTRIBUTE_TYPE attrType) { - ArrayList vals = new ArrayList<>(); - try { - //why doesn't file.getArtifacts() work? - //TODO: this seams like overkill, use a more targeted query - ArrayList artifacts = getAllArtifacts(); - - for (BlackboardArtifact artf : artifacts) { - if (artf.getArtifactTypeID() == artType.getTypeID()) { - for (BlackboardAttribute attr : artf.getAttributes()) { - if (attr.getAttributeTypeID() == attrType.getTypeID()) { - - switch (attr.getValueType()) { - case BYTE: - vals.add(attr.getValueBytes()); - break; - case DOUBLE: - vals.add(attr.getValueDouble()); - break; - case INTEGER: - vals.add(attr.getValueInt()); - break; - case LONG: - vals.add(attr.getValueLong()); - break; - case STRING: - vals.add(attr.getValueString()); - break; - } - } - } - } - } - } catch (TskCoreException ex) { - Logger.getAnonymousLogger().log(Level.WARNING, "problem looking up {0}/{1}" + " " + " for {2}", new Object[]{artType.getDisplayName(), attrType.getDisplayName(), getName()}); - } - - return vals; - } - protected Object getValueOfBBAttribute(BlackboardArtifact.ARTIFACT_TYPE artType, BlackboardAttribute.ATTRIBUTE_TYPE attrType) { try { diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java index 9e544c031c..366d002fc6 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2013 Basis Technology Corp. + * Copyright 2013-15 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,10 +19,11 @@ package org.sleuthkit.autopsy.imagegallery.gui.drawableviews; import com.google.common.eventbus.Subscribe; -import java.io.IOException; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Objects; +import static java.util.Objects.isNull; import java.util.Optional; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -31,21 +32,25 @@ import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.collections.ObservableList; import javafx.fxml.FXML; -import javafx.fxml.FXMLLoader; +import javafx.scene.control.ContextMenu; import javafx.scene.control.Label; +import javafx.scene.control.MenuItem; import javafx.scene.control.TableCell; import javafx.scene.control.TableColumn; +import javafx.scene.control.TableRow; import javafx.scene.control.TableView; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.input.Clipboard; +import javafx.scene.input.DataFormat; import javafx.scene.layout.BorderPane; import javafx.scene.layout.Region; import javafx.scene.text.Text; import javafx.util.Pair; -import org.apache.commons.lang3.StringUtils; import org.sleuthkit.autopsy.events.ContentTagAddedEvent; import org.sleuthkit.autopsy.events.ContentTagDeletedEvent; import org.sleuthkit.autopsy.events.TagEvent; +import org.sleuthkit.autopsy.imagegallery.FXMLConstructor; import org.sleuthkit.autopsy.imagegallery.ImageGalleryController; import org.sleuthkit.autopsy.imagegallery.datamodel.Category; import org.sleuthkit.autopsy.imagegallery.datamodel.CategoryManager; @@ -64,33 +69,23 @@ public class MetaDataPane extends DrawableUIBase { private ImageView imageView; @FXML - private TableColumn, ? extends Object>, DrawableAttribute> attributeColumn; + private TableColumn, Collection>, DrawableAttribute> attributeColumn; @FXML - private TableView, ? extends Object>> tableView; + private TableView, Collection>> tableView; @FXML - private TableColumn, ? extends Object>, String> valueColumn; + private TableColumn, Collection>, String> valueColumn; @FXML private BorderPane imageBorder; public MetaDataPane(ImageGalleryController controller) { super(controller); - - FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("MetaDataPane.fxml")); - fxmlLoader.setRoot(this); - fxmlLoader.setController(this); - - try { - fxmlLoader.load(); - } catch (IOException exception) { - throw new RuntimeException(exception); - } + FXMLConstructor.construct(this, "MetaDataPane.fxml"); } @FXML - @SuppressWarnings("unchecked") void initialize() { assert attributeColumn != null : "fx:id=\"attributeColumn\" was not injected: check your FXML file 'MetaDataPane.fxml'."; assert imageView != null : "fx:id=\"imageView\" was not injected: check your FXML file 'MetaDataPane.fxml'."; @@ -99,54 +94,72 @@ public class MetaDataPane extends DrawableUIBase { getController().getTagsManager().registerListener(this); getController().getCategoryManager().registerListener(this); - tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); - tableView.setPlaceholder(new Label("Select a file to show its details here.")); - - attributeColumn.setCellValueFactory((param) -> new SimpleObjectProperty<>(param.getValue().getKey())); - attributeColumn.setCellFactory((param) -> new TableCell, ? extends Object>, DrawableAttribute>() { - @Override - protected void updateItem(DrawableAttribute item, boolean empty) { - super.updateItem(item, empty); //To change body of generated methods, choose Tools | Templates. - if (item != null) { - setText(item.getDisplayName()); - setGraphic(new ImageView(item.getIcon())); - } else { - setGraphic(null); - setText(null); - } - } - }); - - attributeColumn.setPrefWidth(USE_COMPUTED_SIZE); - - valueColumn.setCellValueFactory((p) -> { - return (p.getValue().getKey() == DrawableAttribute.TAGS) - ? new SimpleStringProperty(((Collection) p.getValue().getValue()).stream() - .map(TagName::getDisplayName) - .filter(Category::isNotCategoryName) - .collect(Collectors.joining(" ; "))) - : new SimpleStringProperty(StringUtils.join((Iterable) p.getValue().getValue(), " ; ")); - }); - valueColumn.setPrefWidth(USE_COMPUTED_SIZE); - valueColumn.setCellFactory((p) -> new TableCell, ? extends Object>, String>() { - @Override - public void updateItem(String item, boolean empty) { - super.updateItem(item, empty); - if (!isEmpty()) { - Text text = new Text(item); - text.wrappingWidthProperty().bind(getTableColumn().widthProperty()); - setGraphic(text); - } else { - setGraphic(null); - } - } - }); - tableView.getColumns().setAll(Arrays.asList(attributeColumn, valueColumn)); - //listen for selection change getController().getSelectionModel().lastSelectedProperty().addListener((observable, oldFileID, newFileID) -> { setFile(newFileID); }); + + tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); + tableView.setPlaceholder(new Label("Select a file to show its details here.")); + tableView.setRowFactory(table -> { + final TableRow, Collection>> tableRow = new TableRow<>(); + final MenuItem menuItem = new MenuItem("Copy"); + menuItem.setOnAction(actionEvent -> { + Clipboard.getSystemClipboard().setContent(Collections.singletonMap( + DataFormat.PLAIN_TEXT, + getValueDisplayString(tableRow.getItem()))); + + }); + tableRow.setContextMenu(new ContextMenu(menuItem)); + return tableRow; + }); + tableView.getColumns().setAll(Arrays.asList(attributeColumn, valueColumn)); + + attributeColumn.setPrefWidth(USE_COMPUTED_SIZE); + attributeColumn.setCellValueFactory(param -> new SimpleObjectProperty<>(param.getValue().getKey())); + attributeColumn.setCellFactory(param -> new TableCell, Collection>, DrawableAttribute>() { + @Override + protected void updateItem(DrawableAttribute item, boolean empty) { + super.updateItem(item, empty); + if (isNull(item) || empty) { + setGraphic(null); + setText(null); + } else { + setText(item.getDisplayName()); + setGraphic(new ImageView(item.getIcon())); + } + } + }); + + valueColumn.setPrefWidth(USE_COMPUTED_SIZE); + valueColumn.setCellValueFactory(p -> new SimpleStringProperty(getValueDisplayString(p.getValue()))); + valueColumn.setCellFactory(p -> new TableCell, Collection>, String>() { + @Override + public void updateItem(String item, boolean empty) { + super.updateItem(item, empty); + if (isNull(item) || empty) { + setGraphic(null); + } else { + Text text = new Text(item); + text.wrappingWidthProperty().bind(getTableColumn().widthProperty()); + setGraphic(text); + } + } + }); + } + + @SuppressWarnings("unchecked") + private String getValueDisplayString(Pair, Collection> p) { + if (p.getKey() == DrawableAttribute.TAGS) { + return ((Collection) p.getValue()).stream() + .map(TagName::getDisplayName) + .filter(Category::isNotCategoryName) + .collect(Collectors.joining(" ; ")); + } else { + return p.getValue().stream() + .map(Object::toString) + .collect(Collectors.joining(" ; ")); + } } @Override @@ -167,7 +180,7 @@ public class MetaDataPane extends DrawableUIBase { public void updateUI() { getFile().ifPresent(file -> { final Image icon = file.getThumbnail(); - final ObservableList, ? extends Object>> attributesList = file.getAttributesList(); + final ObservableList, Collection>> attributesList = file.getAttributesList(); Platform.runLater(() -> { imageView.setImage(icon); From 4aac1ce0211bf166545490077d50206afe886673 Mon Sep 17 00:00:00 2001 From: jmillman Date: Mon, 20 Jul 2015 14:16:41 -0400 Subject: [PATCH 2/4] work on keyboard shortcut to copy values --- .../gui/drawableviews/MetaDataPane.java | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java index 366d002fc6..1291c78f0f 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java @@ -43,6 +43,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.Clipboard; import javafx.scene.input.DataFormat; +import javafx.scene.input.KeyCharacterCombination; +import javafx.scene.input.KeyCombination; +import javafx.scene.input.KeyEvent; import javafx.scene.layout.BorderPane; import javafx.scene.layout.Region; import javafx.scene.text.Text; @@ -101,18 +104,7 @@ public class MetaDataPane extends DrawableUIBase { tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); tableView.setPlaceholder(new Label("Select a file to show its details here.")); - tableView.setRowFactory(table -> { - final TableRow, Collection>> tableRow = new TableRow<>(); - final MenuItem menuItem = new MenuItem("Copy"); - menuItem.setOnAction(actionEvent -> { - Clipboard.getSystemClipboard().setContent(Collections.singletonMap( - DataFormat.PLAIN_TEXT, - getValueDisplayString(tableRow.getItem()))); - - }); - tableRow.setContextMenu(new ContextMenu(menuItem)); - return tableRow; - }); + tableView.setRowFactory(table -> new DrawableTableRow()); tableView.getColumns().setAll(Arrays.asList(attributeColumn, valueColumn)); attributeColumn.setPrefWidth(USE_COMPUTED_SIZE); @@ -149,7 +141,7 @@ public class MetaDataPane extends DrawableUIBase { } @SuppressWarnings("unchecked") - private String getValueDisplayString(Pair, Collection> p) { + static private String getValueDisplayString(Pair, Collection> p) { if (p.getKey() == DrawableAttribute.TAGS) { return ((Collection) p.getValue()).stream() .map(TagName::getDisplayName) @@ -231,4 +223,32 @@ public class MetaDataPane extends DrawableUIBase { } }); } + + private static class DrawableTableRow extends TableRow, Collection>> { + + private static final KeyCharacterCombination COPY_KEY_COMBINATION = new KeyCharacterCombination("c", KeyCombination.SHORTCUT_DOWN); + + public DrawableTableRow() { + setOnKeyTyped((KeyEvent event) -> { + if (COPY_KEY_COMBINATION.match(event)) { + copyValueToClipBoard(); + event.consume(); + } + }); + + final MenuItem menuItem = new MenuItem("Copy"); + menuItem.setOnAction(actionEvent -> { + copyValueToClipBoard(); + }); + menuItem.setAccelerator(COPY_KEY_COMBINATION); + + setContextMenu(new ContextMenu(menuItem)); + } + + private void copyValueToClipBoard() { + Clipboard.getSystemClipboard().setContent(Collections.singletonMap( + DataFormat.PLAIN_TEXT, + getValueDisplayString(getItem()))); + } + } } From 0a84265ba7460cab42e315ef7de825744bc040dc Mon Sep 17 00:00:00 2001 From: jmillman Date: Mon, 20 Jul 2015 16:05:49 -0400 Subject: [PATCH 3/4] keyboard based copying of metadata; cleanup; --- .../imagegallery/datamodel/DrawableDB.java | 10 ++-- .../gui/drawableviews/MetaDataPane.java | 54 +++++++++---------- 2 files changed, 29 insertions(+), 35 deletions(-) diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java index ecd5a6a451..9a07283d36 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java @@ -34,7 +34,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Objects; +import static java.util.Objects.isNull; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.Lock; @@ -1209,12 +1209,8 @@ public final class DrawableDB { * returns false if passed a null AbstractFile */ public boolean isVideoFile(AbstractFile f) { - - if (Objects.isNull(f)) { - return false; - } else { - return videoFileMap.computeIfAbsent(f.getId(), (id) -> ImageGalleryModule.isVideoFile(f)); - } + return isNull(f) ? false + : videoFileMap.computeIfAbsent(f.getId(), id -> ImageGalleryModule.isVideoFile(f)); } /** diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java index 1291c78f0f..822c7461d2 100644 --- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java +++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/MetaDataPane.java @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Objects; import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; import java.util.Optional; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -37,13 +38,13 @@ import javafx.scene.control.Label; import javafx.scene.control.MenuItem; import javafx.scene.control.TableCell; import javafx.scene.control.TableColumn; -import javafx.scene.control.TableRow; import javafx.scene.control.TableView; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.Clipboard; import javafx.scene.input.DataFormat; -import javafx.scene.input.KeyCharacterCombination; +import javafx.scene.input.KeyCode; +import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.input.KeyEvent; import javafx.scene.layout.BorderPane; @@ -68,6 +69,8 @@ public class MetaDataPane extends DrawableUIBase { private static final Logger LOGGER = Logger.getLogger(MetaDataPane.class.getName()); + private static final KeyCodeCombination COPY_KEY_COMBINATION = new KeyCodeCombination(KeyCode.C, KeyCombination.CONTROL_DOWN); + @FXML private ImageView imageView; @@ -82,6 +85,8 @@ public class MetaDataPane extends DrawableUIBase { @FXML private BorderPane imageBorder; + private final MenuItem copyMenuItem = new MenuItem("Copy"); + private final ContextMenu contextMenu = new ContextMenu(copyMenuItem); public MetaDataPane(ImageGalleryController controller) { super(controller); @@ -102,9 +107,22 @@ public class MetaDataPane extends DrawableUIBase { setFile(newFileID); }); + copyMenuItem.setAccelerator(COPY_KEY_COMBINATION); + copyMenuItem.setOnAction(actionEvent -> { + copyValueToClipBoard(); + }); + + tableView.setContextMenu(contextMenu); + tableView.setOnKeyPressed((KeyEvent event) -> { + if (COPY_KEY_COMBINATION.match(event)) { + contextMenu.hide(); + copyMenuItem.fire(); + event.consume(); + } + }); + tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY); tableView.setPlaceholder(new Label("Select a file to show its details here.")); - tableView.setRowFactory(table -> new DrawableTableRow()); tableView.getColumns().setAll(Arrays.asList(attributeColumn, valueColumn)); attributeColumn.setPrefWidth(USE_COMPUTED_SIZE); @@ -224,31 +242,11 @@ public class MetaDataPane extends DrawableUIBase { }); } - private static class DrawableTableRow extends TableRow, Collection>> { - - private static final KeyCharacterCombination COPY_KEY_COMBINATION = new KeyCharacterCombination("c", KeyCombination.SHORTCUT_DOWN); - - public DrawableTableRow() { - setOnKeyTyped((KeyEvent event) -> { - if (COPY_KEY_COMBINATION.match(event)) { - copyValueToClipBoard(); - event.consume(); - } - }); - - final MenuItem menuItem = new MenuItem("Copy"); - menuItem.setOnAction(actionEvent -> { - copyValueToClipBoard(); - }); - menuItem.setAccelerator(COPY_KEY_COMBINATION); - - setContextMenu(new ContextMenu(menuItem)); - } - - private void copyValueToClipBoard() { - Clipboard.getSystemClipboard().setContent(Collections.singletonMap( - DataFormat.PLAIN_TEXT, - getValueDisplayString(getItem()))); + private void copyValueToClipBoard() { + Pair, Collection> selectedItem = tableView.getSelectionModel().getSelectedItem(); + if (nonNull(selectedItem)) { + Clipboard.getSystemClipboard().setContent(Collections.singletonMap(DataFormat.PLAIN_TEXT, + getValueDisplayString(selectedItem))); } } } From fd0718ca7f65c80dc98a0db1af3a7b52c8819065 Mon Sep 17 00:00:00 2001 From: jmillman Date: Wed, 22 Jul 2015 16:43:11 -0400 Subject: [PATCH 4/4] update JFXtras to 8.0-r3 resolved some bugs with the date/time pickers --- CoreLibs/ivy.xml | 6 ++--- CoreLibs/nbproject/project.properties | 18 +++++++------- CoreLibs/nbproject/project.xml | 36 +++++++++++++-------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/CoreLibs/ivy.xml b/CoreLibs/ivy.xml index cc7b7312ec..8d4b7b9491 100644 --- a/CoreLibs/ivy.xml +++ b/CoreLibs/ivy.xml @@ -41,8 +41,8 @@ - - - + + + diff --git a/CoreLibs/nbproject/project.properties b/CoreLibs/nbproject/project.properties index 8f133ac7fa..7c5d687d91 100644 --- a/CoreLibs/nbproject/project.properties +++ b/CoreLibs/nbproject/project.properties @@ -24,15 +24,15 @@ file.reference.imgscalr-lib-4.2.jar=release/modules/ext/imgscalr-lib-4.2.jar file.reference.javaee-api-5.0-2.jar=release/modules/ext/javaee-api-5.0-2.jar file.reference.javassist-3.12.1.GA.jar=release/modules/ext/javassist-3.12.1.GA.jar file.reference.jcalendarbutton-1.4.6.jar=release/modules/ext/jcalendarbutton-1.4.6.jar -file.reference.jfxtras-common-8.0-r1-javadoc.jar=release/modules/ext/jfxtras-common-8.0-r1-javadoc.jar -file.reference.jfxtras-common-8.0-r1-sources.jar=release/modules/ext/jfxtras-common-8.0-r1-sources.jar -file.reference.jfxtras-common-8.0-r1.jar=release/modules/ext/jfxtras-common-8.0-r1.jar -file.reference.jfxtras-controls-8.0-r1-javadoc.jar=release/modules/ext/jfxtras-controls-8.0-r1-javadoc.jar -file.reference.jfxtras-controls-8.0-r1-sources.jar=release/modules/ext/jfxtras-controls-8.0-r1-sources.jar -file.reference.jfxtras-controls-8.0-r1.jar=release/modules/ext/jfxtras-controls-8.0-r1.jar -file.reference.jfxtras-fxml-8.0-r1-javadoc.jar=release/modules/ext/jfxtras-fxml-8.0-r1-javadoc.jar -file.reference.jfxtras-fxml-8.0-r1-sources.jar=release/modules/ext/jfxtras-fxml-8.0-r1-sources.jar -file.reference.jfxtras-fxml-8.0-r1.jar=release/modules/ext/jfxtras-fxml-8.0-r1.jar +file.reference.jfxtras-common-8.0-r3-javadoc.jar=release/modules/ext/jfxtras-common-8.0-r3-javadoc.jar +file.reference.jfxtras-common-8.0-r3-sources.jar=release/modules/ext/jfxtras-common-8.0-r3-sources.jar +file.reference.jfxtras-common-8.0-r3.jar=release/modules/ext/jfxtras-common-8.0-r3.jar +file.reference.jfxtras-controls-8.0-r3-javadoc.jar=release/modules/ext/jfxtras-controls-8.0-r3-javadoc.jar +file.reference.jfxtras-controls-8.0-r3-sources.jar=release/modules/ext/jfxtras-controls-8.0-r3-sources.jar +file.reference.jfxtras-controls-8.0-r3.jar=release/modules/ext/jfxtras-controls-8.0-r3.jar +file.reference.jfxtras-fxml-8.0-r3-javadoc.jar=release/modules/ext/jfxtras-fxml-8.0-r3-javadoc.jar +file.reference.jfxtras-fxml-8.0-r3-sources.jar=release/modules/ext/jfxtras-fxml-8.0-r3-sources.jar +file.reference.jfxtras-fxml-8.0-r3.jar=release/modules/ext/jfxtras-fxml-8.0-r3.jar file.reference.jna-3.4.0.jar=release/modules/ext/jna-3.4.0.jar file.reference.joda-time-2.4-javadoc.jar=release/modules/ext/joda-time-2.4-javadoc.jar file.reference.joda-time-2.4-sources.jar=release/modules/ext/joda-time-2.4-sources.jar diff --git a/CoreLibs/nbproject/project.xml b/CoreLibs/nbproject/project.xml index 9d02b18dc2..02919de57e 100644 --- a/CoreLibs/nbproject/project.xml +++ b/CoreLibs/nbproject/project.xml @@ -640,8 +640,8 @@ release/modules/ext/poi-ooxml-schemas-3.8.jar - ext/jfxtras-controls-8.0-r1.jar - release/modules/ext/jfxtras-controls-8.0-r1.jar + ext/jfxtras-controls-8.0-r3.jar + release/modules/ext/jfxtras-controls-8.0-r3.jar ext/gson-1.4.jar @@ -668,8 +668,8 @@ release/modules/ext/guava-11.0.2.jar - ext/jfxtras-common-8.0-r1-sources.jar - release/modules/ext/jfxtras-common-8.0-r1-sources.jar + ext/jfxtras-common-8.0-r3-sources.jar + release/modules/ext/jfxtras-common-8.0-r3-sources.jar ext/mail-1.4.3.jar @@ -688,8 +688,8 @@ release/modules/ext/joda-time-2.4-javadoc.jar - ext/jfxtras-fxml-8.0-r1-sources.jar - release/modules/ext/jfxtras-fxml-8.0-r1-sources.jar + ext/jfxtras-fxml-8.0-r3-sources.jar + release/modules/ext/jfxtras-fxml-8.0-r3-sources.jar ext/jcalendarbutton-1.4.6.jar @@ -740,24 +740,24 @@ release/modules/ext/joda-time-2.4.jar - ext/jfxtras-fxml-8.0-r1-javadoc.jar - release/modules/ext/jfxtras-fxml-8.0-r1-javadoc.jar + ext/jfxtras-fxml-8.0-r3-javadoc.jar + release/modules/ext/jfxtras-fxml-8.0-r3-javadoc.jar - ext/jfxtras-fxml-8.0-r1.jar - release/modules/ext/jfxtras-fxml-8.0-r1.jar + ext/jfxtras-fxml-8.0-r3.jar + release/modules/ext/jfxtras-fxml-8.0-r3.jar - ext/jfxtras-common-8.0-r1.jar - release/modules/ext/jfxtras-common-8.0-r1.jar + ext/jfxtras-common-8.0-r3.jar + release/modules/ext/jfxtras-common-8.0-r3.jar ext/commons-logging-1.1.2-javadoc.jar release/modules/ext/commons-logging-1.1.2-javadoc.jar - ext/jfxtras-controls-8.0-r1-javadoc.jar - release/modules/ext/jfxtras-controls-8.0-r1-javadoc.jar + ext/jfxtras-controls-8.0-r3-javadoc.jar + release/modules/ext/jfxtras-controls-8.0-r3-javadoc.jar ext/slf4j-simple-1.6.1.jar @@ -812,8 +812,8 @@ release/modules/ext/commons-lang3-3.0.jar - ext/jfxtras-common-8.0-r1-javadoc.jar - release/modules/ext/jfxtras-common-8.0-r1-javadoc.jar + ext/jfxtras-common-8.0-r3-javadoc.jar + release/modules/ext/jfxtras-common-8.0-r3-javadoc.jar ext/javaee-api-5.0-2.jar @@ -824,8 +824,8 @@ release/modules/ext/gstreamer-java-1.5.jar - ext/jfxtras-controls-8.0-r1-sources.jar - release/modules/ext/jfxtras-controls-8.0-r1-sources.jar + ext/jfxtras-controls-8.0-r3-sources.jar + release/modules/ext/jfxtras-controls-8.0-r3-sources.jar ext/dom4j-1.6.1.jar