From d56aabd426aea2760682f37f7de5c3d2ee5be42f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Demey?= Date: Sun, 5 Jun 2022 12:54:15 +0200 Subject: [PATCH 1/2] Restructured iText RUPS into a multi module project. RES-695 --- itext-rups-api/pom.xml | 26 ++ .../itextpdf/rups/api/AbstractRupsPlugin.java | 11 + .../com/itextpdf/rups/api/IPdfController.java | 77 +++++ .../java/com/itextpdf/rups/api/IPdfFile.java | 30 ++ .../itextpdf/rups/api}/IRupsController.java | 24 +- .../com/itextpdf/rups/api/IRupsPlugin.java | 8 + .../itextpdf/rups/api/RupsPluginContext.java | 36 +++ {config => itext-rups/config}/Info.plist | 0 {config => itext-rups/config}/logo.icns | Bin {config => itext-rups/config}/logo.ico | Bin itext-rups/pom.xml | 262 ++++++++++++++++++ .../src}/assembly/exe-archive.xml | 0 .../jar-with-dependencies-excluded-poms.xml | 0 .../main/java/com/itextpdf/rups/Rups.java | 45 ++- .../com/itextpdf/rups/RupsConfiguration.java | 0 .../java/com/itextpdf/rups/RupsLauncher.java | 1 - .../rups/controller/PdfReaderController.java | 2 +- .../rups/controller/RupsController.java | 18 +- .../controller/RupsInstanceController.java | 20 +- .../rups/event/AllFilesClosedEvent.java | 2 +- .../rups/event/CloseDocumentEvent.java | 0 .../rups/event/CompareWithFileEvent.java | 0 .../rups/event/ConsoleWriteEvent.java | 0 .../rups/event/NewIndirectObjectEvent.java | 0 .../rups/event/NodeAddArrayChildEvent.java | 0 .../rups/event/NodeAddDictChildEvent.java | 0 .../rups/event/NodeDeleteArrayChildEvent.java | 0 .../rups/event/NodeDeleteDictChildEvent.java | 0 .../itextpdf/rups/event/OpenFileEvent.java | 0 .../rups/event/OpenPlainTextEvent.java | 0 .../rups/event/OpenStructureEvent.java | 0 .../itextpdf/rups/event/PostCompareEvent.java | 0 .../event/PostNewIndirectObjectEvent.java | 0 .../rups/event/PostOpenDocumentEvent.java | 0 .../rups/event/RootNodeClickedEvent.java | 0 .../com/itextpdf/rups/event/RupsEvent.java | 0 .../itextpdf/rups/event/SaveToFileEvent.java | 0 .../rups/event/TreeNodeClickedEvent.java | 0 .../rups/io/DefaultSystemViewerAction.java | 2 +- .../itextpdf/rups/io/FileChooserAction.java | 0 .../com/itextpdf/rups/io/FileCloseAction.java | 0 .../itextpdf/rups/io/FileCompareAction.java | 0 .../com/itextpdf/rups/io/FileOpenAction.java | 0 .../com/itextpdf/rups/io/FileSaveAction.java | 0 .../itextpdf/rups/io/ISystemViewerAction.java | 0 .../itextpdf/rups/io/OpenInViewerAction.java | 14 +- .../rups/io/OutputStreamResource.java | 0 .../rups/io/TextAreaOutputStream.java | 0 .../itextpdf/rups/io/filters/PdfFilter.java | 0 .../listeners/PdfTreeExpansionListener.java | 0 .../listeners/PdfTreeNavigationListener.java | 0 .../itextpdf/rups/model/BackgroundTask.java | 0 .../itextpdf/rups/model/ErrorDialogPane.java | 0 .../itextpdf/rups/model/IProgressDialog.java | 0 .../rups/model/IndirectObjectFactory.java | 0 .../com/itextpdf/rups/model/LoggerHelper.java | 0 .../com/itextpdf/rups/model/ObjectLoader.java | 2 +- .../java/com/itextpdf/rups/model/PdfFile.java | 19 +- .../itextpdf/rups/model/PdfSyntaxParser.java | 0 .../itextpdf/rups/model/PdfSyntaxUtils.java | 0 .../com/itextpdf/rups/model/Permissions.java | 0 .../itextpdf/rups/model/ProgressDialog.java | 0 .../itextpdf/rups/model/TreeNodeFactory.java | 0 .../java/com/itextpdf/rups/model/XfaFile.java | 2 +- .../rups/plugins/DefaultPluginLoader.java | 112 ++++++++ .../itextpdf/rups/plugins/IPluginLoader.java | 14 + .../rups/plugins/RupsPluginFileFilter.java | 11 + .../java/com/itextpdf/rups/view/Console.java | 0 .../com/itextpdf/rups/view/DebugAppender.java | 0 .../com/itextpdf/rups/view/DebugView.java | 0 .../java/com/itextpdf/rups/view/Language.java | 0 .../com/itextpdf/rups/view/MessageAction.java | 0 .../rups/view/NewIndirectPdfObjectDialog.java | 0 .../rups/view/PageSelectionListener.java | 0 .../itextpdf/rups/view/PreferencesWindow.java | 1 - .../itextpdf/rups/view/RupsDropTarget.java | 12 +- .../com/itextpdf/rups/view/RupsMenuBar.java | 2 +- .../com/itextpdf/rups/view/RupsPanel.java | 4 +- .../itextpdf/rups/view/RupsTabbedPane.java | 6 +- .../com/itextpdf/rups/view/StyleAppender.java | 0 .../view/contextmenu/AbstractRupsAction.java | 0 .../view/contextmenu/ClearConsoleAction.java | 0 .../view/contextmenu/ConsoleContextMenu.java | 0 .../contextmenu/ContextMenuMouseListener.java | 0 .../contextmenu/CopyToClipboardAction.java | 0 .../view/contextmenu/InspectObjectAction.java | 0 .../view/contextmenu/PdfTreeContextMenu.java | 0 .../PdfTreeContextMenuMouseListener.java | 0 .../view/contextmenu/SaveImageAction.java | 0 .../SaveToFileJTextPaneAction.java | 0 .../contextmenu/SaveToFilePdfTreeAction.java | 0 .../SaveToPdfStreamJTextPaneAction.java | 0 .../contextmenu/StreamPanelContextMenu.java | 0 .../rups/view/icons/FrameIconUtil.java | 0 .../rups/view/icons/IconActionListener.java | 0 .../itextpdf/rups/view/icons/IconButton.java | 0 .../itextpdf/rups/view/icons/IconFetcher.java | 0 .../rups/view/icons/IconTreeCellRenderer.java | 0 .../rups/view/icons/IconTreeNode.java | 0 .../itextpdf/rups/view/itext/FormTree.java | 1 + .../itextpdf/rups/view/itext/OutlineTree.java | 0 .../rups/view/itext/PageEnumerator.java | 0 .../itextpdf/rups/view/itext/PagesTable.java | 2 +- .../rups/view/itext/PdfObjectPanel.java | 2 +- .../com/itextpdf/rups/view/itext/PdfTree.java | 4 +- .../itextpdf/rups/view/itext/PlainText.java | 0 .../rups/view/itext/StructureTree.java | 4 +- .../itext/SyntaxHighlightedStreamPane.java | 0 .../itextpdf/rups/view/itext/XRefTable.java | 0 .../itextpdf/rups/view/itext/XfaTextArea.java | 0 .../com/itextpdf/rups/view/itext/XfaTree.java | 2 +- .../ContentStreamHandlingUtils.java | 0 .../ContentStreamStyleConstants.java | 2 +- .../contentstream/ContentStreamWriter.java | 2 +- .../ControlledBinaryEditsFilter.java | 0 .../contentstream/IMixedContentInterface.java | 0 .../contentstream/MarkedContentInfo.java | 0 .../MarkedContentInfoGatherer.java | 0 .../contentstream/StyledSyntaxDocument.java | 0 .../view/itext/treenodes/FormTreeNode.java | 0 .../view/itext/treenodes/OutlineTreeNode.java | 0 .../itext/treenodes/PdfObjectTreeNode.java | 0 .../view/itext/treenodes/PdfPageTreeNode.java | 0 .../itext/treenodes/PdfPagesTreeNode.java | 0 .../itext/treenodes/PdfTrailerTreeNode.java | 0 .../itext/treenodes/StructureTreeNode.java | 0 .../view/itext/treenodes/XdpTreeNode.java | 0 .../view/itext/treenodes/XfaTreeNode.java | 0 .../AbstractPdfObjectPanelTableModel.java | 0 .../view/models/DictionaryTableModel.java | 0 .../models/DictionaryTableModelButton.java | 0 .../rups/view/models/JTableAutoModel.java | 0 .../view/models/JTableAutoModelInterface.java | 0 .../rups/view/models/PdfArrayTableModel.java | 0 .../resources/bundles/rups-lang.properties | 0 .../bundles/rups-lang_en_US.properties | 0 .../bundles/rups-lang_nl_NL.properties | 0 .../main/resources/com/itextpdf/rups/logo.png | Bin .../com/itextpdf/rups/view/icons/add.png | Bin .../com/itextpdf/rups/view/icons/array.png | Bin .../itextpdf/rups/view/icons/attribute.png | Bin .../com/itextpdf/rups/view/icons/boolean.png | Bin .../itextpdf/rups/view/icons/bullet_go.png | Bin .../rups/view/icons/chart_organisation.png | Bin .../rups/view/icons/copyright_notice.txt | 0 .../com/itextpdf/rups/view/icons/cross.png | Bin .../itextpdf/rups/view/icons/dictionary.png | Bin .../com/itextpdf/rups/view/icons/form.png | Bin .../com/itextpdf/rups/view/icons/name.png | Bin .../rups/view/icons/navigation_first.png | Bin .../rups/view/icons/navigation_last.png | Bin .../rups/view/icons/navigation_next.png | Bin .../rups/view/icons/navigation_previous.png | Bin .../com/itextpdf/rups/view/icons/null.png | Bin .../com/itextpdf/rups/view/icons/number.png | Bin .../com/itextpdf/rups/view/icons/outline.png | Bin .../com/itextpdf/rups/view/icons/page.png | Bin .../com/itextpdf/rups/view/icons/pages.png | Bin .../com/itextpdf/rups/view/icons/pdf.png | Bin .../com/itextpdf/rups/view/icons/pi.png | Bin .../com/itextpdf/rups/view/icons/ref.png | Bin .../rups/view/icons/ref_recursive.png | Bin .../com/itextpdf/rups/view/icons/stream.png | Bin .../com/itextpdf/rups/view/icons/string.png | Bin .../com/itextpdf/rups/view/icons/tag.png | Bin .../com/itextpdf/rups/view/icons/text.png | Bin .../com/itextpdf/rups/view/icons/xfa.png | Bin .../main/resources/config/default.properties | 0 .../src}/main/resources/logback.xml | 0 .../itextpdf/rups/RupsConfigurationTest.java | 1 - .../rups/controller/RupsControllerTest.java | 0 .../rups/io/OpenInViewerActionTest.java | 0 .../rups/io/filters/PdfFilterTest.java | 0 .../rups/mock/MockedBackgroundTask.java | 0 .../rups/mock/MockedDropTargetDropEvent.java | 0 .../com/itextpdf/rups/mock/MockedPdfFile.java | 2 +- .../rups/mock/MockedRupsController.java | 16 +- .../rups/mock/MockedSystemViewer.java | 0 .../rups/mock/MockedTransferable.java | 0 .../rups/model/BackgroundTaskTest.java | 0 .../rups/model/PdfSyntaxUtilsTest.java | 0 .../rups/plugins/DefaultPluginLoaderTest.java | 27 ++ .../com/itextpdf/rups/view/DebugViewTest.java | 0 .../com/itextpdf/rups/view/LanguageTest.java | 0 .../rups/view/RupsDropTargetTest.java | 0 .../rups/view/RupsTabbedPaneTest.java | 0 .../contextmenu/ConsoleContextMenuTest.java | 0 .../StreamPanelContextMenuTest.java | 0 .../rups/view/icons/FrameIconUtilTest.java | 0 .../rups/view/icons/IconFetcherTest.java | 0 .../rups/view/itext/FormTreeTest.java | 0 .../rups/view/itext/StructureTreeTest.java | 3 +- .../MarkedContentInfoGathererTest.java | 0 .../PdfDocEncodingHeuristicTest.java | 0 .../StyledSyntaxDocumentTest.java | 0 .../itextpdf/rups/controller/hello_world.pdf | Bin .../rups/controller/hello_world_copy.pdf | Bin .../rups/controller/hello_world_tagged.pdf | Bin .../hello_world_tagged_actualtext.pdf | Bin .../view/itext/cmp_purchase_order_filled.pdf | Bin .../contentStreamSnippets/almostUtf16be.cmp | Bin .../almostUtf16beResult.cmp | 0 .../contentStreamSnippets/almostUtf8_1.cmp | Bin .../contentStreamSnippets/almostUtf8_2.cmp | Bin .../itext/contentStreamSnippets/baseline.cmp | 0 .../itext/contentStreamSnippets/bogusEI.cmp | 0 .../charprocWithCorruptInlineImg.cmp | Bin .../charprocWithInlineImg.cmp | Bin .../contentStreamSnippets/markedContent.cmp | 0 .../itext/contentStreamSnippets/simpleTJ.cmp | 0 .../contentStreamSnippets/stringWithBin.cmp | Bin .../stringWithBinResult.cmp | 0 .../itext/contentStreamSnippets/utf16be.cmp | 0 .../view/itext/contentStreamSnippets/utf8.cmp | 0 .../contentStreamSnippets/utf8replaced.cmp | 0 pom.xml | 256 +---------------- 216 files changed, 742 insertions(+), 345 deletions(-) create mode 100644 itext-rups-api/pom.xml create mode 100644 itext-rups-api/src/main/java/com/itextpdf/rups/api/AbstractRupsPlugin.java create mode 100644 itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfController.java create mode 100644 itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfFile.java rename {src/main/java/com/itextpdf/rups/controller => itext-rups-api/src/main/java/com/itextpdf/rups/api}/IRupsController.java (85%) create mode 100644 itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsPlugin.java create mode 100644 itext-rups-api/src/main/java/com/itextpdf/rups/api/RupsPluginContext.java rename {config => itext-rups/config}/Info.plist (100%) rename {config => itext-rups/config}/logo.icns (100%) rename {config => itext-rups/config}/logo.ico (100%) create mode 100644 itext-rups/pom.xml rename {src => itext-rups/src}/assembly/exe-archive.xml (100%) rename {src => itext-rups/src}/assembly/jar-with-dependencies-excluded-poms.xml (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/Rups.java (73%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/RupsConfiguration.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/RupsLauncher.java (98%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/controller/PdfReaderController.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/controller/RupsController.java (93%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/controller/RupsInstanceController.java (96%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java (98%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/CloseDocumentEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/CompareWithFileEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/ConsoleWriteEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/NewIndirectObjectEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/NodeAddArrayChildEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/NodeAddDictChildEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/NodeDeleteArrayChildEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/NodeDeleteDictChildEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/OpenFileEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/OpenPlainTextEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/OpenStructureEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/PostCompareEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/PostNewIndirectObjectEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/PostOpenDocumentEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/RootNodeClickedEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/RupsEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/SaveToFileEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/event/TreeNodeClickedEvent.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/FileChooserAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/FileCloseAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/FileCompareAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/FileOpenAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/FileSaveAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/ISystemViewerAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/OpenInViewerAction.java (89%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/OutputStreamResource.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/TextAreaOutputStream.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/filters/PdfFilter.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/listeners/PdfTreeExpansionListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/io/listeners/PdfTreeNavigationListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/BackgroundTask.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/ErrorDialogPane.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/IProgressDialog.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/IndirectObjectFactory.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/LoggerHelper.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/ObjectLoader.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/PdfFile.java (96%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/PdfSyntaxParser.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/PdfSyntaxUtils.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/Permissions.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/ProgressDialog.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/TreeNodeFactory.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/model/XfaFile.java (98%) create mode 100644 itext-rups/src/main/java/com/itextpdf/rups/plugins/DefaultPluginLoader.java create mode 100644 itext-rups/src/main/java/com/itextpdf/rups/plugins/IPluginLoader.java create mode 100644 itext-rups/src/main/java/com/itextpdf/rups/plugins/RupsPluginFileFilter.java rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/Console.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/DebugAppender.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/DebugView.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/Language.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/MessageAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/NewIndirectPdfObjectDialog.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/PageSelectionListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/PreferencesWindow.java (99%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/RupsDropTarget.java (93%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/RupsMenuBar.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/RupsPanel.java (94%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/RupsTabbedPane.java (94%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/StyleAppender.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/AbstractRupsAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/ClearConsoleAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenu.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/ContextMenuMouseListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/CopyToClipboardAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/InspectObjectAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenu.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenuMouseListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/SaveImageAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/SaveToFileJTextPaneAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/SaveToFilePdfTreeAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/SaveToPdfStreamJTextPaneAction.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenu.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/FrameIconUtil.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/IconActionListener.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/IconButton.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/IconFetcher.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/IconTreeCellRenderer.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/icons/IconTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/FormTree.java (99%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/OutlineTree.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/PageEnumerator.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/PagesTable.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/PdfTree.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/PlainText.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/StructureTree.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/SyntaxHighlightedStreamPane.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/XRefTable.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/XfaTextArea.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/XfaTree.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamHandlingUtils.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java (99%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/ControlledBinaryEditsFilter.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/IMixedContentInterface.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfo.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGatherer.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocument.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/FormTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/OutlineTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/PdfObjectTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPageTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPagesTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/PdfTrailerTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/StructureTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/XdpTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/itext/treenodes/XfaTreeNode.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/AbstractPdfObjectPanelTableModel.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/DictionaryTableModel.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/DictionaryTableModelButton.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/JTableAutoModel.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/JTableAutoModelInterface.java (100%) rename {src => itext-rups/src}/main/java/com/itextpdf/rups/view/models/PdfArrayTableModel.java (100%) rename {src => itext-rups/src}/main/resources/bundles/rups-lang.properties (100%) rename {src => itext-rups/src}/main/resources/bundles/rups-lang_en_US.properties (100%) rename {src => itext-rups/src}/main/resources/bundles/rups-lang_nl_NL.properties (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/logo.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/add.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/array.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/attribute.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/boolean.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/bullet_go.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/chart_organisation.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/copyright_notice.txt (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/cross.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/dictionary.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/form.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/name.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/navigation_first.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/navigation_last.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/navigation_next.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/navigation_previous.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/null.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/number.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/outline.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/page.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/pages.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/pdf.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/pi.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/ref.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/ref_recursive.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/stream.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/string.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/tag.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/text.png (100%) rename {src => itext-rups/src}/main/resources/com/itextpdf/rups/view/icons/xfa.png (100%) rename {src => itext-rups/src}/main/resources/config/default.properties (100%) rename {src => itext-rups/src}/main/resources/logback.xml (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/RupsConfigurationTest.java (99%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/controller/RupsControllerTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/io/OpenInViewerActionTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/io/filters/PdfFilterTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedBackgroundTask.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedDropTargetDropEvent.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedPdfFile.java (98%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedRupsController.java (87%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedSystemViewer.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/mock/MockedTransferable.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/model/BackgroundTaskTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/model/PdfSyntaxUtilsTest.java (100%) create mode 100644 itext-rups/src/test/java/com/itextpdf/rups/plugins/DefaultPluginLoaderTest.java rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/DebugViewTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/LanguageTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/RupsDropTargetTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/RupsTabbedPaneTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenuTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenuTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/icons/FrameIconUtilTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/icons/IconFetcherTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/itext/FormTreeTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java (98%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGathererTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/itext/contentstream/PdfDocEncodingHeuristicTest.java (100%) rename {src => itext-rups/src}/test/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocumentTest.java (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/controller/hello_world.pdf (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/controller/hello_world_copy.pdf (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/controller/hello_world_tagged.pdf (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/controller/hello_world_tagged_actualtext.pdf (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/cmp_purchase_order_filled.pdf (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16be.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16beResult.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_1.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_2.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/baseline.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/bogusEI.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithCorruptInlineImg.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithInlineImg.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/markedContent.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/simpleTJ.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBin.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBinResult.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf16be.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8.cmp (100%) rename {src => itext-rups/src}/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8replaced.cmp (100%) diff --git a/itext-rups-api/pom.xml b/itext-rups-api/pom.xml new file mode 100644 index 00000000..812796b9 --- /dev/null +++ b/itext-rups-api/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + + com.itextpdf + itext-rups-parent + 7.2.3-SNAPSHOT + + + itext-rups-api + + + 8 + 8 + + + + + com.itextpdf + kernel + ${itext.version} + + + + diff --git a/itext-rups-api/src/main/java/com/itextpdf/rups/api/AbstractRupsPlugin.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/AbstractRupsPlugin.java new file mode 100644 index 00000000..72bb1b6b --- /dev/null +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/AbstractRupsPlugin.java @@ -0,0 +1,11 @@ +package com.itextpdf.rups.api; + +public abstract class AbstractRupsPlugin implements IRupsPlugin { + + protected IPdfController pdfController; + + @Override + public void setIPdfController(IPdfController pdfController) { + this.pdfController = pdfController; + } +} diff --git a/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfController.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfController.java new file mode 100644 index 00000000..321821cd --- /dev/null +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfController.java @@ -0,0 +1,77 @@ +/* + This file is part of the iText (R) project. + Copyright (c) 1998-2022 iText Group NV + Authors: iText Software. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License version 3 + as published by the Free Software Foundation with the addition of the + following permission added to Section 15 as permitted in Section 7(a): + FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY + ITEXT GROUP. ITEXT GROUP DISCLAIMS THE WARRANTY OF NON INFRINGEMENT + OF THIRD PARTY RIGHTS + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + You should have received a copy of the GNU Affero General Public License + along with this program; if not, see http://www.gnu.org/licenses or write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA, 02110-1301 USA, or download the license from the following URL: + http://itextpdf.com/terms-of-use/ + + The interactive user interfaces in modified source and object code versions + of this program must display Appropriate Legal Notices, as required under + Section 5 of the GNU Affero General Public License. + + In accordance with Section 7(b) of the GNU Affero General Public License, + a covered work must retain the producer line in every PDF that is created + or manipulated using iText. + + You can be released from the requirements of the license by purchasing + a commercial license. Buying such a license is mandatory as soon as you + develop commercial activities involving the iText software without + disclosing the source code of your own applications. + These activities include: offering paid services to customers as an ASP, + serving PDFs on the fly in a web application, shipping iText with a closed + source product. + + For more information, please contact iText Software Corp. at this + address: sales@itextpdf.com + */ +package com.itextpdf.rups.api; + +import java.io.File; +import java.util.Collection; + +/** + * The controller in charge of handling PDF file operations, such as opening a new file, closing the current file, ... + */ +public interface IPdfController { + /** + * Returns the currently loaded File. + * + * @return IPdfFile + */ + IPdfFile getPdfFile(); + + /** + * Gets all open PDF files. + * + * @return Collection + */ + Collection getAllOpenPdfFiles(); + + /** + * Opens a new File in RUPS. + * + * @param file the file to be opened. + */ + void openNewFile(File file); + + /** + * Closes the currently opened file. + */ + void closeCurrentFile(); +} diff --git a/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfFile.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfFile.java new file mode 100644 index 00000000..18d5a801 --- /dev/null +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IPdfFile.java @@ -0,0 +1,30 @@ +package com.itextpdf.rups.api; + +import com.itextpdf.kernel.pdf.PdfDocument; + +import java.io.File; + +public interface IPdfFile { + + /** + * Getter for iText's PdfDocument object. + * + * @return a PdfDocument object + */ + PdfDocument getPdfDocument(); + + /** + * Getter for the filename + * + * @return the original filename + * @since 5.0.3 + */ + String getFileName(); + + /** + * Returns the directory of the PdfFile instance. + * + * @return the directory of the opened file + */ + File getDirectory(); +} diff --git a/src/main/java/com/itextpdf/rups/controller/IRupsController.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsController.java similarity index 85% rename from src/main/java/com/itextpdf/rups/controller/IRupsController.java rename to itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsController.java index 1c3949a9..e65fc93c 100644 --- a/src/main/java/com/itextpdf/rups/controller/IRupsController.java +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsController.java @@ -40,12 +40,9 @@ This file is part of the iText (R) project. For more information, please contact iText Software Corp. at this address: sales@itextpdf.com */ -package com.itextpdf.rups.controller; - -import com.itextpdf.rups.model.PdfFile; +package com.itextpdf.rups.api; import java.awt.Component; -import java.io.File; /** * The controller in charge of the application. To view the specific tab controllers, look at the RupsInstanceController @@ -59,23 +56,4 @@ public interface IRupsController { * @return Component, typically a JTabbedPane */ Component getMasterComponent(); - - /** - * Returns the currently loaded File. - * - * @return PdfFile - */ - PdfFile getCurrentFile(); - - /** - * Opens a new File in RUPS. - * - * @param file the file to be opened. - */ - void openNewFile(File file); - - /** - * Closes the currently opened file. - */ - void closeCurrentFile(); } diff --git a/itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsPlugin.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsPlugin.java new file mode 100644 index 00000000..5b3e013e --- /dev/null +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/IRupsPlugin.java @@ -0,0 +1,8 @@ +package com.itextpdf.rups.api; + +public interface IRupsPlugin { + + boolean initialize(RupsPluginContext rupsPluginContext); + + void setIPdfController(IPdfController pdfController); +} diff --git a/itext-rups-api/src/main/java/com/itextpdf/rups/api/RupsPluginContext.java b/itext-rups-api/src/main/java/com/itextpdf/rups/api/RupsPluginContext.java new file mode 100644 index 00000000..484c4157 --- /dev/null +++ b/itext-rups-api/src/main/java/com/itextpdf/rups/api/RupsPluginContext.java @@ -0,0 +1,36 @@ +package com.itextpdf.rups.api; + +import javax.swing.JMenuBar; + +public class RupsPluginContext { + private JMenuBar menuBar; + private IRupsController rupsController; + private IPdfController pdfController; + + public JMenuBar getMenuBar() { + return menuBar; + } + + public RupsPluginContext setMenuBar(JMenuBar rupsMenuBar) { + this.menuBar = rupsMenuBar; + return this; + } + + public IRupsController getRupsController() { + return rupsController; + } + + public RupsPluginContext setRupsController(IRupsController rupsController) { + this.rupsController = rupsController; + return this; + } + + public IPdfController getPdfController() { + return pdfController; + } + + public RupsPluginContext setPdfController(IPdfController pdfController) { + this.pdfController = pdfController; + return this; + } +} diff --git a/config/Info.plist b/itext-rups/config/Info.plist similarity index 100% rename from config/Info.plist rename to itext-rups/config/Info.plist diff --git a/config/logo.icns b/itext-rups/config/logo.icns similarity index 100% rename from config/logo.icns rename to itext-rups/config/logo.icns diff --git a/config/logo.ico b/itext-rups/config/logo.ico similarity index 100% rename from config/logo.ico rename to itext-rups/config/logo.ico diff --git a/itext-rups/pom.xml b/itext-rups/pom.xml new file mode 100644 index 00000000..3be29899 --- /dev/null +++ b/itext-rups/pom.xml @@ -0,0 +1,262 @@ + + + 4.0.0 + + + com.itextpdf + itext-rups-parent + 7.2.3-SNAPSHOT + + + itext-rups + + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback + logback-core + ${logback.version} + + + com.ibm.icu + icu4j + 69.1 + + + com.itextpdf + io + ${itext.version} + + + com.itextpdf + itext-rups-api + ${itext.version} + + + com.itextpdf + kernel + ${itext.version} + + + org.dom4j + dom4j + ${dom4j.version} + + + com.itextpdf + pdftest + ${itext.version} + test + + + + + + ${project.artifactId}-${project.version} + + + org.apache.felix + maven-bundle-plugin + 5.1.4 + + + maven-assembly-plugin + ${assembly-plugin.version} + + + make-assembly + package + + single + + + + src/assembly/jar-with-dependencies-excluded-poms.xml + + false + + + com.itextpdf.com.itextpdf.rups.RupsLauncher + + + + + + exe-archive + + + src/assembly/exe-archive.xml + + + + + + + maven-jar-plugin + + + + true + com.itextpdf.com.itextpdf.rups.RupsLauncher + + + + + + + + + + qa + + + + com.github.siom79.japicmp + japicmp-maven-plugin + + true + + + + + + + exe + + + + com.akathist.maven.plugins.launch4j + launch4j-maven-plugin + ${launch4j.version} + + + l4j-gui + package + + launch4j + + + false + gui + target/Rups.exe + target/${project.artifactId}-${project.version}.jar + Rups + config/logo.ico + + com.itextpdf.com.itextpdf.rups.RupsLauncher + true + anything + + + 1.7.0 + + + + ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${parsedVersion.buildNumber} + ${project.version} + Rups, object view of pdf content + AGPL + + ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${parsedVersion.buildNumber} + ${project.version} + Rups + itext-rups + Rups.exe + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.0.0 + + + parse-version + + parse-version + + + + attach-exe-artifact + + + + ${project.build.directory}/${project.artifactId}-${project.version}-exe-archive.zip + zip + exe-archive + + + + + + + + + + + mac + + + + src/main/resources + + + config + + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + Update Info.plist + package + + exec + + + sed + + -ie + s/{project.version}/${project.version}/g + ${project.build.outputDirectory}/Info.plist + + + + + + + sh.tak.appbundler + appbundle-maven-plugin + 1.2.0 + + + package + + bundle + + + + + com.itextpdf.com.itextpdf.rups.RupsLauncher + Info.plist + false + logo.icns + + + + + + + diff --git a/src/assembly/exe-archive.xml b/itext-rups/src/assembly/exe-archive.xml similarity index 100% rename from src/assembly/exe-archive.xml rename to itext-rups/src/assembly/exe-archive.xml diff --git a/src/assembly/jar-with-dependencies-excluded-poms.xml b/itext-rups/src/assembly/jar-with-dependencies-excluded-poms.xml similarity index 100% rename from src/assembly/jar-with-dependencies-excluded-poms.xml rename to itext-rups/src/assembly/jar-with-dependencies-excluded-poms.xml diff --git a/src/main/java/com/itextpdf/rups/Rups.java b/itext-rups/src/main/java/com/itextpdf/rups/Rups.java similarity index 73% rename from src/main/java/com/itextpdf/rups/Rups.java rename to itext-rups/src/main/java/com/itextpdf/rups/Rups.java index c6cef91c..6d2b2285 100644 --- a/src/main/java/com/itextpdf/rups/Rups.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/Rups.java @@ -43,7 +43,7 @@ This file is part of the iText (R) project. package com.itextpdf.rups; import com.itextpdf.kernel.actions.data.ITextCoreProductData; -import com.itextpdf.rups.controller.IRupsController; +import com.itextpdf.rups.api.RupsPluginContext; import com.itextpdf.rups.controller.RupsController; import com.itextpdf.rups.model.LoggerHelper; import com.itextpdf.rups.view.Language; @@ -51,11 +51,15 @@ This file is part of the iText (R) project. import com.itextpdf.rups.view.RupsMenuBar; import com.itextpdf.rups.view.RupsTabbedPane; import com.itextpdf.rups.view.icons.FrameIconUtil; +import com.itextpdf.rups.api.IPdfController; +import com.itextpdf.rups.plugins.DefaultPluginLoader; +import com.itextpdf.rups.plugins.IPluginLoader; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.io.File; +import java.lang.reflect.InvocationTargetException; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javax.swing.UIManager; @@ -71,15 +75,22 @@ public class Rups { public static void startNewApplication(final File f) { SwingUtilities.invokeLater(() -> { setLookandFeel(); - final IRupsController rupsController = initApplication(new JFrame()); + final RupsPluginContext pluginContext = initApplication(new JFrame()); + + try { + loadPlugins(pluginContext); + } catch (ClassNotFoundException | InvocationTargetException | InstantiationException | IllegalAccessException e) { + e.printStackTrace(); + } + if (f != null) { - loadDocumentFromFile(rupsController, f); + loadDocumentFromFile(pluginContext.getPdfController(), f); } }); } - static void loadDocumentFromFile(IRupsController rupsController, File f) { - SwingUtilities.invokeLater(() -> rupsController.openNewFile(f)); + static void loadDocumentFromFile(IPdfController controller, File f) { + SwingUtilities.invokeLater(() -> controller.openNewFile(f)); } static void setLookandFeel() { @@ -92,7 +103,9 @@ static void setLookandFeel() { } } - static IRupsController initApplication(JFrame frame) { + static RupsPluginContext initApplication(JFrame frame) { + RupsPluginContext pluginContext = new RupsPluginContext(); + Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); frame.setSize((int) (screen.getWidth() * .90), (int) (screen.getHeight() * .90)); frame.setLocation((int) (screen.getWidth() * .05), (int) (screen.getHeight() * .05)); @@ -109,12 +122,30 @@ static IRupsController initApplication(JFrame frame) { final RupsMenuBar rupsMenuBar = new RupsMenuBar(rupsController); rupsController.addObserver(rupsMenuBar); + pluginContext.setRupsController(rupsController); + frame.setDropTarget(new RupsDropTarget(rupsController)); frame.setJMenuBar(rupsMenuBar); + pluginContext.setMenuBar(rupsMenuBar); + frame.getContentPane().add(rupsController.getMasterComponent(), BorderLayout.CENTER); frame.setVisible(true); - return rupsController; + return pluginContext; + } + + static void loadPlugins(RupsPluginContext rupsPluginContext) + throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException { + System.out.println("empty"); + /**IPluginLoader pluginLoader = new DefaultPluginLoader(); + + File[] files = pluginLoader.fetchPlugins( + new File( + "C:\\Users\\michael.demey\\.m2\\repository\\com\\itextpdf\\rups-pdfrender\\1.0-SNAPSHOT\\rups-pdfrender-1.0-SNAPSHOT-jar-with-dependencies.jar" + ) + ); + + pluginLoader.loadPlugins(files, rupsPluginContext);*/ } } diff --git a/src/main/java/com/itextpdf/rups/RupsConfiguration.java b/itext-rups/src/main/java/com/itextpdf/rups/RupsConfiguration.java similarity index 100% rename from src/main/java/com/itextpdf/rups/RupsConfiguration.java rename to itext-rups/src/main/java/com/itextpdf/rups/RupsConfiguration.java diff --git a/src/main/java/com/itextpdf/rups/RupsLauncher.java b/itext-rups/src/main/java/com/itextpdf/rups/RupsLauncher.java similarity index 98% rename from src/main/java/com/itextpdf/rups/RupsLauncher.java rename to itext-rups/src/main/java/com/itextpdf/rups/RupsLauncher.java index cc6fd123..a2c7c193 100644 --- a/src/main/java/com/itextpdf/rups/RupsLauncher.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/RupsLauncher.java @@ -43,7 +43,6 @@ This file is part of the iText (R) project. package com.itextpdf.rups; import java.io.File; -import java.io.FileNotFoundException; /** * iText RUPS is a tool that allows you to inspect the internal structure diff --git a/src/main/java/com/itextpdf/rups/controller/PdfReaderController.java b/itext-rups/src/main/java/com/itextpdf/rups/controller/PdfReaderController.java similarity index 100% rename from src/main/java/com/itextpdf/rups/controller/PdfReaderController.java rename to itext-rups/src/main/java/com/itextpdf/rups/controller/PdfReaderController.java index 815661de..69e7620f 100644 --- a/src/main/java/com/itextpdf/rups/controller/PdfReaderController.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/controller/PdfReaderController.java @@ -53,6 +53,7 @@ This file is part of the iText (R) project. import com.itextpdf.kernel.utils.objectpathitems.IndirectPathItem; import com.itextpdf.kernel.utils.objectpathitems.LocalPathItem; import com.itextpdf.kernel.utils.objectpathitems.ObjectPath; +import com.itextpdf.rups.view.Language; import com.itextpdf.rups.event.NodeAddArrayChildEvent; import com.itextpdf.rups.event.NodeAddDictChildEvent; import com.itextpdf.rups.event.NodeDeleteArrayChildEvent; @@ -65,7 +66,6 @@ This file is part of the iText (R) project. import com.itextpdf.rups.model.PdfSyntaxParser; import com.itextpdf.rups.model.TreeNodeFactory; import com.itextpdf.rups.view.DebugView; -import com.itextpdf.rups.view.Language; import com.itextpdf.rups.view.PageSelectionListener; import com.itextpdf.rups.view.contextmenu.PdfTreeContextMenu; import com.itextpdf.rups.view.contextmenu.PdfTreeContextMenuMouseListener; diff --git a/src/main/java/com/itextpdf/rups/controller/RupsController.java b/itext-rups/src/main/java/com/itextpdf/rups/controller/RupsController.java similarity index 93% rename from src/main/java/com/itextpdf/rups/controller/RupsController.java rename to itext-rups/src/main/java/com/itextpdf/rups/controller/RupsController.java index 5a6a5103..9cb3a180 100644 --- a/src/main/java/com/itextpdf/rups/controller/RupsController.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/controller/RupsController.java @@ -43,17 +43,20 @@ This file is part of the iText (R) project. package com.itextpdf.rups.controller; import com.itextpdf.rups.RupsConfiguration; +import com.itextpdf.rups.api.IRupsController; import com.itextpdf.rups.event.AllFilesClosedEvent; +import com.itextpdf.rups.view.Language; +import com.itextpdf.rups.view.RupsTabbedPane; +import com.itextpdf.rups.api.IPdfController; +import com.itextpdf.rups.api.IPdfFile; import com.itextpdf.rups.event.OpenFileEvent; import com.itextpdf.rups.event.RupsEvent; import com.itextpdf.rups.model.LoggerHelper; -import com.itextpdf.rups.model.PdfFile; -import com.itextpdf.rups.view.Language; -import com.itextpdf.rups.view.RupsTabbedPane; import java.awt.Component; import java.awt.Dimension; import java.io.File; +import java.util.Collection; import java.util.Observable; import java.util.Observer; @@ -62,7 +65,7 @@ This file is part of the iText (R) project. * the RUPS application: the menu bar, the panels,... */ public class RupsController extends Observable - implements Observer, IRupsController { + implements Observer, IRupsController, IPdfController { private final RupsTabbedPane rupsTabbedPane; @@ -128,7 +131,7 @@ public final void closeCurrentFile() { } @Override - public final PdfFile getCurrentFile() { + public IPdfFile getPdfFile() { return this.rupsTabbedPane.getCurrentFile(); } @@ -144,4 +147,9 @@ public final void openNewFile(File file) { this.update(this, new OpenFileEvent(file)); } } + + @Override + public Collection getAllOpenPdfFiles() { + return null; + } } diff --git a/src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java b/itext-rups/src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java similarity index 96% rename from src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java rename to itext-rups/src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java index b4a2b3d7..e3ab4c59 100644 --- a/src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/controller/RupsInstanceController.java @@ -46,6 +46,7 @@ This file is part of the iText (R) project. import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.utils.CompareTool; +import com.itextpdf.rups.view.Language; import com.itextpdf.rups.event.CloseDocumentEvent; import com.itextpdf.rups.event.PostCompareEvent; import com.itextpdf.rups.event.RupsEvent; @@ -55,8 +56,9 @@ This file is part of the iText (R) project. import com.itextpdf.rups.model.PdfFile; import com.itextpdf.rups.model.ProgressDialog; import com.itextpdf.rups.view.Console; -import com.itextpdf.rups.view.Language; import com.itextpdf.rups.view.PageSelectionListener; +import com.itextpdf.rups.view.RupsPanel; +import com.itextpdf.rups.view.RupsTabbedPane; import com.itextpdf.rups.view.contextmenu.ConsoleContextMenu; import com.itextpdf.rups.view.contextmenu.ContextMenuMouseListener; import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; @@ -85,11 +87,11 @@ This file is part of the iText (R) project. /** * RupsInstanceController is the controller in charge of an individual tab in RUPS. It controls - * the actions that happen on the loaded file in that tab. It owns a {@link com.itextpdf.rups.view.RupsPanel RupsPanel} + * the actions that happen on the loaded file in that tab. It owns a {@link RupsPanel RupsPanel} * which will display the view of the loaded file. *

- * A RupsInstanceController instance will be owned by a {@link com.itextpdf.rups.view.RupsTabbedPane RupsTabbedPane} - * instance. Which in turn is controlled by a {@link com.itextpdf.rups.controller.RupsController RupsController} + * A RupsInstanceController instance will be owned by a {@link RupsTabbedPane RupsTabbedPane} + * instance. Which in turn is controlled by a {@link RupsController RupsController} * instance. */ public class RupsInstanceController extends Observable @@ -183,8 +185,12 @@ public final void update(Observable o, Object arg) { if (o != null && arg instanceof RupsEvent) { final RupsEvent event = (RupsEvent) arg; if (RupsEvent.CONSOLE_WRITE_EVENT == event.getType()) { - readerController.getEditorTabs() - .setSelectedIndex(readerController.getEditorTabs().getComponentCount() - 1); + if ( readerController != null ) { + JTabbedPane editorTabs = readerController.getEditorTabs(); + if ( editorTabs != null ) { + editorTabs.setSelectedIndex(editorTabs.getComponentCount() - 1); + } + } } } } @@ -344,7 +350,7 @@ public void run() { dialog.setVisible(true); } }); - loader = new ObjectLoader(this, pdfFile, pdfFile.getFilename(), dialog); + loader = new ObjectLoader(this, pdfFile, pdfFile.getFileName(), dialog); loader.start(); } diff --git a/src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java similarity index 98% rename from src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java index ba134008..8c37dc45 100644 --- a/src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/event/AllFilesClosedEvent.java @@ -45,7 +45,7 @@ This file is part of the iText (R) project. public class AllFilesClosedEvent extends RupsEvent { @Override public int getType() { - return RupsEvent.ALL_FILES_CLOSED; + return ALL_FILES_CLOSED; } @Override diff --git a/src/main/java/com/itextpdf/rups/event/CloseDocumentEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/CloseDocumentEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/CloseDocumentEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/CloseDocumentEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/CompareWithFileEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/CompareWithFileEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/CompareWithFileEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/CompareWithFileEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/ConsoleWriteEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/ConsoleWriteEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/ConsoleWriteEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/ConsoleWriteEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/NewIndirectObjectEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/NewIndirectObjectEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/NewIndirectObjectEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/NewIndirectObjectEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/NodeAddArrayChildEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/NodeAddArrayChildEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/NodeAddArrayChildEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/NodeAddArrayChildEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/NodeAddDictChildEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/NodeAddDictChildEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/NodeAddDictChildEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/NodeAddDictChildEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/NodeDeleteArrayChildEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/NodeDeleteArrayChildEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/NodeDeleteArrayChildEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/NodeDeleteArrayChildEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/NodeDeleteDictChildEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/NodeDeleteDictChildEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/NodeDeleteDictChildEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/NodeDeleteDictChildEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/OpenFileEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/OpenFileEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/OpenFileEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/OpenFileEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/OpenPlainTextEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/OpenPlainTextEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/OpenPlainTextEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/OpenPlainTextEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/OpenStructureEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/OpenStructureEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/OpenStructureEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/OpenStructureEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/PostCompareEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/PostCompareEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/PostCompareEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/PostCompareEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/PostNewIndirectObjectEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/PostNewIndirectObjectEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/PostNewIndirectObjectEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/PostNewIndirectObjectEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/PostOpenDocumentEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/PostOpenDocumentEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/PostOpenDocumentEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/PostOpenDocumentEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/RootNodeClickedEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/RootNodeClickedEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/RootNodeClickedEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/RootNodeClickedEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/RupsEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/RupsEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/RupsEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/RupsEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/SaveToFileEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/SaveToFileEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/SaveToFileEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/SaveToFileEvent.java diff --git a/src/main/java/com/itextpdf/rups/event/TreeNodeClickedEvent.java b/itext-rups/src/main/java/com/itextpdf/rups/event/TreeNodeClickedEvent.java similarity index 100% rename from src/main/java/com/itextpdf/rups/event/TreeNodeClickedEvent.java rename to itext-rups/src/main/java/com/itextpdf/rups/event/TreeNodeClickedEvent.java diff --git a/src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java index 80a395ed..0fd913f4 100644 --- a/src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/io/DefaultSystemViewerAction.java @@ -42,8 +42,8 @@ This file is part of the iText (R) project. */ package com.itextpdf.rups.io; -import com.itextpdf.rups.model.LoggerHelper; import com.itextpdf.rups.view.Language; +import com.itextpdf.rups.model.LoggerHelper; import java.awt.Desktop; import java.io.File; diff --git a/src/main/java/com/itextpdf/rups/io/FileChooserAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/FileChooserAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/FileChooserAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/FileChooserAction.java diff --git a/src/main/java/com/itextpdf/rups/io/FileCloseAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/FileCloseAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/FileCloseAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/FileCloseAction.java diff --git a/src/main/java/com/itextpdf/rups/io/FileCompareAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/FileCompareAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/FileCompareAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/FileCompareAction.java diff --git a/src/main/java/com/itextpdf/rups/io/FileOpenAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/FileOpenAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/FileOpenAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/FileOpenAction.java diff --git a/src/main/java/com/itextpdf/rups/io/FileSaveAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/FileSaveAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/FileSaveAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/FileSaveAction.java diff --git a/src/main/java/com/itextpdf/rups/io/ISystemViewerAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/ISystemViewerAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/ISystemViewerAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/ISystemViewerAction.java diff --git a/src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java b/itext-rups/src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java similarity index 89% rename from src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java index 480cf4c7..f5dad7a1 100644 --- a/src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/io/OpenInViewerAction.java @@ -42,8 +42,8 @@ This file is part of the iText (R) project. */ package com.itextpdf.rups.io; -import com.itextpdf.rups.controller.IRupsController; -import com.itextpdf.rups.model.PdfFile; +import com.itextpdf.rups.api.IPdfController; +import com.itextpdf.rups.api.IPdfFile; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -54,7 +54,7 @@ This file is part of the iText (R) project. */ public class OpenInViewerAction implements ActionListener { - private final IRupsController controller; + private final IPdfController controller; private final ISystemViewerAction systemViewerAction; @@ -63,7 +63,7 @@ public class OpenInViewerAction implements ActionListener { * * @param controller RupsController */ - public OpenInViewerAction(IRupsController controller) { + public OpenInViewerAction(IPdfController controller) { this(controller, new DefaultSystemViewerAction()); } @@ -73,7 +73,7 @@ public OpenInViewerAction(IRupsController controller) { * @param controller RupsController * @param systemViewerAction the action to open PDF files in the system viewer */ - public OpenInViewerAction(IRupsController controller, ISystemViewerAction systemViewerAction) { + public OpenInViewerAction(IPdfController controller, ISystemViewerAction systemViewerAction) { this.controller = controller; this.systemViewerAction = systemViewerAction; } @@ -84,12 +84,12 @@ public final void actionPerformed(ActionEvent e) { return; } - final PdfFile pdfFile = this.controller.getCurrentFile(); + final IPdfFile pdfFile = this.controller.getPdfFile(); if (pdfFile == null || pdfFile.getDirectory() == null) { return; } - this.systemViewerAction.openFile(new File(pdfFile.getDirectory(), pdfFile.getFilename())); + this.systemViewerAction.openFile(new File(pdfFile.getDirectory(), pdfFile.getFileName())); } } diff --git a/src/main/java/com/itextpdf/rups/io/OutputStreamResource.java b/itext-rups/src/main/java/com/itextpdf/rups/io/OutputStreamResource.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/OutputStreamResource.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/OutputStreamResource.java diff --git a/src/main/java/com/itextpdf/rups/io/TextAreaOutputStream.java b/itext-rups/src/main/java/com/itextpdf/rups/io/TextAreaOutputStream.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/TextAreaOutputStream.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/TextAreaOutputStream.java diff --git a/src/main/java/com/itextpdf/rups/io/filters/PdfFilter.java b/itext-rups/src/main/java/com/itextpdf/rups/io/filters/PdfFilter.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/filters/PdfFilter.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/filters/PdfFilter.java diff --git a/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeExpansionListener.java b/itext-rups/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeExpansionListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/listeners/PdfTreeExpansionListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeExpansionListener.java diff --git a/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeNavigationListener.java b/itext-rups/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeNavigationListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/io/listeners/PdfTreeNavigationListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/io/listeners/PdfTreeNavigationListener.java diff --git a/src/main/java/com/itextpdf/rups/model/BackgroundTask.java b/itext-rups/src/main/java/com/itextpdf/rups/model/BackgroundTask.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/BackgroundTask.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/BackgroundTask.java diff --git a/src/main/java/com/itextpdf/rups/model/ErrorDialogPane.java b/itext-rups/src/main/java/com/itextpdf/rups/model/ErrorDialogPane.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/ErrorDialogPane.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/ErrorDialogPane.java diff --git a/src/main/java/com/itextpdf/rups/model/IProgressDialog.java b/itext-rups/src/main/java/com/itextpdf/rups/model/IProgressDialog.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/IProgressDialog.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/IProgressDialog.java diff --git a/src/main/java/com/itextpdf/rups/model/IndirectObjectFactory.java b/itext-rups/src/main/java/com/itextpdf/rups/model/IndirectObjectFactory.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/IndirectObjectFactory.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/IndirectObjectFactory.java diff --git a/src/main/java/com/itextpdf/rups/model/LoggerHelper.java b/itext-rups/src/main/java/com/itextpdf/rups/model/LoggerHelper.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/LoggerHelper.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/LoggerHelper.java diff --git a/src/main/java/com/itextpdf/rups/model/ObjectLoader.java b/itext-rups/src/main/java/com/itextpdf/rups/model/ObjectLoader.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/ObjectLoader.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/ObjectLoader.java index fd909a05..ed5c8538 100644 --- a/src/main/java/com/itextpdf/rups/model/ObjectLoader.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/model/ObjectLoader.java @@ -42,8 +42,8 @@ This file is part of the iText (R) project. */ package com.itextpdf.rups.model; -import com.itextpdf.rups.event.PostOpenDocumentEvent; import com.itextpdf.rups.view.Language; +import com.itextpdf.rups.event.PostOpenDocumentEvent; import java.util.Observer; import javax.swing.SwingUtilities; diff --git a/src/main/java/com/itextpdf/rups/model/PdfFile.java b/itext-rups/src/main/java/com/itextpdf/rups/model/PdfFile.java similarity index 96% rename from src/main/java/com/itextpdf/rups/model/PdfFile.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/PdfFile.java index c4cc6b8a..7181a3af 100644 --- a/src/main/java/com/itextpdf/rups/model/PdfFile.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/model/PdfFile.java @@ -49,6 +49,7 @@ This file is part of the iText (R) project. import com.itextpdf.kernel.pdf.PdfWriter; import com.itextpdf.kernel.pdf.ReaderProperties; import com.itextpdf.rups.view.Language; +import com.itextpdf.rups.api.IPdfFile; import com.ibm.icu.text.StringPrep; import com.ibm.icu.text.StringPrepParseException; @@ -67,7 +68,7 @@ This file is part of the iText (R) project. * Wrapper for both iText's PdfReader (referring to a PDF file to read) * and SUN's PDFFile (referring to the same PDF file to render). */ -public class PdfFile { +public class PdfFile implements IPdfFile { /** * The directory where the file can be found (if the PDF was passed as a file). @@ -203,25 +204,17 @@ protected void readFile(InputStream fis, boolean checkPass, boolean readOnly) th } - /** - * Getter for iText's PdfDocument object. - * - * @return a PdfDocument object - */ + @Override public PdfDocument getPdfDocument() { return document; } - /** - * Getter for the filename - * - * @return the original filename - * @since 5.0.3 - */ - public String getFilename() { + @Override + public String getFileName() { return filename; } + @Override public File getDirectory() { return directory; } diff --git a/src/main/java/com/itextpdf/rups/model/PdfSyntaxParser.java b/itext-rups/src/main/java/com/itextpdf/rups/model/PdfSyntaxParser.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/PdfSyntaxParser.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/PdfSyntaxParser.java diff --git a/src/main/java/com/itextpdf/rups/model/PdfSyntaxUtils.java b/itext-rups/src/main/java/com/itextpdf/rups/model/PdfSyntaxUtils.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/PdfSyntaxUtils.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/PdfSyntaxUtils.java diff --git a/src/main/java/com/itextpdf/rups/model/Permissions.java b/itext-rups/src/main/java/com/itextpdf/rups/model/Permissions.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/Permissions.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/Permissions.java diff --git a/src/main/java/com/itextpdf/rups/model/ProgressDialog.java b/itext-rups/src/main/java/com/itextpdf/rups/model/ProgressDialog.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/ProgressDialog.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/ProgressDialog.java diff --git a/src/main/java/com/itextpdf/rups/model/TreeNodeFactory.java b/itext-rups/src/main/java/com/itextpdf/rups/model/TreeNodeFactory.java similarity index 100% rename from src/main/java/com/itextpdf/rups/model/TreeNodeFactory.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/TreeNodeFactory.java diff --git a/src/main/java/com/itextpdf/rups/model/XfaFile.java b/itext-rups/src/main/java/com/itextpdf/rups/model/XfaFile.java similarity index 98% rename from src/main/java/com/itextpdf/rups/model/XfaFile.java rename to itext-rups/src/main/java/com/itextpdf/rups/model/XfaFile.java index f160180c..cbf51cb6 100644 --- a/src/main/java/com/itextpdf/rups/model/XfaFile.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/model/XfaFile.java @@ -99,7 +99,7 @@ public Document getXfaDocument() { /** * Writes a formatted XML file to the OutputStream. * - * @see com.itextpdf.rups.io.OutputStreamResource#writeTo(java.io.OutputStream) + * @see OutputStreamResource#writeTo(java.io.OutputStream) */ public void writeTo(OutputStream os) throws IOException { if (xfaDocument == null) { diff --git a/itext-rups/src/main/java/com/itextpdf/rups/plugins/DefaultPluginLoader.java b/itext-rups/src/main/java/com/itextpdf/rups/plugins/DefaultPluginLoader.java new file mode 100644 index 00000000..e07f0008 --- /dev/null +++ b/itext-rups/src/main/java/com/itextpdf/rups/plugins/DefaultPluginLoader.java @@ -0,0 +1,112 @@ +package com.itextpdf.rups.plugins; + +import com.itextpdf.rups.api.RupsPluginContext; +import com.itextpdf.rups.api.IRupsPlugin; + +import java.io.File; +import java.io.FileFilter; +import java.io.IOException; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.List; +import java.util.jar.Attributes; +import java.util.jar.JarFile; +import java.util.jar.Manifest; + +public class DefaultPluginLoader implements IPluginLoader { + @Override + public File[] fetchPlugins(File pluginDirectory) { + FileFilter pluginFilter = new RupsPluginFileFilter(); + + if (!pluginDirectory.isDirectory()) { + if (pluginFilter.accept(pluginDirectory)) { + return new File[] {pluginDirectory}; + } else { + return new File[0]; + } + } + + return pluginDirectory.listFiles(pluginFilter); + } + + @Override + public boolean loadPlugins(File[] plugins, RupsPluginContext pluginContext) + throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException { + + List> values = convertFileArrayToValuePair(plugins); + + List urls = new ArrayList<>(); + List strings = new ArrayList<>(); + + for (Pair pair : values) { + urls.add(pair.getT()); + strings.add(pair.getK()); + } + + URLClassLoader classLoader = new URLClassLoader(urls.toArray(new URL[urls.size()]), + this.getClass().getClassLoader()); + + Class pluginClass = classLoader.loadClass(strings.get(0)); + Constructor[] declaredConstructors = pluginClass.getDeclaredConstructors(); + IRupsPlugin o = (IRupsPlugin) declaredConstructors[0].newInstance(); + + o.initialize(pluginContext); + + return false; + } + + private List> convertFileArrayToValuePair(File[] files) { + List> valuePairs = new ArrayList<>(); + + for (File plugin : files) { + URL url = null; + + try { + url = plugin.toURL(); + } catch (MalformedURLException e) { + continue; + } + + String className = null; + try { + className = extractClassNameFromJarManifest(plugin); + } catch (IOException e) { + continue; + } + + valuePairs.add(new Pair(url, className)); + } + + return valuePairs; + } + + private String extractClassNameFromJarManifest(File plugin) throws IOException { + Manifest manifest = new JarFile(plugin).getManifest(); + + String string = (String) manifest.getMainAttributes().get(new Attributes.Name("rups-implementation")); + + return string; + } + + private class Pair { + private T t; + private K k; + + public Pair(T t, K k) { + this.t = t; + this.k = k; + } + + public T getT() { + return t; + } + + public K getK() { + return k; + } + } +} diff --git a/itext-rups/src/main/java/com/itextpdf/rups/plugins/IPluginLoader.java b/itext-rups/src/main/java/com/itextpdf/rups/plugins/IPluginLoader.java new file mode 100644 index 00000000..1c8b880a --- /dev/null +++ b/itext-rups/src/main/java/com/itextpdf/rups/plugins/IPluginLoader.java @@ -0,0 +1,14 @@ +package com.itextpdf.rups.plugins; + +import com.itextpdf.rups.api.RupsPluginContext; + +import java.io.File; +import java.lang.reflect.InvocationTargetException; + +public interface IPluginLoader { + + File[] fetchPlugins(File pluginDirectory); + + boolean loadPlugins(File[] plugins, RupsPluginContext pluginContext) + throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException; +} diff --git a/itext-rups/src/main/java/com/itextpdf/rups/plugins/RupsPluginFileFilter.java b/itext-rups/src/main/java/com/itextpdf/rups/plugins/RupsPluginFileFilter.java new file mode 100644 index 00000000..b7024b49 --- /dev/null +++ b/itext-rups/src/main/java/com/itextpdf/rups/plugins/RupsPluginFileFilter.java @@ -0,0 +1,11 @@ +package com.itextpdf.rups.plugins; + +import java.io.File; +import java.io.FileFilter; + +public class RupsPluginFileFilter implements FileFilter { + @Override + public boolean accept(File pathname) { + return pathname.getName().endsWith(".jar"); + } +} diff --git a/src/main/java/com/itextpdf/rups/view/Console.java b/itext-rups/src/main/java/com/itextpdf/rups/view/Console.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/Console.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/Console.java diff --git a/src/main/java/com/itextpdf/rups/view/DebugAppender.java b/itext-rups/src/main/java/com/itextpdf/rups/view/DebugAppender.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/DebugAppender.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/DebugAppender.java diff --git a/src/main/java/com/itextpdf/rups/view/DebugView.java b/itext-rups/src/main/java/com/itextpdf/rups/view/DebugView.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/DebugView.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/DebugView.java diff --git a/src/main/java/com/itextpdf/rups/view/Language.java b/itext-rups/src/main/java/com/itextpdf/rups/view/Language.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/Language.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/Language.java diff --git a/src/main/java/com/itextpdf/rups/view/MessageAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/MessageAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/MessageAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/MessageAction.java diff --git a/src/main/java/com/itextpdf/rups/view/NewIndirectPdfObjectDialog.java b/itext-rups/src/main/java/com/itextpdf/rups/view/NewIndirectPdfObjectDialog.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/NewIndirectPdfObjectDialog.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/NewIndirectPdfObjectDialog.java diff --git a/src/main/java/com/itextpdf/rups/view/PageSelectionListener.java b/itext-rups/src/main/java/com/itextpdf/rups/view/PageSelectionListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/PageSelectionListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/PageSelectionListener.java diff --git a/src/main/java/com/itextpdf/rups/view/PreferencesWindow.java b/itext-rups/src/main/java/com/itextpdf/rups/view/PreferencesWindow.java similarity index 99% rename from src/main/java/com/itextpdf/rups/view/PreferencesWindow.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/PreferencesWindow.java index 8b00880c..714dd896 100644 --- a/src/main/java/com/itextpdf/rups/view/PreferencesWindow.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/PreferencesWindow.java @@ -51,7 +51,6 @@ This file is part of the iText (R) project. import java.awt.GridBagLayout; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; import java.util.Locale; import javax.swing.JButton; import javax.swing.JCheckBox; diff --git a/src/main/java/com/itextpdf/rups/view/RupsDropTarget.java b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsDropTarget.java similarity index 93% rename from src/main/java/com/itextpdf/rups/view/RupsDropTarget.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/RupsDropTarget.java index f022d866..79c0060a 100644 --- a/src/main/java/com/itextpdf/rups/view/RupsDropTarget.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsDropTarget.java @@ -42,7 +42,7 @@ This file is part of the iText (R) project. */ package com.itextpdf.rups.view; -import com.itextpdf.rups.controller.IRupsController; +import com.itextpdf.rups.api.IPdfController; import com.itextpdf.rups.io.filters.PdfFilter; import com.itextpdf.rups.model.LoggerHelper; @@ -68,15 +68,15 @@ public class RupsDropTarget extends DropTarget { /** * The controller instance that controls the application. */ - private final IRupsController rupsController; + private final IPdfController pdfController; /** * Creates a RupsDropTarget * - * @param rupsController the controller instance that controls the application + * @param pdfController the controller instance that controls the application */ - public RupsDropTarget(IRupsController rupsController) { - this.rupsController = rupsController; + public RupsDropTarget(IPdfController pdfController) { + this.pdfController = pdfController; } @Override @@ -88,7 +88,7 @@ public final synchronized void drop(DropTargetDropEvent dtde) { for (final File file : files) { if (PdfFilter.INSTANCE.accept(file)) { - this.rupsController.openNewFile(file); + this.pdfController.openNewFile(file); } } diff --git a/src/main/java/com/itextpdf/rups/view/RupsMenuBar.java b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsMenuBar.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/RupsMenuBar.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/RupsMenuBar.java index fe87b95f..eca591ee 100644 --- a/src/main/java/com/itextpdf/rups/view/RupsMenuBar.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsMenuBar.java @@ -45,11 +45,11 @@ This file is part of the iText (R) project. import com.itextpdf.kernel.actions.data.ITextCoreProductData; import com.itextpdf.rups.controller.RupsController; import com.itextpdf.rups.event.RupsEvent; +import com.itextpdf.rups.io.OpenInViewerAction; import com.itextpdf.rups.io.FileCloseAction; import com.itextpdf.rups.io.FileCompareAction; import com.itextpdf.rups.io.FileOpenAction; import com.itextpdf.rups.io.FileSaveAction; -import com.itextpdf.rups.io.OpenInViewerAction; import com.itextpdf.rups.io.filters.PdfFilter; import java.awt.event.ActionListener; diff --git a/src/main/java/com/itextpdf/rups/view/RupsPanel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsPanel.java similarity index 94% rename from src/main/java/com/itextpdf/rups/view/RupsPanel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/RupsPanel.java index 91a3a3c0..aedb7bf6 100644 --- a/src/main/java/com/itextpdf/rups/view/RupsPanel.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsPanel.java @@ -49,8 +49,8 @@ This file is part of the iText (R) project. import javax.swing.JPanel; /** - * A subclass of JPanel to allow for a tie between a tab ({@link com.itextpdf.rups.view.RupsTabbedPane RupsTabbedPane}) - * and its related {@link com.itextpdf.rups.controller.RupsInstanceController RupsInstanceController}. + * A subclass of JPanel to allow for a tie between a tab ({@link RupsTabbedPane RupsTabbedPane}) + * and its related {@link RupsInstanceController RupsInstanceController}. */ public class RupsPanel extends JPanel { diff --git a/src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java similarity index 94% rename from src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java index b0525ecd..7b57341a 100644 --- a/src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/RupsTabbedPane.java @@ -54,8 +54,8 @@ This file is part of the iText (R) project. /** * The class holding the JTabbedPane that holds the Rups tabs. This class is responsible for loading, closing, and - * saving PDF files handled by the {@link com.itextpdf.rups.controller.RupsInstanceController rupsInstanceController} - * object that is tied to a {@link com.itextpdf.rups.view.RupsPanel RupsPanel}, which is the main content pane for the + * saving PDF files handled by the {@link RupsInstanceController rupsInstanceController} + * object that is tied to a {@link RupsPanel RupsPanel}, which is the main content pane for the * tabs in the JTabbedPane. */ public class RupsTabbedPane { @@ -127,7 +127,7 @@ public boolean isFileAlreadyOpen(File file) { RupsPanel rupsPanel = (RupsPanel) component; PdfFile pdfFile = rupsPanel.getPdfFile(); File directory = pdfFile.getDirectory(); - String fileName = pdfFile.getFilename(); + String fileName = pdfFile.getFileName(); File openedFile = new File(directory, fileName); diff --git a/src/main/java/com/itextpdf/rups/view/StyleAppender.java b/itext-rups/src/main/java/com/itextpdf/rups/view/StyleAppender.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/StyleAppender.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/StyleAppender.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/AbstractRupsAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/AbstractRupsAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/AbstractRupsAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/AbstractRupsAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/ClearConsoleAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ClearConsoleAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/ClearConsoleAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ClearConsoleAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenu.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenu.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenu.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenu.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/ContextMenuMouseListener.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ContextMenuMouseListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/ContextMenuMouseListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/ContextMenuMouseListener.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/CopyToClipboardAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/CopyToClipboardAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/CopyToClipboardAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/CopyToClipboardAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/InspectObjectAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/InspectObjectAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/InspectObjectAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/InspectObjectAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenu.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenu.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenu.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenu.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenuMouseListener.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenuMouseListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenuMouseListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/PdfTreeContextMenuMouseListener.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/SaveImageAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveImageAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/SaveImageAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveImageAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFileJTextPaneAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFileJTextPaneAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFileJTextPaneAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFileJTextPaneAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFilePdfTreeAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFilePdfTreeAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFilePdfTreeAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToFilePdfTreeAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToPdfStreamJTextPaneAction.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToPdfStreamJTextPaneAction.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/SaveToPdfStreamJTextPaneAction.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/SaveToPdfStreamJTextPaneAction.java diff --git a/src/main/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenu.java b/itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenu.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenu.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenu.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/FrameIconUtil.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/FrameIconUtil.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/FrameIconUtil.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/FrameIconUtil.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/IconActionListener.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconActionListener.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/IconActionListener.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconActionListener.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/IconButton.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconButton.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/IconButton.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconButton.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/IconFetcher.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconFetcher.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/IconFetcher.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconFetcher.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/IconTreeCellRenderer.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconTreeCellRenderer.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/IconTreeCellRenderer.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconTreeCellRenderer.java diff --git a/src/main/java/com/itextpdf/rups/view/icons/IconTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/icons/IconTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/icons/IconTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/FormTree.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/FormTree.java similarity index 99% rename from src/main/java/com/itextpdf/rups/view/itext/FormTree.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/FormTree.java index 2fc02c2f..9af8c06c 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/FormTree.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/FormTree.java @@ -55,6 +55,7 @@ This file is part of the iText (R) project. import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; import com.itextpdf.rups.view.itext.treenodes.PdfTrailerTreeNode; import com.itextpdf.rups.view.itext.treenodes.XfaTreeNode; + import org.dom4j.DocumentException; import javax.swing.JTree; diff --git a/src/main/java/com/itextpdf/rups/view/itext/OutlineTree.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/OutlineTree.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/OutlineTree.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/OutlineTree.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/PageEnumerator.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PageEnumerator.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/PageEnumerator.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/PageEnumerator.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/PagesTable.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PagesTable.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/PagesTable.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/PagesTable.java index 72d09ed7..2e416908 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/PagesTable.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PagesTable.java @@ -49,12 +49,12 @@ This file is part of the iText (R) project. import com.itextpdf.rups.model.ObjectLoader; import com.itextpdf.rups.model.TreeNodeFactory; import com.itextpdf.rups.view.Language; -import com.itextpdf.rups.view.PageSelectionListener; import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; import com.itextpdf.rups.view.itext.treenodes.PdfPageTreeNode; import com.itextpdf.rups.view.itext.treenodes.PdfTrailerTreeNode; import com.itextpdf.rups.view.models.JTableAutoModel; import com.itextpdf.rups.view.models.JTableAutoModelInterface; +import com.itextpdf.rups.view.PageSelectionListener; import javax.swing.JTable; import javax.swing.event.ListSelectionEvent; diff --git a/src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java index 21f4e467..37ce9581 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfObjectPanel.java @@ -55,12 +55,12 @@ This file is part of the iText (R) project. import com.itextpdf.rups.event.RupsEvent; import com.itextpdf.rups.model.PdfSyntaxParser; import com.itextpdf.rups.view.Language; -import com.itextpdf.rups.view.icons.IconFetcher; import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; import com.itextpdf.rups.view.models.AbstractPdfObjectPanelTableModel; import com.itextpdf.rups.view.models.DictionaryTableModel; import com.itextpdf.rups.view.models.DictionaryTableModelButton; import com.itextpdf.rups.view.models.PdfArrayTableModel; +import com.itextpdf.rups.view.icons.IconFetcher; import java.awt.CardLayout; import java.awt.event.MouseAdapter; diff --git a/src/main/java/com/itextpdf/rups/view/itext/PdfTree.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfTree.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/PdfTree.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfTree.java index c195f41b..37606c28 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/PdfTree.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PdfTree.java @@ -44,11 +44,11 @@ This file is part of the iText (R) project. import com.itextpdf.rups.controller.PdfReaderController; import com.itextpdf.rups.event.RupsEvent; -import com.itextpdf.rups.io.listeners.PdfTreeExpansionListener; -import com.itextpdf.rups.io.listeners.PdfTreeNavigationListener; import com.itextpdf.rups.view.icons.IconTreeCellRenderer; import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; import com.itextpdf.rups.view.itext.treenodes.PdfTrailerTreeNode; +import com.itextpdf.rups.io.listeners.PdfTreeExpansionListener; +import com.itextpdf.rups.io.listeners.PdfTreeNavigationListener; import javax.swing.JTree; import javax.swing.tree.DefaultTreeModel; diff --git a/src/main/java/com/itextpdf/rups/view/itext/PlainText.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/PlainText.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/PlainText.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/PlainText.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/StructureTree.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/StructureTree.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/StructureTree.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/StructureTree.java index 96bf3876..01f13acd 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/StructureTree.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/StructureTree.java @@ -53,11 +53,11 @@ This file is part of the iText (R) project. import com.itextpdf.rups.model.TreeNodeFactory; import com.itextpdf.rups.view.Language; import com.itextpdf.rups.view.icons.IconTreeCellRenderer; -import com.itextpdf.rups.view.itext.contentstream.MarkedContentInfoGatherer; -import com.itextpdf.rups.view.itext.contentstream.MarkedContentInfo; import com.itextpdf.rups.view.itext.treenodes.PdfObjectTreeNode; import com.itextpdf.rups.view.itext.treenodes.PdfTrailerTreeNode; import com.itextpdf.rups.view.itext.treenodes.StructureTreeNode; +import com.itextpdf.rups.view.itext.contentstream.MarkedContentInfoGatherer; +import com.itextpdf.rups.view.itext.contentstream.MarkedContentInfo; import java.util.concurrent.ConcurrentHashMap; import javax.swing.JTree; diff --git a/src/main/java/com/itextpdf/rups/view/itext/SyntaxHighlightedStreamPane.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/SyntaxHighlightedStreamPane.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/SyntaxHighlightedStreamPane.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/SyntaxHighlightedStreamPane.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/XRefTable.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/XRefTable.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/XRefTable.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/XRefTable.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/XfaTextArea.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/XfaTextArea.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/XfaTextArea.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/XfaTextArea.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/XfaTree.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/XfaTree.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/XfaTree.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/XfaTree.java index 84f4828d..178752bc 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/XfaTree.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/XfaTree.java @@ -43,9 +43,9 @@ This file is part of the iText (R) project. package com.itextpdf.rups.view.itext; import com.itextpdf.rups.model.XfaFile; +import com.itextpdf.rups.view.itext.treenodes.XdpTreeNode; import com.itextpdf.rups.view.icons.IconTreeCellRenderer; import com.itextpdf.rups.view.icons.IconTreeNode; -import com.itextpdf.rups.view.itext.treenodes.XdpTreeNode; import javax.swing.JTree; import javax.swing.tree.DefaultTreeModel; diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamHandlingUtils.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamHandlingUtils.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamHandlingUtils.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamHandlingUtils.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java index c4355091..400f71d9 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamStyleConstants.java @@ -43,8 +43,8 @@ This file is part of the iText (R) project. package com.itextpdf.rups.view.itext.contentstream; import com.itextpdf.rups.RupsConfiguration; -import com.itextpdf.rups.view.Language; import com.itextpdf.rups.view.contextmenu.SaveImageAction; +import com.itextpdf.rups.view.Language; import java.awt.Color; import java.awt.image.BufferedImage; diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java similarity index 99% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java index 131d9b4b..b848ecd7 100644 --- a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java +++ b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ContentStreamWriter.java @@ -44,7 +44,7 @@ This file is part of the iText (R) project. import com.itextpdf.commons.exceptions.ITextException; import com.itextpdf.io.font.PdfEncodings; -import com.itextpdf.rups.RupsConfiguration; + import com.itextpdf.rups.view.Language; import java.util.Locale; diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/ControlledBinaryEditsFilter.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ControlledBinaryEditsFilter.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/ControlledBinaryEditsFilter.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/ControlledBinaryEditsFilter.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/IMixedContentInterface.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/IMixedContentInterface.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/IMixedContentInterface.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/IMixedContentInterface.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfo.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfo.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfo.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfo.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGatherer.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGatherer.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGatherer.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGatherer.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocument.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocument.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocument.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocument.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/FormTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/FormTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/FormTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/FormTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/OutlineTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/OutlineTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/OutlineTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/OutlineTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfObjectTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfObjectTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfObjectTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfObjectTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPageTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPageTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPageTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPageTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPagesTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPagesTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPagesTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfPagesTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfTrailerTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfTrailerTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfTrailerTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/PdfTrailerTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/StructureTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/StructureTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/StructureTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/StructureTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/XdpTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/XdpTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/XdpTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/XdpTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/itext/treenodes/XfaTreeNode.java b/itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/XfaTreeNode.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/itext/treenodes/XfaTreeNode.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/itext/treenodes/XfaTreeNode.java diff --git a/src/main/java/com/itextpdf/rups/view/models/AbstractPdfObjectPanelTableModel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/AbstractPdfObjectPanelTableModel.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/AbstractPdfObjectPanelTableModel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/AbstractPdfObjectPanelTableModel.java diff --git a/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModel.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/DictionaryTableModel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModel.java diff --git a/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModelButton.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModelButton.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/DictionaryTableModelButton.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/DictionaryTableModelButton.java diff --git a/src/main/java/com/itextpdf/rups/view/models/JTableAutoModel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/JTableAutoModel.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/JTableAutoModel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/JTableAutoModel.java diff --git a/src/main/java/com/itextpdf/rups/view/models/JTableAutoModelInterface.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/JTableAutoModelInterface.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/JTableAutoModelInterface.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/JTableAutoModelInterface.java diff --git a/src/main/java/com/itextpdf/rups/view/models/PdfArrayTableModel.java b/itext-rups/src/main/java/com/itextpdf/rups/view/models/PdfArrayTableModel.java similarity index 100% rename from src/main/java/com/itextpdf/rups/view/models/PdfArrayTableModel.java rename to itext-rups/src/main/java/com/itextpdf/rups/view/models/PdfArrayTableModel.java diff --git a/src/main/resources/bundles/rups-lang.properties b/itext-rups/src/main/resources/bundles/rups-lang.properties similarity index 100% rename from src/main/resources/bundles/rups-lang.properties rename to itext-rups/src/main/resources/bundles/rups-lang.properties diff --git a/src/main/resources/bundles/rups-lang_en_US.properties b/itext-rups/src/main/resources/bundles/rups-lang_en_US.properties similarity index 100% rename from src/main/resources/bundles/rups-lang_en_US.properties rename to itext-rups/src/main/resources/bundles/rups-lang_en_US.properties diff --git a/src/main/resources/bundles/rups-lang_nl_NL.properties b/itext-rups/src/main/resources/bundles/rups-lang_nl_NL.properties similarity index 100% rename from src/main/resources/bundles/rups-lang_nl_NL.properties rename to itext-rups/src/main/resources/bundles/rups-lang_nl_NL.properties diff --git a/src/main/resources/com/itextpdf/rups/logo.png b/itext-rups/src/main/resources/com/itextpdf/rups/logo.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/logo.png rename to itext-rups/src/main/resources/com/itextpdf/rups/logo.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/add.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/add.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/add.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/add.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/array.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/array.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/array.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/array.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/attribute.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/attribute.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/attribute.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/attribute.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/boolean.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/boolean.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/boolean.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/boolean.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/bullet_go.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/bullet_go.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/bullet_go.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/bullet_go.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/chart_organisation.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/chart_organisation.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/chart_organisation.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/chart_organisation.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/copyright_notice.txt b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/copyright_notice.txt similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/copyright_notice.txt rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/copyright_notice.txt diff --git a/src/main/resources/com/itextpdf/rups/view/icons/cross.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/cross.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/cross.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/cross.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/dictionary.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/dictionary.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/dictionary.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/dictionary.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/form.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/form.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/form.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/form.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/name.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/name.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/name.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/name.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/navigation_first.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_first.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/navigation_first.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_first.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/navigation_last.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_last.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/navigation_last.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_last.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/navigation_next.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_next.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/navigation_next.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_next.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/navigation_previous.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_previous.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/navigation_previous.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/navigation_previous.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/null.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/null.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/null.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/null.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/number.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/number.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/number.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/number.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/outline.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/outline.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/outline.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/outline.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/page.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/page.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/page.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/page.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/pages.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pages.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/pages.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pages.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/pdf.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pdf.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/pdf.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pdf.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/pi.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pi.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/pi.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/pi.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/ref.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/ref.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/ref.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/ref.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/ref_recursive.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/ref_recursive.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/ref_recursive.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/ref_recursive.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/stream.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/stream.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/stream.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/stream.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/string.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/string.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/string.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/string.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/tag.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/tag.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/tag.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/tag.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/text.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/text.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/text.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/text.png diff --git a/src/main/resources/com/itextpdf/rups/view/icons/xfa.png b/itext-rups/src/main/resources/com/itextpdf/rups/view/icons/xfa.png similarity index 100% rename from src/main/resources/com/itextpdf/rups/view/icons/xfa.png rename to itext-rups/src/main/resources/com/itextpdf/rups/view/icons/xfa.png diff --git a/src/main/resources/config/default.properties b/itext-rups/src/main/resources/config/default.properties similarity index 100% rename from src/main/resources/config/default.properties rename to itext-rups/src/main/resources/config/default.properties diff --git a/src/main/resources/logback.xml b/itext-rups/src/main/resources/logback.xml similarity index 100% rename from src/main/resources/logback.xml rename to itext-rups/src/main/resources/logback.xml diff --git a/src/test/java/com/itextpdf/rups/RupsConfigurationTest.java b/itext-rups/src/test/java/com/itextpdf/rups/RupsConfigurationTest.java similarity index 99% rename from src/test/java/com/itextpdf/rups/RupsConfigurationTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/RupsConfigurationTest.java index 9f9f4021..0db571ff 100644 --- a/src/test/java/com/itextpdf/rups/RupsConfigurationTest.java +++ b/itext-rups/src/test/java/com/itextpdf/rups/RupsConfigurationTest.java @@ -50,7 +50,6 @@ This file is part of the iText (R) project. import javax.swing.WindowConstants; import org.junit.AfterClass; import org.junit.Assert; -import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; diff --git a/src/test/java/com/itextpdf/rups/controller/RupsControllerTest.java b/itext-rups/src/test/java/com/itextpdf/rups/controller/RupsControllerTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/controller/RupsControllerTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/controller/RupsControllerTest.java diff --git a/src/test/java/com/itextpdf/rups/io/OpenInViewerActionTest.java b/itext-rups/src/test/java/com/itextpdf/rups/io/OpenInViewerActionTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/io/OpenInViewerActionTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/io/OpenInViewerActionTest.java diff --git a/src/test/java/com/itextpdf/rups/io/filters/PdfFilterTest.java b/itext-rups/src/test/java/com/itextpdf/rups/io/filters/PdfFilterTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/io/filters/PdfFilterTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/io/filters/PdfFilterTest.java diff --git a/src/test/java/com/itextpdf/rups/mock/MockedBackgroundTask.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedBackgroundTask.java similarity index 100% rename from src/test/java/com/itextpdf/rups/mock/MockedBackgroundTask.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedBackgroundTask.java diff --git a/src/test/java/com/itextpdf/rups/mock/MockedDropTargetDropEvent.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedDropTargetDropEvent.java similarity index 100% rename from src/test/java/com/itextpdf/rups/mock/MockedDropTargetDropEvent.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedDropTargetDropEvent.java diff --git a/src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java similarity index 98% rename from src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java index 405976df..3929b2d3 100644 --- a/src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java +++ b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedPdfFile.java @@ -69,7 +69,7 @@ protected void readFile(InputStream fis, boolean checkPass, boolean readOnly) th } @Override - public String getFilename() { + public String getFileName() { return "mock.pdf"; } diff --git a/src/test/java/com/itextpdf/rups/mock/MockedRupsController.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedRupsController.java similarity index 87% rename from src/test/java/com/itextpdf/rups/mock/MockedRupsController.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedRupsController.java index 57349edb..3510d3d9 100644 --- a/src/test/java/com/itextpdf/rups/mock/MockedRupsController.java +++ b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedRupsController.java @@ -42,13 +42,16 @@ This file is part of the iText (R) project. */ package com.itextpdf.rups.mock; -import com.itextpdf.rups.controller.IRupsController; +import com.itextpdf.rups.api.IPdfController; +import com.itextpdf.rups.api.IPdfFile; +import com.itextpdf.rups.api.IRupsController; import com.itextpdf.rups.model.PdfFile; import java.awt.Component; import java.io.File; +import java.util.Collection; -public class MockedRupsController implements IRupsController { +public class MockedRupsController implements IRupsController, IPdfController { private int openCount = 0; @@ -67,8 +70,13 @@ public Component getMasterComponent() { } @Override - public PdfFile getCurrentFile() { - return this.pdfFile; + public IPdfFile getPdfFile() { + return pdfFile; + } + + @Override + public Collection getAllOpenPdfFiles() { + return null; } @Override diff --git a/src/test/java/com/itextpdf/rups/mock/MockedSystemViewer.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedSystemViewer.java similarity index 100% rename from src/test/java/com/itextpdf/rups/mock/MockedSystemViewer.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedSystemViewer.java diff --git a/src/test/java/com/itextpdf/rups/mock/MockedTransferable.java b/itext-rups/src/test/java/com/itextpdf/rups/mock/MockedTransferable.java similarity index 100% rename from src/test/java/com/itextpdf/rups/mock/MockedTransferable.java rename to itext-rups/src/test/java/com/itextpdf/rups/mock/MockedTransferable.java diff --git a/src/test/java/com/itextpdf/rups/model/BackgroundTaskTest.java b/itext-rups/src/test/java/com/itextpdf/rups/model/BackgroundTaskTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/model/BackgroundTaskTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/model/BackgroundTaskTest.java diff --git a/src/test/java/com/itextpdf/rups/model/PdfSyntaxUtilsTest.java b/itext-rups/src/test/java/com/itextpdf/rups/model/PdfSyntaxUtilsTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/model/PdfSyntaxUtilsTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/model/PdfSyntaxUtilsTest.java diff --git a/itext-rups/src/test/java/com/itextpdf/rups/plugins/DefaultPluginLoaderTest.java b/itext-rups/src/test/java/com/itextpdf/rups/plugins/DefaultPluginLoaderTest.java new file mode 100644 index 00000000..f54b450b --- /dev/null +++ b/itext-rups/src/test/java/com/itextpdf/rups/plugins/DefaultPluginLoaderTest.java @@ -0,0 +1,27 @@ +package com.itextpdf.rups.plugins; + +import com.itextpdf.rups.api.RupsPluginContext; +import com.itextpdf.test.annotations.type.UnitTest; + +import java.io.File; +import java.lang.reflect.InvocationTargetException; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +@Category(UnitTest.class) +public class DefaultPluginLoaderTest { + + @Test + public void test() + throws ClassNotFoundException, InvocationTargetException, InstantiationException, IllegalAccessException { + /**IPluginLoader pluginLoader = new DefaultPluginLoader(); + + File[] files = pluginLoader.fetchPlugins( + new File( + "C:\\Users\\michael.demey\\.m2\\repository\\com\\itextpdf\\rups-pdfrender\\1.0-SNAPSHOT" + ) + ); + + pluginLoader.loadPlugins(files, new RupsPluginContext());*/ + } +} diff --git a/src/test/java/com/itextpdf/rups/view/DebugViewTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/DebugViewTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/DebugViewTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/DebugViewTest.java diff --git a/src/test/java/com/itextpdf/rups/view/LanguageTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/LanguageTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/LanguageTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/LanguageTest.java diff --git a/src/test/java/com/itextpdf/rups/view/RupsDropTargetTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/RupsDropTargetTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/RupsDropTargetTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/RupsDropTargetTest.java diff --git a/src/test/java/com/itextpdf/rups/view/RupsTabbedPaneTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/RupsTabbedPaneTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/RupsTabbedPaneTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/RupsTabbedPaneTest.java diff --git a/src/test/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenuTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenuTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenuTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/contextmenu/ConsoleContextMenuTest.java diff --git a/src/test/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenuTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenuTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenuTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/contextmenu/StreamPanelContextMenuTest.java diff --git a/src/test/java/com/itextpdf/rups/view/icons/FrameIconUtilTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/icons/FrameIconUtilTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/icons/FrameIconUtilTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/icons/FrameIconUtilTest.java diff --git a/src/test/java/com/itextpdf/rups/view/icons/IconFetcherTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/icons/IconFetcherTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/icons/IconFetcherTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/icons/IconFetcherTest.java diff --git a/src/test/java/com/itextpdf/rups/view/itext/FormTreeTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/FormTreeTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/itext/FormTreeTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/itext/FormTreeTest.java diff --git a/src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java similarity index 98% rename from src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java index 6b88a665..74ac2d05 100644 --- a/src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java +++ b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/StructureTreeTest.java @@ -88,9 +88,8 @@ public void extractMcidContentInStructureTreeWithActualTextTest() throws IOExcep } private static StructureTreeNode getStructureTreeRootNode(PdfFile pdfFile) { - PdfReaderController controller = new PdfReaderController(null, null); - ObjectLoader loader = new ObjectLoader(controller, pdfFile, pdfFile.getFilename(), new DummyProgressDialog()); + ObjectLoader loader = new ObjectLoader(controller, pdfFile, pdfFile.getFileName(), new DummyProgressDialog()); // preload everything loader.doTask(); diff --git a/src/test/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGathererTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGathererTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGathererTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/MarkedContentInfoGathererTest.java diff --git a/src/test/java/com/itextpdf/rups/view/itext/contentstream/PdfDocEncodingHeuristicTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/PdfDocEncodingHeuristicTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/itext/contentstream/PdfDocEncodingHeuristicTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/PdfDocEncodingHeuristicTest.java diff --git a/src/test/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocumentTest.java b/itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocumentTest.java similarity index 100% rename from src/test/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocumentTest.java rename to itext-rups/src/test/java/com/itextpdf/rups/view/itext/contentstream/StyledSyntaxDocumentTest.java diff --git a/src/test/resources/com/itextpdf/rups/controller/hello_world.pdf b/itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world.pdf similarity index 100% rename from src/test/resources/com/itextpdf/rups/controller/hello_world.pdf rename to itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world.pdf diff --git a/src/test/resources/com/itextpdf/rups/controller/hello_world_copy.pdf b/itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_copy.pdf similarity index 100% rename from src/test/resources/com/itextpdf/rups/controller/hello_world_copy.pdf rename to itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_copy.pdf diff --git a/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged.pdf b/itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged.pdf similarity index 100% rename from src/test/resources/com/itextpdf/rups/controller/hello_world_tagged.pdf rename to itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged.pdf diff --git a/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged_actualtext.pdf b/itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged_actualtext.pdf similarity index 100% rename from src/test/resources/com/itextpdf/rups/controller/hello_world_tagged_actualtext.pdf rename to itext-rups/src/test/resources/com/itextpdf/rups/controller/hello_world_tagged_actualtext.pdf diff --git a/src/test/resources/com/itextpdf/rups/view/itext/cmp_purchase_order_filled.pdf b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/cmp_purchase_order_filled.pdf similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/cmp_purchase_order_filled.pdf rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/cmp_purchase_order_filled.pdf diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16be.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16be.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16be.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16be.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16beResult.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16beResult.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16beResult.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf16beResult.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_1.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_1.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_1.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_1.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_2.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_2.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_2.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/almostUtf8_2.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/baseline.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/baseline.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/baseline.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/baseline.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/bogusEI.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/bogusEI.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/bogusEI.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/bogusEI.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithCorruptInlineImg.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithCorruptInlineImg.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithCorruptInlineImg.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithCorruptInlineImg.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithInlineImg.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithInlineImg.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithInlineImg.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/charprocWithInlineImg.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/markedContent.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/markedContent.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/markedContent.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/markedContent.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/simpleTJ.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/simpleTJ.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/simpleTJ.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/simpleTJ.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBin.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBin.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBin.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBin.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBinResult.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBinResult.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBinResult.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/stringWithBinResult.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf16be.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf16be.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf16be.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf16be.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8.cmp diff --git a/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8replaced.cmp b/itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8replaced.cmp similarity index 100% rename from src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8replaced.cmp rename to itext-rups/src/test/resources/com/itextpdf/rups/view/itext/contentStreamSnippets/utf8replaced.cmp diff --git a/pom.xml b/pom.xml index 7d9edeaa..7ecf75b0 100644 --- a/pom.xml +++ b/pom.xml @@ -9,9 +9,10 @@ - itext-rups + itext-rups-parent + pom - itext-rups + itext-rups-parent RUPS, a tool to view PDF structure in a Swing GUI. https://itextpdf.com/products/rups @@ -45,6 +46,11 @@ + + itext-rups + itext-rups-api + + ssh://git@git.itextsupport.com:7999/i7j/rups.git https://git.itextsupport.com/projects/I7J/repos/rups @@ -60,45 +66,6 @@ RUPS - - - ch.qos.logback - logback-classic - ${logback.version} - - - ch.qos.logback - logback-core - ${logback.version} - - - com.ibm.icu - icu4j - 69.1 - - - com.itextpdf - io - ${itext.version} - - - com.itextpdf - kernel - ${itext.version} - - - org.dom4j - dom4j - ${dom4j.version} - - - com.itextpdf - pdftest - ${itext.version} - test - - - @@ -123,209 +90,4 @@ https://repo.itextsupport.com/releases - - - ${project.artifactId}-${project.version} - - - org.apache.felix - maven-bundle-plugin - 5.1.4 - - - maven-assembly-plugin - ${assembly-plugin.version} - - - make-assembly - package - - single - - - - src/assembly/jar-with-dependencies-excluded-poms.xml - - false - - - com.itextpdf.rups.RupsLauncher - - - - - - exe-archive - - - src/assembly/exe-archive.xml - - - - - - - maven-jar-plugin - - - - true - com.itextpdf.rups.RupsLauncher - - - - - - - - - - qa - - - - com.github.siom79.japicmp - japicmp-maven-plugin - - true - - - - - - - exe - - - - com.akathist.maven.plugins.launch4j - launch4j-maven-plugin - ${launch4j.version} - - - l4j-gui - package - - launch4j - - - false - gui - target/Rups.exe - target/${project.artifactId}-${project.version}.jar - Rups - config/logo.ico - - com.itextpdf.rups.RupsLauncher - true - anything - - - 1.7.0 - - - - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${parsedVersion.buildNumber} - ${project.version} - Rups, object view of pdf content - AGPL - - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${parsedVersion.buildNumber} - ${project.version} - Rups - itext-rups - Rups.exe - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.0.0 - - - parse-version - - parse-version - - - - attach-exe-artifact - - - - ${project.build.directory}/${project.artifactId}-${project.version}-exe-archive.zip - zip - exe-archive - - - - - - - - - - - mac - - - - src/main/resources - - - config - - - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - - Update Info.plist - package - - exec - - - sed - - -ie - s/{project.version}/${project.version}/g - ${project.build.outputDirectory}/Info.plist - - - - - - - sh.tak.appbundler - appbundle-maven-plugin - 1.2.0 - - - package - - bundle - - - - - com.itextpdf.rups.RupsLauncher - Info.plist - false - logo.icns - - - - - - - \ No newline at end of file + From 4b2dea853acd14a93e51327dbf5c3f7bcf52d31e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Demey?= Date: Thu, 23 Jun 2022 16:24:57 +0200 Subject: [PATCH 2/2] Version Numbers. RES-695 --- itext-rups-api/pom.xml | 2 +- itext-rups/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/itext-rups-api/pom.xml b/itext-rups-api/pom.xml index 812796b9..17a4d627 100644 --- a/itext-rups-api/pom.xml +++ b/itext-rups-api/pom.xml @@ -5,7 +5,7 @@ com.itextpdf itext-rups-parent - 7.2.3-SNAPSHOT + 7.2.4-SNAPSHOT itext-rups-api diff --git a/itext-rups/pom.xml b/itext-rups/pom.xml index 3be29899..07b6d7e8 100644 --- a/itext-rups/pom.xml +++ b/itext-rups/pom.xml @@ -5,7 +5,7 @@ com.itextpdf itext-rups-parent - 7.2.3-SNAPSHOT + 7.2.4-SNAPSHOT itext-rups